ATmega128的中断系统.ppt
《ATmega128的中断系统.ppt》由会员分享,可在线阅读,更多相关《ATmega128的中断系统.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ATmega128的中断系统的中断系统 ATmega128的中断源和中断向量的中断源和中断向量 AVR一般拥有数十个中断源,每个中断源都有独立的中断向量一般拥有数十个中断源,每个中断源都有独立的中断向量。AVR的程序存储区的最低端,即从的程序存储区的最低端,即从Flash地址的地址的0 x0000开始开始用于放置中断向量,称作中断向量区。用于放置中断向量,称作中断向量区。各种型号的各种型号的AVR中断向量区的大小是不同的,由下式决定:中断向量区的大小是不同的,由下式决定:中断向量区大小中断向量区大小=中断源个数中断源个数 每个中断向量占据字数每个中断向量占据字数 AVR的的21个中断中,包含个
2、中断中,包含1个非屏蔽中断(个非屏蔽中断(RESET)3个外个外部中断(部中断(INT0、INT1、INT2)和)和17个内部中断,个内部中断,1.外部中断外部中断 INT0、INT1和和INT2是是3个外部中断源,它们是分别由芯片个外部中断源,它们是分别由芯片外部引脚外部引脚PD2、PD3、PB2上的电平的变化或状态触发的。通上的电平的变化或状态触发的。通过对控制寄存器过对控制寄存器MCUCR和控制与状态寄存器和控制与状态寄存器MCUCSR的配的配置,外部中断可以定义为由置,外部中断可以定义为由PD2、PD3、PB2引脚上的电平的引脚上的电平的下降沿、上升沿、逻辑电平变化,或者低电平(下降沿
3、、上升沿、逻辑电平变化,或者低电平(INT2仅支持仅支持电平变化的边沿触发)触发。电平变化的边沿触发)触发。3个定时计数器触发的内部中断个定时计数器触发的内部中断 MER2 COMP TIMER2 OVF 定时溢出定时溢出2TIMER1 CAPT 扑捉溢出扑捉溢出1TIMER1 COMPA 定时比较定时比较ATIMER1 COMPB 定时比较定时比较BTIMER1 OVF 定时溢出定时溢出2TIMER0 OVF 定时溢出定时溢出0TIMER0 COMP 定时比较定时比较0同步同步/异步串行接收和转发器异步串行接收和转发器USART的内部中断的内部中断USART RXC 接收一个字节接收一个字节
4、USART TXC 发送一个字节发送一个字节USART UDRE 发送数据寄存器为空发送数据寄存器为空 其它内部中断其它内部中断SPI STC为内部为内部SPI串行接口传送结束中断串行接口传送结束中断ADC为为ADC单元完成一次单元完成一次A/D转换的中断转换的中断EE_RDY是片内的是片内的EEPROM就绪(对就绪(对EEPROM的操作完成)中断的操作完成)中断ANA_COMP是由内置的模拟比较器输出引发的中断是由内置的模拟比较器输出引发的中断TWI为内部两线串行接口的中断为内部两线串行接口的中断SPM_RDY是对片内的是对片内的Flash写操作完成中断写操作完成中断ATmega16的中断控
5、制的中断控制中断优先级的确定中断优先级的确定1.在在AVR单片机中,一个中断在中断向量区中的位置决定了单片机中,一个中断在中断向量区中的位置决定了 它它的优先级,位于低地址的中断优先级高于位于高地址的中断。的优先级,位于低地址的中断优先级高于位于高地址的中断。2AVR单片机采用固定的硬件优先级方式,不支持通过软件对单片机采用固定的硬件优先级方式,不支持通过软件对中断优先级的重新设定。中断优先级的重新设定。AVR有两种机制不同的中断:有两种机制不同的中断:带有中断标志的中断(可挂起)带有中断标志的中断(可挂起)不带中断标志的中断(不能挂起)。不带中断标志的中断(不能挂起)。中断标志中断标志在在A
6、VR中,大多数的中断都属于带中断标志的中断。中,大多数的中断都属于带中断标志的中断。中断标志概念中断标志概念 每个中断源在其每个中断源在其I/O空间寄存器中具有自己的一个中断标志位。空间寄存器中具有自己的一个中断标志位。AVR的硬件系统在每个时钟周期内都会检测(接受)外部(内的硬件系统在每个时钟周期内都会检测(接受)外部(内部)中断源的中断条件。一旦中断条件满足,部)中断源的中断条件。一旦中断条件满足,AVR的硬件就会的硬件就会将置位相应的中断标志位(置为将置位相应的中断标志位(置为“1”),表示向),表示向MCU提起中断提起中断请求。请求。中断标志清除中断标志清除中断标志位一般在中断标志位一
7、般在MCU响应该中断时,由响应该中断时,由硬件自动清除硬件自动清除,或在,或在中断服务程序中通过中断服务程序中通过读读/写专门数据寄存器写专门数据寄存器的方式自动清除。的方式自动清除。中断标志位除了由硬件自动清除外也可以使用软件指令清除,中断标志位除了由硬件自动清除外也可以使用软件指令清除,注意:如用注意:如用软件方法清除软件方法清除,清除的方法是对其写,清除的方法是对其写“1”。不带(不设置)中断标志的中断:不带(不设置)中断标志的中断:如配置为低电平触发的外部中断即为此类型的中断如配置为低电平触发的外部中断即为此类型的中断低电平中断的重要应用是唤醒处于休眠工作模式的MCU。三、中断屏蔽与管
8、理三、中断屏蔽与管理 为全局中断允许控制位:为全局中断允许控制位:中断允许的总控制位中断允许的总控制位I(标志寄存器(标志寄存器SREG中的中的I标志位标志位SREG.7)每一个中断源都设置了独立的中断允许位每一个中断源都设置了独立的中断允许位 AVR对中断采用两级控制方式。对中断采用两级控制方式。这些中断允许位分散位于各中断源所属模块的控制寄存器中。这些中断允许位分散位于各中断源所属模块的控制寄存器中。AVR响应一个可屏蔽中断源(假定为响应一个可屏蔽中断源(假定为A中断)的中断的条件是:中断)的中断的条件是:1.响应响应A中断中断=全局中断允许标志全局中断允许标志 AND 中断中断A允许标志
9、允许标志 AND 中断中断A标志标志2.AVR复位后,各个中断允许位以及全局中断允许位均被清零,这保证了程复位后,各个中断允许位以及全局中断允许位均被清零,这保证了程序在开始执行时(一般程序开头是对芯片内部以及外围系统的初始化配置)序在开始执行时(一般程序开头是对芯片内部以及外围系统的初始化配置)不会受到中断的干扰。不会受到中断的干扰。3.在在AVR复位后的用户初始化程序中,需要先对需要使用的中断源进行必要复位后的用户初始化程序中,需要先对需要使用的中断源进行必要的配置。待系统初始化过程结束后再置位的配置。待系统初始化过程结束后再置位I,使系统进入正常的工作状态,开,使系统进入正常的工作状态,
10、开始响应中断请求。始响应中断请求。由于由于AVR在响应一个中断的过程中通过硬件将在响应一个中断的过程中通过硬件将I标志位自动清零,标志位自动清零,这样就阻止了这样就阻止了MCU响应其它中断。因此通常情况下,响应其它中断。因此通常情况下,AVR是不是不能自动实现中断嵌套的。如要系统中必须要实现中断嵌套的应用,能自动实现中断嵌套的。如要系统中必须要实现中断嵌套的应用,用户可在中断服务程序中使用指令将全局中断允许位开放,通过用户可在中断服务程序中使用指令将全局中断允许位开放,通过间接的方式实现中断的嵌套处理。间接的方式实现中断的嵌套处理。四、中断嵌套四、中断嵌套 外部中断触发方式和特点外部中断触发方
11、式和特点 INT0、INT1、INT2的中断触发方式取决于用户程序对的中断触发方式取决于用户程序对MCU控制寄存器控制寄存器MCUCR以及以及MCU控制与状态寄存器控制与状态寄存器MCUCSR的设定。其中,的设定。其中,INT0和和INT1支持支持4种中断触发方式,种中断触发方式,INT2支持支持2种。种。任意电平变化触发表示只要引脚上有逻辑电平的变化就会任意电平变化触发表示只要引脚上有逻辑电平的变化就会产生中断申请(不管是上升沿还是下降沿都引起中断触发)产生中断申请(不管是上升沿还是下降沿都引起中断触发)4种触发方式中,还有以下的一些不同的特点:种触发方式中,还有以下的一些不同的特点:1.低
12、电平触发是不带中断标志类型的,即只要中断输入引脚低电平触发是不带中断标志类型的,即只要中断输入引脚PD2或或PD3保持低电平,那么将一直会产生中断申请。保持低电平,那么将一直会产生中断申请。2.MCU对对INT0和和INT1的引脚上的上升沿或下降沿变化的识别的引脚上的上升沿或下降沿变化的识别(触发),需要(触发),需要I/O时钟信号的存在(由时钟信号的存在(由I/O时钟同步检测),属时钟同步检测),属于同步边沿触发的中断类型。于同步边沿触发的中断类型。3.MCU对对INT2的引脚上的上升沿或下降沿变化的识别(触发)的引脚上的上升沿或下降沿变化的识别(触发),以及低电平的识别(触发)是通过异步方
13、式检测的,不需要,以及低电平的识别(触发)是通过异步方式检测的,不需要I/O时钟信号的存在。因此,这类触发类型的中断经常作为外时钟信号的存在。因此,这类触发类型的中断经常作为外部唤醒源,用于将处在部唤醒源,用于将处在Idle休眠模式,以及处在各种其它休眠休眠模式,以及处在各种其它休眠模式的模式的MCU唤醒。这是由于除了在空闲(唤醒。这是由于除了在空闲(Idel)模式时,)模式时,I/O时钟信号还保持继续工作,在其它各种休眠模式下,时钟信号还保持继续工作,在其它各种休眠模式下,I/O时钟时钟信号均是处在暂停状态的。信号均是处在暂停状态的。4.如果使用低电平触发方式的中断作为唤醒源,将如果使用低电
14、平触发方式的中断作为唤醒源,将MCU从掉电模从掉电模式(式(Power-down)中唤醒时,电平拉低后仍需要维持一段时间)中唤醒时,电平拉低后仍需要维持一段时间才能将才能将MCU唤醒,这是为了提高了唤醒,这是为了提高了MCU的抗噪性能。拉低的触的抗噪性能。拉低的触发电平将由看门狗的时钟信号采样两次(在通常的发电平将由看门狗的时钟信号采样两次(在通常的5V电源和电源和25时,看门狗的时钟周期为时,看门狗的时钟周期为1s)。如果电平拉低保持)。如果电平拉低保持2次采样次采样周期的时间,或者一直保持到周期的时间,或者一直保持到MCU启动延时(启动延时(start-up time)过)过程之后,程之后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATmega128 中断 系统
限制150内