[Atmel] 用AtmelStudio6.2跑mega16例程(32)单片机报警器

[复制链接]
 楼主| ddllxxrr 发表于 2014-10-13 22:40 | 显示全部楼层 |阅读模式
本帖最后由 ddllxxrr 于 2014-10-14 20:47 编辑

这个电路是用一个开关控制一个蜂鸣器的发音。就是按高低高低的不同来发音,当改变周期时,就改变了音频。

以下是仿真截图:


以下是Studio6.2编译通过截图:


以下是程序:
  1. /*
  2. * GccApplication17.c
  3. *
  4. * Created: 2014-10-13 20:34:34
  5. *  Author: Administrator
  6. */
  7. #define __DELAY_BACKWARD_COMPATIBLE__
  8. #define F_CPU 0x8000000UL
  9. #include <avr/io.h>
  10. #include <util/delay.h>
  11. #include <stdint.h>

  12. #define  S1_ON() ((PIND & _BV(PD7))== 0x80)
  13. #define  SPK() (PORTD ^= _BV(PD0))

  14. void Alarm(uint8_t mytime )
  15. {
  16.         uint8_t i;
  17.         for(i=0;i<200;i++)
  18.         {
  19.                 SPK();_delay_us(mytime);
  20.         }
  21.         
  22. }
  23. int main(void)
  24. {
  25.     DDRD = 0x7F;
  26.         PORTD = 0xFF;
  27.         
  28.         while(1)
  29.     {
  30.         //TODO:: Please write your application code
  31.                 if(S1_ON())
  32.                 {
  33.                            Alarm(3);
  34.                            Alarm(50);
  35.         }
  36.    }
  37. }
  38.    


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2403

主题

6994

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2403

主题

6994

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部