第3章中断(课件)-《单片机技术与应用》同步教学(高教版)

2024-07-10
| 19页
| 38人阅读
| 4人下载
普通

内容正文:

第3章 中断 中断技术是单片机技术的一个重要特征,主要用于实时监测于控制,对应突发事件做出及时的相应。 本章主要介绍MCS-51单片机的中断基本概念和典型应用案例。 重点:中断概念与应用程序编写; 难点:中断的应用。 3.1 单片机中断的概念 (1)中断的定义 当单片机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求(如定时/计数器溢出,被监视电平突变等),这时CPU暂时中断现行程序,转去处理发生的事件,处理完成后,CPU自动返回到原来被中断的地方,执行原来的程序,这一过程称为中断。 (2)中断名词 中断源:引起中断的设备或事件。 中断请求:中断是由中断源向CPU发出中断申请开始的,有效中断请求信号应一直保持到CPU做出响应为止。 中断响应:CPU接收中断申请而暂停现行程序的执行,转去为服务对象服务,为服务对象服务的程序称为中断服务函数(也称中断处理程序)。 中断的过程 执行主函数 主函数 继续执行主函数 断点 中断请求 中断响应 执行中断服务函数 中断返回 3.2 MCS-51单片机中断系统的内部结构 中断源及中断向量入口地址 5 特殊功能寄存器—IP 中断优先 为1:优先级高;为0:优先级低 (IP.7)与 (IP.6):保留 PT2(IP.5):定时2中断优先(8052用) PS (IP.4):串行口中断优先 PT1(IP.3):定时1中断优先 PX1(IP.2):外中断INT1中断优先 PT0(IP.1):定时器0中断优先 PX0(IP.0):外部中断INT0的中断优先 特殊功能寄存器—IE 中断允许 为1:允许;为0:禁止。 EX0:外部中断0允许位。 ET0:T0溢出中断允许位。 EX1:外部中断1允许位。 ET1:T1溢出中断允许位。 ES:串行中断允许位。 EA:中断总允许位。 特殊功能寄存器—TCON 控制 TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。 TR0(TR1)——定时器运行控制位 当TR0(TR1)=0  停止定时器/计数器工作 当TR0(TR1)=1  启动定时器/计数器工作 IE0(IE1)——外中断请求标志位 当出现有效中断请求时,此位由硬件置1。在中断响应完成后,再由硬件自动清0。 IT0(IT1)——外中断请求信号方式控制位 当IT0(IT1)=1 沿方式(后沿负跳有效) 当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。 TF0(TF1)——计数溢出标志位 当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。 8 3.3中断编程 常用的中断函数定义 void 函数名( ) interrupt n using m 其中: interrupt是关键字,指中断函数。 n 是C51编译器允许0~31个中断,下列中断及其相关地址为8051控制器所提供的中断: 0: 外部中断0 1: 定时器/计数器0 2: 外部中断1 3: 定时器/计数器1 4: 串行口 3.3中断编程 using 是关键字,指使用单片机内部RAM中四组工作寄存器组组别资源,为程序运行中的现场数据保护或暂存。可以用using m指定该函数具体使用哪一组寄存器。 m在0、1、2、3这4个数中取值,对应使用四组工作寄存器。 3.4 应用案例---外部中断 六路抢答器 3.4 应用案例---双外部中断 统计两个按键按下的次数,并用数码管显示出来 void key2() interrupt 2 //按键2中断 { P2&=0X3F; //关闭LED if(++num_k2>99) num_k2=0; //键盘2键值加1,加到100置0 num=num_k2; LED_k2=1; //送待显示变量,点亮相应LED } void main() //主函数 { IE=0X85;TCON=0X05; //开启外部中断0和1,设置下降沿触发 while(1) { P2&=0Xfc;P0=dis_d[num/10];dis_shi=1;delay(); //十位数显示 P2&=0Xfc;P0=dis_d[num%10];dis_ge=1;delay(); //个位数显示 } } void key1( ) interrupt 0 //按键1中断 { P2&=0X3F; //关闭LED if(++num_k1>99) num_k1=0; //键盘1键值加1,加到100置0 num=num_k1; LED_k1=1; //送待显示变量,点亮相应LED } 3.4 应用案例---具有优先级的中断 按键控制 脉冲计数 void main() { IE=0X85; TCON=0X0; IP=0X04; while(1); } void intx_0() interrupt 0 { static unsigned char PLUS=0; PLUS++; P1=PLUS; } void intx_1() interrupt 2 { EX0=!EX0;} 习题—判断题 (1)MCS-51单片机外部中断请求信号可以设置成低电平激活外部中断。 (2)51单片机中,在IP=0x00时,优先级最高的中断是INT0。 (3)51单片机的中断源有INT0、INT1、TO、T1和串口。 (4)中断函数的调用是在满足中断的情况下,自动完成函数调用的。 (5)特殊功能寄存器TCON锁存4个中断源的中断请求标志。 (6)只要中断允许寄存器 IE 中的 EA=1 ,那么中断请求就一定能够得到响应。 习题---选择题 1)关于中断下列说法错误的是:( ) A、 同一级别的中断请求按时间的先后顺序响应。 B、 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。 C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。 D、同级中断不能嵌套。 2)单片机中断标记位存放在 ( )寄存器中。 A、IE和SBUE  B、IP和TMOD  C、TCON和TMOD   D、TCON和SCON 习题---简答题 1、 引脚P1.4~P1.7中断如何使用? 2、 中断服务子程序与普通子程序的异同 3、 80C51有几个中断源?各中断标志是如何产生的?又是如何复位的? 4、 请写出51单片机的5个特殊功能寄存器IE、IP、TCON、TMOD、SCON的功能,详细到每位的功能。 5、 什么是是中断优先级?中断优先级 处理的原则是什么? 6、 8051怎么管理中断?怎样开放和禁止中断?怎么设置优先级? 7、 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定? 8、 请说明中断服务函数的编写方法?简述中断函数的特征及与子函数的主要应用区别? � � 入口 读端口 不允许抢答且不是’开始键’?� 否 是‘1’号键� 是‘2’号键? 是‘3’号键? 是‘4’号键? 是‘5’号键 是‘6’号键? 是‘7’号键? 是 显示,禁止抢答,LED灯亮 否 显示,禁止抢答,LED灯亮 是 显示,禁止抢答,LED灯亮 是 显示,禁止抢答,LED灯亮 否 显示,禁止抢答,LED灯亮 是 显示,禁止抢答,LED灯亮 否 关显示,允许抢答,LED灯灭; 是 否 是 退出 否 否 是 是 否 $$

资源预览图

第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
1
第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
2
第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
3
第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
4
第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
5
第3章中断(课件)-《单片机技术与应用》同步教学(高教版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。