原创 我也开始学AVR了,哈哈。WINAVR中断写法学习(上传Proteus 7仿真文件)

2009-12-7 09:06 5855 7 7 分类: MCU/ 嵌入式

最近的产品要用到AVR,所以抽点时间出来学习一下,不知道是不在倒退,现在才开始学AVR.不管那么多了。前段时间做USBASp用了一下m8,具体没有看代码,今天搞中断,搞了一天,总算是能运行了。开发环境不一样,中断写法也是不一样的,刚开始学什么都不懂,自己一个人慢慢摸索,很费事。WINAVR开发环境


ISR(INT0_vect) //INT0中断服务程序
{


//用户代码 


LED0_ON(); //点亮LED0
}
ISR(INT1_vect) //INT1中断服务程序
{
 LED0_OFF(); //点亮LED1
}


INT0_vect是在对应器件的头文件中定义的,比如iom8.h,iom16.h等


/* External Interrupt Request 0 */
#define INT0_vect   _VECTOR(1)
#define SIG_INTERRUPT0   _VECTOR(1)


其他的也就没有什么了,初始化相应的寄存器就没有问题了



 MCUCR=(1<<ISC11)|(0<<ISC10)|(1<<ISC01)|(0<<ISC00); 
 GIFR=(1<<INTF1)|(1<<INTF0)|(1<<INTF2);
 GICR=(1<<INT1)|(1<<INT0)|(1<<INT2); 


 sei();


希望能给和我一样刚开始学AVR的同志们有点帮助,哈哈。上传我的中断c文件和仿真文件

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条