《单片机中断》ppt课件

《单片机中断》ppt课件

ID:26915911

大小:236.01 KB

页数:17页

时间:2018-11-30

《单片机中断》ppt课件_第1页
《单片机中断》ppt课件_第2页
《单片机中断》ppt课件_第3页
《单片机中断》ppt课件_第4页
《单片机中断》ppt课件_第5页
资源描述:

《《单片机中断》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、外部中断应用实例例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系统的功

2、能还是控制一个8段数码管显示“0”-“F”16个十六进制的数字。当系统上电时,显示“0”。K1键的作用是加“1”控制键:按1次K1键,显示数字加1,依次类推。当第15次按K1键时,显示“F”,第16次按K1键,显示又从“0”开始。K2键的作用是减1控制键:按1次K1键,显示数字减1,减到“0”后,再从“F”开始。3#includeflashcharled_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x

3、79,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

4、=0xC0;//允许INT0、INT1中断MCUCR=0x0A;

5、//INT0、INT1下降沿触发GIFR=0xC0;//清除INT0、INT1中断标志位counter=0;//计数单元初始化为0#asm("sei")//全局中断允许while(1){PORTA=led_7[counter];//显示计数单元};}5建议使用CVAVR中的程序生成向导功能来帮助你建立整个程序的框架,以及芯片的初始化部分的语句,可以省掉你过多的查看器件手册和考虑寄存器的设置值等。上面的程序,就是先利用CVAVR的程序生成向导功能进行配置,然后在它生成的程序框架基础上完成的。程序中定义了一个计数变量counter,执

6、行一次INT0中断服务程序,counter加1,而执行一次INT1中断服务程序,counter减1。在主程序中只是显示counter的值。INT0、INT1初始化为电平变化的下降沿触发。6上机练习:显示两位数0~99,按K1键,加一,按K2键,减一789AVR有不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件都有自己的使能位。当使能位置位,且状态寄存器的全局中断使能位I也置位时,中断可以发生。根据程序计数器PC的不同,在引导锁定位BLB02或BLB12被编程的情况下,中断可能被自动禁止。这个特性提高了软件的

7、安全性。程序存储区的最低地址缺省为复位向量和中断向量。完整的向量列表见下页。列表也决定了不同中断的优先级。向量所在的地址越低,优先级越高。RESET具有最高的优先级,第二个为INT0–外部中断请求0。通过置位MCU控制寄存器(MCUCR)的IVSEL,中断向量可以移至引导Flash的起始处。编程熔丝位BOOTRST也可以将复位向量移至引导Flash的起始处。任一中断发生时全局中断使能位I被清零,从而禁止了所有其他的中断。用户软件可以在中断程序里置位I来实现中断嵌套。此时所有的中断都可以中断当前的中断服务程序。执行RETI指令后I自

8、动置位。中断与定时10从根本上说有两种类型的中断。第一种由事件触发并置位中断标志。对于这些中断,程序计数器跳转到实际的中断向量以执行中断处理程序,同时硬件将清除相应的中断标志。中断标志也可以通过对其写”1”的方式来清除。当中断发生后,如果相应的中断使能位为"0",则中断标志位置位,并一直保持到中断执行,或者被软件清除。类似的,如果全局中断标志被清零,则所有已发生的中断都不会被执行,直到I置位。然后挂起的各个中断按中断优先级依次执行。第二种类型的中断则是只要中断条件满足,就会一直触发。这些中断不需要中断标志。若中断条件在中断使能之前

9、就消失了,中断不会被触发。11AVR退出中断后总是回到主程序并至少执行一条指令才可以去执行其他被挂起的中断。要注意的是,进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作必须由用户通过软件来完成。使用CLI指令来禁止中断时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。