版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外部中断应用实例例7.1用按键控制的一位LED数码管显示系统1)硬件电路图7-2为硬件原理图。其中LED数码管的控制显示连接与例6.4相同,PA口工作于输出方式,作为LED数码管的段码输出,LED数码管的位信号接地,因此这个一位的LED数码管工作于静态显示方式。图中使用了两个按键K1、K2,按键的一端分别与PD2(INT0)、PD3(INT1)连接。INT0和INT1作为外部中断的输入,采用电平变化的下降沿触发方式,当K1(K2)按下时,会在PD2(PD3)引脚上产生一个高电平到低电平的跳变,触发INT0或NT1中断。12系统的功能还是控制一个8段数码管显示“0”-“F”16个十六进制的数字。当系统上电时,显示“0”。K1键的作用是加“1”控制键:按1次K1键,显示数字加1,依次类推。当第15次按K1键时,显示“F”,第16次按K1键,显示又从“0”开始。K2键的作用是减1控制键:按1次K1键,显示数字减1,减到“0”后,再从“F”开始。3#include<mega16.h>flashcharled_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};charcounter;//INT0中断服务程序interrupt[EXT_INT0]voidext_int0_isr(void){if(++counter>=16)counter=0;}//INT1中断服务程序interrupt[EXT_INT1]voidext_int1_isr(void)4{if(counter)--counter;elsecounter=15;}voidmain(void){PORTA=0xFF;DDRA=0xFF;GICR|=0xC0;//允许INT0、INT1中断MCUCR=0x0A;//INT0、INT1下降沿触发GIFR=0xC0;//清除INT0、INT1中断标志位counter=0;//计数单元初始化为0#asm("sei")//全局中断允许while(1){PORTA=led_7[counter];//显示计数单元};}589AVR有不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件都有自己的使能位。当使能位置位,且状态寄存器的全局中断使能位I也置位时,中断可以发生。根据程序计数器PC的不同,在引导锁定位BLB02或BLB12被编程的情况下,中断可能被自动禁止。这个特性提高了软件的安全性。程序存储区的最低地址缺省为复位向量和中断向量。完整的向量列表见下页。列表也决定了不同中断的优先级。向量所在的地址越低,优先级越高。RESET具有最高的优先级,第二个为INT0–外部中断请求0。通过置位MCU控制寄存器(MCUCR)的IVSEL,中断向量可以移至引导Flash的起始处。编程熔丝位BOOTRST也可以将复位向量移至引导Flash的起始处。任一中断发生时全局中断使能位I被清零,从而禁止了所有其他的中断。用户软件可以在中断程序里置位I来实现中断嵌套。此时所有的中断都可以中断当前的中断服务程序。执行RETI指令后I自动置位。中断与定时10从根本上说有两种类型的中断。第一种由事件触发并置位中断标志。对于这些中断,程序计数器跳转到实际的中断向量以执行中断处理程序,同时硬件将清除相应的中断标志。中断标志也可以通过对其写”1”的方式来清除。当中断发生后,如果相应的中断使能位为"0",则中断标志位置位,并一直保持到中断执行,或者被软件清除。类似的,如果全局中断标志被清零,则所有已发生的中断都不会被执行,直到I置位。然后挂起的各个中断按中断优先级依次执行。第二种类型的中断则是只要中断条件满足,就会一直触发。这些中断不需要中断标志。若中断条件在中断使能之前就消失了,中断不会被触发。11AVR退出中断后总是回到主程序并至少执行一条指令才可以去执行其他被挂起的中断。要注意的是,进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作必须由用户通过软件来完成。使用CLI指令来禁止中断时,中断禁止立即生效。没有中断可以在执行CLI指令后发生,即使它是在执行CLI指令的同时发生的。下面的例子说明了如何在写EEPROM时使用这个指令来防止中断发生以避免对EEPROM内容的可能破坏。12131415通用中断控制寄存器-GICRBit1–IVSEL:中断向量选择当IVSEL为"0“时,中断向量位于Flash存储器的起始地址;当IVSEL为"1“时,中断向量转移到Boot区的起始地址。实际的Boot区起始地址由熔丝位BOOTSZ确定。为了防止无意识地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6.1 认识经济全球化 课件高中政治统编版选择性必修一当代国际政治与经济
- 剧本杀活动免责协议书
- 广西玉林市2026年下学期七年级数学期中考试卷附答案
- 2026年湖南地区历史文化知识测试
- 2026年碳排放管理员职业技能模拟题
- 2026年建筑施工作业人员安全教育题库
- 2026年旅游景区管理规范与操作问题解答
- 2026年省级国防教育网络知识竞赛参赛题库
- 2026年匹克球裁判员考试非截击区-kitchen-规则与判罚实务题
- 2026年现场技术问题解决考核
- 中国网球协会匹克球国家二级裁判员培训班考试题(附答案)
- 2024-2025学年度正德职业技术学院单招考试文化素质数学考前冲刺试卷(考试直接用)附答案详解
- 2026春季四川成都环境投资集团有限公司下属成都市兴蓉环境股份有限公司校园招聘47人笔试模拟试题及答案解析
- 2026年安徽省C20联盟中考二模物理试题(含答案)
- 线束采购库存管理制度
- 内部单位会计监督制度
- 2025年甘肃事业编考试试题真题及答案
- 企业环境保护工作年报模板
- 输煤安全生产管理制度
- 徐工集团入职在线测评题库
- 总包变清包工合同范本
评论
0/150
提交评论