网站大量收购闲置独家精品文档,联系QQ:2885784924

ATmega单片机的中断系统及定时器.ppt

  1. 1、本文档共116页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ATmega单片机的中断系统及定时器 内容提要 本章介绍了ATmega单片机中断系统的工作原理及过程,并对单片机内部中断寄存器的用法做了详细的介绍,对单片机内部3个定时器/计数器的功能和和使用方法做了详尽的讲解,定时器/计数器还拥有信号捕获中断,比较中断,脉宽调制输出中断,实时时钟计数等功能。 4.1 ATmega单片机的中断系统 4.1.1 中断处理 ATmega16L有18个不同的中断源,每个中断源和系统复位在程序存储器空间都有一个独立的中断向量,每个中断时间都有各自独立的中断允许控制位,当某个中断源的中断允许位置“1”,且状态寄存器中的全局中断允许位也为“1”时,MCU才能响应中断,通过对启动锁定位BLB02和BLB12编程,也能禁止MCU响应中断。利用这一特性,可以提高系统的安全性。 中断设置 1、通过对BOOTRST熔丝位编程和GICR寄存器的IVSEL的设置,将系统复位向量和中断向量表置于FLASH程序存储器的应用程序区的头部 2、转移到引导程序载入区的头部,分开置于不同的两个区各自的头部。 当MCU响应一个中断请求后,会自动将全局中断允许位I自动清零,此时后续中断的响应被屏蔽,当MCU执行中断返回指令RETI时,会将全局中断允许位I自动置“1”,以允许响应下一个中断,用户可在中断处理程序中I位置“1”,打开中断响应,这样MCU就可以再次响应中断,实现了中断嵌套处理。 中断源基本上分为两种类型的中断:一类是时间触发型中断,另一类是条件中断,对于时间触发类中断(如时钟、计数、比较等),一旦事件产生后会将相应的中断标志位置位,申请中断处理,当MCU响应中断,跳转到实际中断向量,开启相应的中断处理程序时,硬件自动清除对应的中断标志,这些中断标志位也可通过软件写“1”来清除。 当一个符合条件的中断触发置位了中断标志位,但相应的中断允许位为“0”,此时,这个中断标志将挂起为“1”,一直保持到该中断被响应或中断标志被软件清为“0”。 对于一些条件中断(如外部中断)来讲,它们没有中断标志位,在中断条件成立时,将一直不断的向MCU申请中断,如果在中断允许响应前,中断条件由成立状态变成不成立状态,该中断即宣告终止了。 4.1.2 外部中断 外部中断通过引脚INT0,INT1(ATmega16L多一个INT2外部中断)触发。即使引脚INT0,1配置为输出,只要电平发生了合适的变化,中断也会触发。这个特点可以用来产生软件中断。通过设置MCU控制寄存器MCUCR,中断可以由下降沿、上升沿,或者是低电平触发。 当外部中断使能并且配置为电平触发(INT0/INT1),只要引脚电平为低,中断就会产生。若要求INT0,INT1在信号下降沿或上升沿触发,I/O 时钟必须工作。INT0/INT1的低电平中断检测是异步的。也就是说,这些中断可以用来将器件从睡眠模式唤醒。在睡眠过程( 除了空闲模式) 中I/O时钟是停止的。 1、中断寄存器 (1)MCU控制寄存器( MCUCR) 图4.1 MCU控制寄存器 Bit 3, 2 –ISC11,ISC10: 外部中断1触发方式控制 例4.1 设置寄存器MCUCR,响应外部中断INT0为上升沿产生中断要求使用方法。 MCUCR |= 0x0c; //设置MCUCR寄存器位2、3(对照表4.1可知表示外部中断INT1为上升 沿产生中断要求) 例4.2 利用寄存器MCUCR,响应外部中断INT0,上升沿有效。 MCUCR |= 0x03; //设置MCUCR寄存器位0、1(对照表4.2可知表示外部中断INT0为上升沿产生中断要求) 表4.1 中断1 触发方式控制 如果SREG寄存器的标志位和相应的中断屏蔽位置位的话。外部中断0 由引脚INT0激发。触发方式如表4.2所示。在检测边沿前MCU首先采样INT0引脚上的电平。 若选择边沿触发方式或电平变化触发方式,持续时间大于一个时钟周期的脉冲将触发中断,过短的脉冲不能保证触发中断。 若选择低电平触发方式,低电平必须保持到当前指令执行完成 中断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.4 GIFR=0x80 //表示外部中断标志1置位(即表示启动了外部中断1) 4.1.3 中断响应 1、中断响应的条件 除了非屏蔽中断外,其它中断都可以用软件来屏蔽或开放。系

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档