




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、祝贺他:选择了正确的AVR学习资料ATmega16的中断系统 ATmega16的中断源和中断向量 AVR普通拥有数十个中断源,每个中断源都有独立的中断向量。 AVR的程序存储区的最低端,即从Flash地址的0 x0000开场用于放置中断向量,称作中断向量区。 各种型号的AVR中断向量区的大小是不同的,由下式决议:中断向量区大小 = 中断源个数 每个中断向量占据字数 AVR的21个中断中,包含1个非屏蔽中断RESET3个外部中断INT0、INT1、INT2和17个内部中断, .1.外部中断 INT0、INT1和INT2是3个外部中断源,它们是分别由芯片外部引脚PD2、PD3、PB2上的电平的变化
2、或形状触发的。经过对控制存放器MCUCR和控制与形状存放器MCUCSR的配置,外部中断可以定义为由PD2、PD3、PB2引脚上的电平的下降沿、上升沿、逻辑电平变化,或者低电平INT2仅支持电平变化的边沿触发触发。.3个定时计数器触发的内部中断 MER2 COMP TIMER2 OVF 定时溢出2TIMER1 CAPT 扑捉溢出1TIMER1 COMPA 定时比较ATIMER1 COMPB 定时比较BTIMER1 OVF 定时溢出2TIMER0 OVF 定时溢出0TIMER0 COMP 定时比较0同步/异步串行接纳和转发器USART的内部中断USART RXC 接纳一个字节USART TXC 发
3、送一个字节USART UDRE 发送数据存放器为空 .其它内部中断SPI STC为内部SPI串行接口传送终了中断ADC为ADC单元完成一次A/D转换的中断EE_RDY是片内的EEPROM就绪对EEPROM的操作完成中断ANA_COMP是由内置的模拟比较器输出引发的中断TWI为内部两线串行接口的中断SPM_RDY是对片内的Flash写操作完成中断.ATmega16的中断控制中断优先级确实定1.在AVR单片机中,一个中断在中断向量区中的位置决议了 它的优先级,位于低地址的中断优先级高于位于高地址的中断。2AVR单片机采用固定的硬件优先级方式,不支持经过软件对中断优先级的重新设定。 AVR有两种机制
4、不同的中断:带有中断标志的中断可挂起不带中断标志的中断不能挂起。中断标志在AVR中,大多数的中断都属于带中断标志的中断。 .中断标志概念 每个中断源在其I/O空间存放器中具有本人的一个中断标志位。AVR的硬件系统在每个时钟周期内都会检测接受外部内部中断源的中断条件。一旦中断条件满足,AVR的硬件就会将置位相应的中断标志位置为“1,表示向MCU提起中断恳求。中断标志去除中断标志位普通在MCU呼应该中断时,由硬件自动去除,或在中断效力程序中经过读/写专门数据存放器的方式自动去除。中断标志位除了由硬件自动去除外也可以运用软件指令去除,留意:如用软件方法去除,去除的方法是对其写“1。 不带不设置中断标
5、志的中断:如配置为低电平触发的外部中断即为此类型的中断低电平中断的重要运用是唤醒处于休眠任务方式的MCU。 .三、中断屏蔽与管理 为全局中断允许控制位:中断允许的总控制位I标志存放器SREG中的I标志位SREG.7每一个中断源都设置了独立的中断允许位 AVR对中断采用两级控制方式。这些中断允许位分散位于各中断源所属模块的控制存放器中。AVR呼应一个可屏蔽中断源假定为A中断的中断的条件是:1.呼应A中断 = 全局中断允许标志 AND 中断A允许标志 AND 中断A标志2.AVR复位后,各个中断允许位以及全局中断允许位均被清零,这保证了程序在开场执行时普通程序开头是对芯片内部以及外围系统的初始化配
6、置不会遭到中断的干扰。3.在AVR复位后的用户初始化程序中,需求先对需求运用的中断源进展必要的配置。待系统初始化过程终了后再置位I,使系统进入正常的任务形状,开场呼应中断恳求。.由于AVR在呼应一个中断的过程中经过硬件将I标志位自动清零,这样就阻止了MCU呼应其它中断。因此通常情况下,AVR是不能自动实现中断嵌套的。如要系统中必需求实现中断嵌套的运用,用户可在中断效力程序中运用指令将全局中断允许位开放,经过间接的方式实现中断的嵌套处置。四、中断嵌套 .外部中断触发方式和特点 INT0、INT1、INT2的中断触发方式取决于用户程序对MCU控制存放器MCUCR以及MCU控制与形状存放器MCUCS
7、R的设定。其中,INT0和INT1支持4种中断触发方式,INT2支持2种。 恣意电平变化触发表示只需引脚上有逻辑电平的变化就会产生中断恳求不论是上升沿还是下降沿都引起中断触发 .4种触发方式中,还有以下的一些不同的特点:低电平触发是不带中断标志类型的,即只需中断输入引脚PD2或PD3坚持低电平,那么将不断会产生中断恳求。2.MCU对INT0和INT1的引脚上的上升沿或下降沿变化的识别触发,需求I/O时钟信号的存在由I/O时钟同步检测,属于同步边沿触发的中断类型。3.MCU对INT2的引脚上的上升沿或下降沿变化的识别触发,以及低电平的识别触发是经过异步方式检测的,不需求I/O时钟信号的存在。因此
8、,这类触发类型的中断经常作为外部唤醒源,用于将处在Idle休眠方式,以及处在各种其它休眠方式的MCU唤醒。这是由于除了在空闲Idel方式时,I/O时钟信号还坚持继续任务,在其它各种休眠方式下,I/O时钟信号均是处在暂停形状的。.4.假设运用低电平触发方式的中断作为唤醒源,将MCU从掉电方式Power-down中唤醒时,电平拉低后仍需求维持一段时间才干将MCU唤醒,这是为了提高了MCU的抗噪性能。拉低的触发电平将由看门狗的时钟信号采样两次在通常的5V电源和25时,看门狗的时钟周期为1s。假设电平拉低坚持2次采样周期的时间,或者不断坚持到MCU启动延时start-up time过程之后,MCU将被
9、唤醒并进入中断效力。假设该电平的坚持时间可以满足看门狗时钟的两次采样,但在启动延时start-up time过程完成之前就消逝了,那么MCU仍将被唤醒,但不会触发中断进入中断效力程序。所以,为了保证既能将MCU唤醒,又能触发中断,中断触发电平必需维持足够长的时间。5.假设设置了允许呼应外部中断的恳求,那么即使是引脚PD2、PD3、PB2设置为输出方式任务,引脚上的电平变化也会产生外部中断触发恳求。这一特性为用户提供了运用软件产生中断的途径。.与外部中断相关的存放器和标志位 在ATmega16中,与外部中断有关的存放器有4个,共有11个标志位。其作用分别是3个外部中断各自的中断标志位,中断允许控
10、制位,和用于定义外部中断的触发类型。 1 MCU中断方式控制存放器MCUCR MCU控制存放器MCUCR的低4位为INT0ISC01、ISC00和INT1ISC11、ISC10中断触发类型控制位 . MCU对INT0、INT1引脚上电平值的采样在边沿检测前。1.假设选择脉冲边沿触发或电平变化中断的方式,那么在INT0、INT1引脚上的一个脉宽大于一个时钟周期的脉冲变化将触发中断,过短的脉冲那么不能保证触发中断。2.假设选择低电平触发中断,那么低电平必需坚持到当前指令执行完成才触发中断。假设是低电平触发方式的话,中断恳求将不断坚持到引脚上的低电平消逝为止。.2MCU控制和形状存放器MCUCSR
11、MCU控制和形状存放器MCUCSR中的第6位ISC2为INT2的中断触发类型控制位 .3通用中断允许控制存放器 GICR 通用中断控制存放器GICR的高3位为INT0、INT1和INT2的中断允许控制位 。GICR存放器中相应的中断允许位被置为“1,当外部引脚INT0或INT1、或INT2上的电平变化时,MCU将会呼应相应的中断恳求。 .4 通用中断标志存放器GIFR中断标志存放器GIFR的高3位为INT0、INT1和INT2的中断标志位 当INT2.0引脚上的有效事件满足中断触发条件后,INTF2.0位会变成“1。假设此时SREG存放器中I = 1,以及GICR存放器中的INTn被置为“1,
12、MCU将呼应中断恳求,跳至相应的中断向量处开场执行中断效力程序,同时硬件自动将INTFn标志位清零。 用户可以运用指令将INTFn去除,去除的方式是写逻辑“1到INTFn,将标志清零。当INT0INT1设置为低电平触发方式时,标志位INTF0INTF1一直为“0,这并不意味着不产生中断恳求,而是低电平触发方式是不带中断标志类型的中断触发。 . 在系统程序的初始化部分中对外部中断进展设置时定义或改动触发方式,应先将GICR存放器中该中断的中断允许位清零,制止MCU呼应该中断后再设置ISCn位。 而在开放中断允许前,普通应经过向GIFR存放器中的中断标志位INTFn写入逻辑“1,将该中断的中断标志
13、位去除,然后开放中断。这样可以防止在改动ISCn的过程中误触发中断。.中断效力程序的编写中断效力程序的编写编写中断效力程序的两个根本原那么: 1.全面、仔细思索中断现场的维护和恢复。2.中断效力程序应尽能够的短 不同高级言语开发环境中对编写中断效力程序的语法规那么和处置方法是不同的。用户在编写中断效力程序前,应对所运用开发平台,中断程序的编写方法,中断的处置方法等有较好的了解。 运用ICCAVR等高级言语编写中断效力程序时,用户通常不用思索中断现场维护和恢复的处置,这是由于编译器在编译中断效力程序的源代码时,会在生成的目的代码中自动参与相应的中断现场维护和恢复的指令,同时自动采用RETI指令作
14、为中断效力的前往指令。 . 在ICCAVRR中,只需用#pragma 伪指令和中断向量阐明中断效力程序的入口地址。中断效力函数按以下格式定义:#pragma interrupt_handler : 如:INT0中断效力程序#pragma interrupt_handler int0_isr:2void int0_isrvoid 中断效力程序 C编译器会自动协助用户产生正确的中断向量处的以及初始化堆栈指针的代码,同时在中断效力程序中自动生成中断现场维护和恢复函数中用到的全部存放器维护及运用RETI指令前往。.图中运用了两个按键K1、K2,按键的一端分别与PD2INT0、PD3INT1衔接。INT
15、0和INT1作为外部中断的输入,采用电平变化的下降沿触发方式,当K1K2按下时,会在PD2PD3引脚上产生一个高电平到低电平的跳变,触发INT0或INT1中断。外部中断运用实例硬件电路 .运用中断应举例:定时扫描数码管,INT0、INT1按键下降沿出发中断,使键值分别加减1/* 功 能: INT0中断函数,使键值加1 */#pragma interrupt_handler Int0_isr:2void Int0_isr(void) delay_nms(20); /延时大约20毫秒,去抖if(KEY0=0) /再次判别按键能否按下 while(KEY0=0); /等待按键释放Key_Number
16、+; /键值加1 ./* 功 能: INT1中断函数,使键值减1 */#pragma interrupt_handler Int1_isr:3void Int1_isr(void) delay_nms(20); /延时大约20毫秒,去抖if(KEY1=0) /再次判别按键能否按下 while(KEY1=0);/等待按键释放Key_Number-;/键值减1 ./* 功 能: Timer0溢出中断,数码管扫描 */#pragma interrupt_handler Timer0_ovf_isr:10void Timer0_ovf_isr(void) Display_One_SMG(2,Key_Number/100); /在第三位数码管显示百位Display_One_SMG(1,Key_Number%100/10); /在第二位数码管显示十位Display_One_SMG(0,Key_Number%100%10); /在第一位数码管显示个位./* 功 能: Timer0初始化程序 */void Timer0_Init(void) TCCR0 = 0 x00; /停顿Timer0任务 TCNT0 = 0 x00;/清TCNT0 TCCR0|=(1CS02);/启动Timer0,系统时钟256分频./主函数称号: main()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5《铺满金色巴掌的水泥道》教学设计-2024-2025学年三年级上册语文统编版
- 1我是独特的(教学设计)2023-2024学年统编版道德与法治六年级下册
- 学校室内油漆 合同范本
- 3《公民意味着什么》第2课时 教学设计-2024-2025学年道德与法治六年级上册统编版
- Module 6 Unit 2(教学设计) 2024-2025学年外研版英语八年级上册
- 买卖门合同范本
- 现场布置采购合同范本
- 3《我们班 他们班》 第1课时 教学设计-2024-2025学年道德与法治四年级上册统编版
- 14 学习有方法 第一课时 教学设计-2023-2024学年道德与法治二年级下册统编版
- 商品房买卖合同补充协议合同协议
- 技能人才评价新职业考评员培训在线考试(四川省)
- 金矿承包协议合同2024年
- 《有机化学》课程说课
- 轨道电路参数与状态课件讲解
- 2024年中华人民共和国企业所得税年度纳税申报表(带公式)20240301更新
- 2024年安徽省高考化学试卷(真题+答案)
- 现浇箱梁专项施工组织设计
- 结直肠癌治疗研究进展2024年
- 员工薪酬确认书三篇
- DZ∕T 0148-2014 水文水井地质钻探规程(正式版)
- 新能源汽车电气技术 课件 项目一 新能源汽车电气维修基础认知
评论
0/150
提交评论