[Atmel] 用AtmelStudio6.2跑mega16例程(53)DOG

[复制链接]
983|0
 楼主| ddllxxrr 发表于 2014-11-13 20:41 | 显示全部楼层 |阅读模式
本程正常运行红灯闪,当按一下键不喂狗时,黄灯亮。

以下是Proteus运行截图:


以下是Studio6.2编译的结果:


以下是程序清单:

  1. /*
  2. * GccApplication16.c
  3. *
  4. * Created: 2014-11-13 20:16:31
  5. *  Author: Administrator
  6. */

  7. #define F_CPU 1000000UL
  8. #include <avr/io.h>
  9. #include <avr/interrupt.h>
  10. #include <avr/wdt.h>
  11. #include <util/delay.h>
  12. #include <stdint.h>

  13. #define LED1_ON() (PORTC &=~_BV(PC0))
  14. #define LED1_OFF() (PORTC |= _BV(PC0))
  15. #define LED2_BLINK() (PORTC ^= _BV(PC5))

  16. int main(void)
  17. {
  18.     DDRC = 0xFF;PORTC = 0xFF;
  19.         DDRD = 0x00;PORTD = 0xFF;
  20.         LED1_ON();
  21.         _delay_ms(1600);
  22.        
  23.         MCUCR = 0x02;
  24.         GICR = _BV(INT0);
  25.         TCCR1B = 0x03;
  26.         TCNT1 = 65536 - F_CPU/64.0 * 1.5;
  27.         TIMSK = 0x04;
  28.         wdt_enable(WDTO_2S);
  29.         LED1_OFF();
  30.         sei();
  31.        
  32.        
  33.         while(1)
  34.     {
  35.         LED2_BLINK();
  36.                 _delay_ms(200);
  37.                 //TODO:: Please write your application code
  38.     }
  39. }

  40. ISR(TIMER1_OVF_vect)
  41. {
  42.    TCNT1 = 65536 - F_CPU/64 * 1.5;
  43.    wdt_reset();       
  44. }

  45. ISR(INT0_vect)
  46. {
  47.     TIMSK = 0x00;       
  48. }


本帖子中包含更多资源

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

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

本版积分规则

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

2404

主题

7001

帖子

68

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