《单片机中断》PPT课件.ppt
《《单片机中断》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机中断》PPT课件.ppt(17页珍藏版)》请在三一办公上搜索。
1、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中断。,2,3,系统的功能还是控制一个8 段数码管显
2、示“0”“F”16 个十六进制的数字。当系统上电时,显示“0”。K1 键的作用是加“1”控制键:按1 次K1 键,显示数字加1,依次类推。当第15 次按K1 键时,显示“F”,第16 次按K1 键,显示又从“0”开始。K2 键的作用是减1 控制键:按1 次K1 键,显示数字减1,减到“0”后,再从“F”开始。,4,#include flash char led_716=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71;char counter;/INT0
3、 中断服务程序interrupt EXT_INT0 void ext_int0_isr(void)if(+counter=16)counter=0;/INT1 中断服务程序interrupt EXT_INT1 void ext_int1_isr(void),5,if(counter)-counter;else counter=15;void main(void)PORTA=0 xFF;DDRA=0 xFF;GICR|=0 xC0;/允许INT0、INT1 中断MCUCR=0 x0A;/INT0、INT1 下降沿触发GIFR=0 xC0;/清除INT0、INT1 中断标志位counter=0;/
4、计数单元初始化为0#asm(sei)/全局中断允许while(1)PORTA=led_7counter;/显示计数单元;,6,建议使用CVAVR 中的程序生成向导功能来帮助你建立整个程序的框架,以及芯片的初始化部分的语句,可以省掉你过多的查看器件手册和考虑寄存器的设置值等。上面的程序,就是先利用CVAVR 的程序生成向导功能进行配置,然后在它生成的程序框架基础上完成的。程序中定义了一个计数变量counter,执行一次INT0 中断服务程序,counter 加1,而执行一次 INT1 中断服务程序,counter 减1。在主程序中只是显示counter的值。INT0、INT1 初始化为电平变化的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机中断 单片机 中断 PPT 课件

链接地址:https://www.31ppt.com/p-5475482.html