嵌入式学习笔记20——AVR单片机之中断
2.一个中断产生后,全局中断使能位I将被清零,后的中断被屏蔽。用户可以在中断服务程序里面对I置位从而开全局中断,在中断返回后全局中断I将重新置位。
本文引用地址:https://www.eepw.com.cn/article/201611/318678.htm3.ATmega16单片机中断向量表介绍:
4.AVR单片机外部中断
- ATmega16单片机具有3个外部中断,分别是INT0,INT1,INT2,这3个外部中断都是有单片机的引脚触发的。
- 需要注意的是,如果允许外部中断的话,即使INT0,INT1,INT2这3个引脚都设置为输出方式,外部中断也会触发。
- INT0,INT1外部中断可以选择的触发方式有上升沿触发、下降沿触发以及低电平触发;INT2只有跳变沿触发(即上升沿触发或下降沿触发),没有电平触发。
- 使用外部中断涉及到的寄存器有:MCU控制寄存器MCUCR,MCU控制欲状态寄存器MCUCSR,通用中断控制寄存器GICR,通用中断状态寄存器GIFR。
ISC11和ISC10——外部中断1,ISC01和ISC00——外部中断0
只需关心ISC2位,为零时下降沿触发中断;为1时上升沿触发中断。
第7位——全中断使能位
各单独中断源中断使能
使用外部中断函数可以不用关心此寄存器,也可以软件查询。
5.
6.外部中断的使用步骤
- 设置外部中断触发方式(寄存器MCUCR——INT0、INT1,MCUCSR——INT2)
- 使能外部中断(寄存器GICR)
- 设置中断管脚(是否需要上拉电阻,若是,则设置INT0、INT1、INT2所在IO口引脚为输出且上拉电阻)
- 打开全局中断(寄存器SREG)
- 选择中断号,写中断服务程序。

评论