欢迎来到天天文库
浏览记录
ID:58700966
大小:904.00 KB
页数:116页
时间:2020-10-04
《第4章-ATmega-单片机的中断系统和定时器ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章ATmega单片机的中断系统及定时器内容提要本章介绍了ATmega单片机中断系统的工作原理及过程,并对单片机内部中断寄存器的用法做了详细的介绍,对单片机内部3个定时器/计数器的功能和和使用方法做了详尽的讲解,定时器/计数器还拥有信号捕获中断,比较中断,脉宽调制输出中断,实时时钟计数等功能。4.1ATmega单片机的中断系统4.1.1中断处理ATmega16L有18个不同的中断源,每个中断源和系统复位在程序存储器空间都有一个独立的中断向量,每个中断时间都有各自独立的中断允许控制位,当某个中断源的中断允许位置“1”,且状态寄存器中
2、的全局中断允许位也为“1”时,MCU才能响应中断,通过对启动锁定位BLB02和BLB12编程,也能禁止MCU响应中断。利用这一特性,可以提高系统的安全性。中断设置1、通过对BOOTRST熔丝位编程和GICR寄存器的IVSEL的设置,将系统复位向量和中断向量表置于FLASH程序存储器的应用程序区的头部2、转移到引导程序载入区的头部,分开置于不同的两个区各自的头部。当MCU响应一个中断请求后,会自动将全局中断允许位I自动清零,此时后续中断的响应被屏蔽,当MCU执行中断返回指令RETI时,会将全局中断允许位I自动置“1”,以允许响应下一个中
3、断,用户可在中断处理程序中I位置“1”,打开中断响应,这样MCU就可以再次响应中断,实现了中断嵌套处理。中断源基本上分为两种类型的中断:一类是时间触发型中断,另一类是条件中断,对于时间触发类中断(如时钟、计数、比较等),一旦事件产生后会将相应的中断标志位置位,申请中断处理,当MCU响应中断,跳转到实际中断向量,开启相应的中断处理程序时,硬件自动清除对应的中断标志,这些中断标志位也可通过软件写“1”来清除。当一个符合条件的中断触发置位了中断标志位,但相应的中断允许位为“0”,此时,这个中断标志将挂起为“1”,一直保持到该中断被响应或中断
4、标志被软件清为“0”。对于一些条件中断(如外部中断)来讲,它们没有中断标志位,在中断条件成立时,将一直不断的向MCU申请中断,如果在中断允许响应前,中断条件由成立状态变成不成立状态,该中断即宣告终止了。4.1.2外部中断外部中断通过引脚INT0,INT1(ATmega16L多一个INT2外部中断)触发。即使引脚INT0,1配置为输出,只要电平发生了合适的变化,中断也会触发。这个特点可以用来产生软件中断。通过设置MCU控制寄存器MCUCR,中断可以由下降沿、上升沿,或者是低电平触发。当外部中断使能并且配置为电平触发(INT0/INT1)
5、,只要引脚电平为低,中断就会产生。若要求INT0,INT1在信号下降沿或上升沿触发,I/O时钟必须工作。INT0/INT1的低电平中断检测是异步的。也就是说,这些中断可以用来将器件从睡眠模式唤醒。在睡眠过程(除了空闲模式)中I/O时钟是停止的。1、中断寄存器(1)MCU控制寄存器(MCUCR)图4.1MCU控制寄存器Bit3,2–ISC11,ISC10:外部中断1触发方式控制例4.1设置寄存器MCUCR,响应外部中断INT0为上升沿产生中断要求使用方法。MCUCR
6、=0x0c;//设置MCUCR寄存器位2、3(对照表4.1可知表示外部
7、中断INT1为上升沿产生中断要求)例4.2利用寄存器MCUCR,响应外部中断INT0,上升沿有效。MCUCR
8、=0x03;//设置MCUCR寄存器位0、1(对照表4.2可知表示外部中断INT0为上升沿产生中断要求)表4.1中断1触发方式控制如果SREG寄存器的标志位和相应的中断屏蔽位置位的话。外部中断0由引脚INT0激发。触发方式如表4.2所示。在检测边沿前MCU首先采样INT0引脚上的电平。若选择边沿触发方式或电平变化触发方式,持续时间大于一个时钟周期的脉冲将触发中断,过短的脉冲不能保证触发中断。若选择低电平触发方式,低电平必须保持
9、到当前指令执行完成中断0触发方式控制表4.2中断0触发方式控制(2)通用中断控制寄存器(GICR)Bit7-INT1:外部中断请求1使能Bit6-INT0:外部中断请求0使能例4.3利用控制寄存器GICR,设置INT1、INT0均使能外部中断使用程序。GICR=0xc0;//INT1、INT0均使能外部中断(见图4.2)(3)通用中断标志寄存器(GIFR)Bit7-INTF1:外部中断标志1例4.4GIFR=0x80//表示外部中断标志1置位(即表示启动了外部中断1)4.1.3中断响应1、中断响应的条件除了非屏蔽中断外,其它中断都可以
10、用软件来屏蔽或开放。系统只有具备如下的中断条件,CPU才可能对中断请求进行响应。(1)设置中断请求触发器每一个中断源,系统要求能发出中断请求信号,而且这个信号能保持着,直至CPU响应这个中断后,才可清除中断请求。故要求每
此文档下载收益归作者所有