1.ATmega16单片机具有21个中止源。每个中止源都有一个独立的中止向量作为中止服务程序的进口地址,并且一切的中止源都有自己独立的使能位。假如大局中止I和相应的中止使能位都置位,则在中止标志方位位时将碑文中止服务程序。
2.一个中止发生后,大局中止使能位I将被清零,后的中止被屏蔽。用户能够在中止服务程序里面临I置位然后开大局中止,在中止回来后大局中止I将从头置位。
3.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)
- 使能外部中止(寄存器G%&&&&&%R)
- 设置中止管脚(是否需求上拉电阻,若是,则设置INT0、INT1、INT2地点IO口引脚为输出且上拉电阻)
- 翻开大局中止(寄存器SREG)
- 挑选中止号,写中止服务程序。