单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用

上传人:E**** 文档编号:89355338 上传时间:2019-05-23 格式:PPT 页数:51 大小:379KB
返回 下载 相关 举报
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用_第1页
第1页 / 共51页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用_第2页
第2页 / 共51页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用_第3页
第3页 / 共51页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用_第4页
第4页 / 共51页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用》由会员分享,可在线阅读,更多相关《单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 5 单片机中断系统应用(51页珍藏版)》请在金锄头文库上搜索。

1、5 单片机中断系统应用,任务和知识点,任务 定时器中断控制LED灯闪烁 紧急状态的报警处理 计数器中断控制数码管计数 四路抢答器抢答显示组号 知识点 理解中断基本概念 51单片机中断系统的结构 中断专用寄存器的设置 中断系统的工作过程 七段数码管静态显示 外部中断源的扩展,5.1 中断的基本概念,在日常生活中,例如:你正在家中看书,突然电话铃响了,您放下书本,去接电话,与来电话的朋友交谈;交谈后,放下电话,回来继续看书。这就是生活中的“中断”现象,即正常的工作过程被其它事件打断,及时处理完后,回来继续原来的工作。,5.1.1 引发中断的事件,生活中有很多事件可以引发中断:门铃响了,电话铃响了,

2、闹钟响了,报警器响了等等,我们将可能引发中断的事件统称为“中断源”。,在单片机中,可理解为“中断源”的通常情况有:(1)一般的输入输出设备(如键盘、打印机等),它们通过接口电路向CPU发出中断请求;(2)实时时钟的定时时间或外界计数信号计数次数一到,向CPU发出中断请求;(3)运算结果溢出或系统掉电等故障发生时,向CPU发出中断请求;(4)当调试程序时,为检查中间结果或寻找问题所在,往往要求设置断点或进行单步工作,向CPU发出中断请求。,5.1.2 中断过程概述,图 51 中断过程示意图,1、中断过程的定义,计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原来程序的执行

3、,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程,一般称之为中断过程,如图5-1所示。,2、理解几个名词术语,主程序正在正常运行的程序,断点主程序被断开的位置(或地址),系统会自动保护这个地址,中断请求由“中断源”向计算机要求服务的请求,中断入口地址中断服务程序第一条指令所在位置,中断服务程序计算机接受中断请求之后,所执行的相应的处理程序,断点返回中断服务程序执行完后,必须返回断点位置,继续执行主程序,中断嵌套当计算机正在处理低级中断服务程序时,更高级别的中断请求到来,则计算机必须响应更高级别的中断请求,转而处理高级中断服务程序;当处理完后,再返回低级中断服务程序继

4、续工作,这就形成了嵌套关系。,5.1.3 具备“中断特性”计算机的优势,1、分时操作,中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设并行工作。CPU在启动外设工作后继续执行主程序,同时外设也在工作,每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序(一般情况是处理输入输出数据),中断处理完之后,CPU恢复执行主程序,外设也继续工作。可启动多个外设同时工作,大大地提高了CPU的效率。,2、实时处理,在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理,如中断条件满足,CPU马

5、上就会响应进行相应的处理,从而实现实时处理。,3、故障处理,针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。,5.2 定时器中断方式控制LED灯闪烁,【5-1】定时器中断方式控制LED闪烁,代码分析,让我们想想,定时器能不能溢出后,主动向CPU申请中断呢?故此程序中除去了查询TF0标志的代码行;但多了一些与中断过程的相关指令:,这两条指令的作用是允许定时器T0申请中断,ORG伪指令指示定时器T0的中断入口地址;AJMP指令是跳过其它中断源的入口地址 ,避免地址覆盖,。,指令间的代码则是中断服务程序,在

6、前面例【4-2】中,定时器是采用溢出查询方式硬件延时,达到使LED灯闪烁,在程序代码需要不断查询是否溢出,非常被动;,5.2.1 五源中断,图 52 MCS-51中断系统内部结构示意图,1、中断类型,非屏蔽中断 用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应,可屏蔽中断 用户则可以通过软件方法来控制是否允许某中断源的中断,允许中断称中断开放,不允许中断称中断屏蔽,MCS-51系列单片机有5个中断源,都是可屏蔽中断 ,两个来自片外,三个来自片内。,2、中断请求信号来源(中断源),当这五个中断源向CPU发出中断请求时,将涉及到控制寄存器TCON和串口控制寄存器SCON中的相关标志

7、,即外部中断请求标志IE0和IE1,内部中断请求标志TF0、TF1、TI或RI。,外部中断请求信号分别是来自外部中断0(由P3.2引脚输入 ),外部中断1(由P3.3引脚输入 );内部外部中断请求信号分别是定时器T0溢出中断,定时器T1溢出中断,串行口的发送或接收完毕申请中断。,5.2.2 中断响应的控制,中断源中断请求发出后,系统是否响应中断请求,要对中断允许寄存器IE进行相关设置,如下表及说明:,表 51 中断允许寄存器IE的格式,EA(CPU中断允许控制位)。当EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。,ES(串行口中

8、断允许位)。当ES=1时,串行口允许中断响应;当ES=0,串行口禁止中断响应。,ET1(定时器T1中断允许位)。当ET1=1时,定时器T1允许中断响应;当ET1=0,定时器T1禁止中断响应。 ET0(定时器T0中断允许位)同此设置,EX1(外部中断1中断允许位)。当EX1=1时,外部中断1允许中断响应;当EX1=0,外部中断1禁止中断响应。 EX0(外部中断0中断允许位)同此设置,系统复位后,IE中各中断允许位均被清0,即禁止所有中断。,5.2.3 两级管理,从图5-2可以看到,单片机的中断请求被分为高优先级中断请求和低优先级中断请求两种级别。系统是如何知道哪个中断请求是高级或低级呢?,表 5

9、2 中断优先级寄存器IP的格式,设置方法:只要将相应的标志置1,那么对应的中断源就是高级别中断源了;当系统复位时,IP低5位全部清0,所有中断源均设定为低优先级中断。,控制位介绍: PS(串行口中断优先控制位),PT1(定时器T1中断优先控制位),PX1(外部中断1中断优先控制位),PT0(定时器T0中断优先控制位),PX0(外部中断0中断优先控制位),两个原则:(1)低优先级中断可被高优先级中断请求所中断,反之则不能;(2)某个中断(不管是高优先级或低优先级)一旦得到响应,与它同级的中断请求不能再中断它。,5.2.4 中断源的自然优先级和中断服务程序的入口地址,当同时收到几个同一优先级的中断

10、请求时,响应哪一个中断请求取决于内部规定的顺序。这个顺序表明同级中断源之间的中断优先权(见表5-3),表 53 同级中断源之间的中断优先权排队,对应MCS-51的5个中断源,应有相应的中断服务程序。这些程序应当有固定的存放位置,这些中断被系统响应后,就可自动找到该位置,执行与该中断相关的处理工作。,中断服务程序的第一条指令所在位置,我们称为中断入口地址。如表5-4所示,表 54 各中断源的中断入口地址表,观察表5-2,我们会发现:中断入口地址之间(0003H000BH)的地址空间只有8个字节。即:如果一个中断服务程序的长度超过这个限度,就会占用下一个中断源的入口地址,导致出错,我们称之为“地址

11、覆盖”。,一般在中断入口处写一条“LJMP XXXXH”或“AJMP XXXXH”的跳转指令,把中断服务程序的实际处理内容放到ROM的其他位置,以避开“地址覆盖”现象。,想一想,做一做,(1)中断服务程序为什么不放在中断入口处,而必须跳转到程序存储器ROM的其它位置编写?,(2)如果将外部中断1的中断优先级设为高级,其它不变,问五个中断源的中断优先级排队是什么顺序?,5.3 紧急状态的报警处理,【5-2】紧急状态的报警处理,其对应的电路原理图如图5-3所示:,图 53 紧急状态的报警处理,案例介绍,在图5-3中,用按键模拟传感器的输出,正常情况时 引脚为高电平;当按键按下时,会触发该引脚变为低

12、电平,向系统发出中断请求;,如果中断允许寄存器允许中断,则系统会响应中断,执行相关中断处理程序。,本程序的功能非常简单。紧急情况以P1.0引脚所接的LED灯为表示。在理论上,按一次按键就引发一次中断,就会对LED灯状态取反,亮时变灭,或灭时变亮。,实验中的问题,但在实际做实验时,会发觉不是很“灵”,有时按了键会没反应,这种现象叫“按键抖动”,必须经过硬件或软件消抖处理,就能够克服。,另外,将“SETB IT0”改为“CLR IT0”,即采用低电平触发时,发现LED灯根本不会灭,只是亮度会有所下降。为什么会这样?,5.3.1 外部中断源的中断触发和中断请求,TCON既是定时器T0和T1的控制寄存

13、器,也是外部中断的控制寄存器。在这里,只介绍与外部中断有关位,如下表所示:,表 55 定时器控制寄存器TCON的格式,IE1是 中断请求标志。当 引脚上出现中断请求信号时(低电平或负跳变),由硬件自动将IE1 置位,向CPU申请中断;当CPU响应中断后,再由硬件将IE1清0。,IT1: 触发方式控制位,由软件置位或清0。见图5-2所示。,当IT1 = 1,外部中断1为脉冲触发方式。此时,CPU在每个机器周期的S5P2期间对P3.3引脚采样,如果在一个周期中采样到高电平,在下一周期采样到低电平,则硬件使IE1标志置位,向CPU请求中断;,当IT1=0,外部中断1为低电平触发方式。此时,CPU对P

14、3.3引脚检测是否为低电平,是则触发中断申请。,IE0和 IT0:分别是外部中断0的中断请求标志和触发方式控制位。其操作功能与外部中断1相同。,5.3.2 中断请求信号的撤消,在一般情况下,CPU响应中断请求后,都能够由硬件自动清除或在中断服务程序中用软件撤除中断请求信号。,但对于低电平触发的外部中断,CPU响应中断后,无法用硬件或软件清除其中断请求标志位IE0或IE1,即CPU不能控制 或 引脚的信号,这样会造成重复的中断申请及中断响应。,如何处理这一问题,只有通过硬件再配合相应软件才能解决这个问题。图5-4是可行方案之一。,图 54撤除外部中断请求的电路及相关的中断服务程序代码设计,由图5

15、-4可知,外部中断请求信号不直接加在 或 引脚上,而是加在D触发器的CLK端。由于D端接地,当外部中断请求的正脉冲信号出现在CLK端时,Q端输出为0, 或 为低,外部中断向单片机发出中断请求。,如何来撤除外部中断请求呢?首先,在硬件电路上使用P1口的P1.0作为应答线;其次,在中断服务程序中采用三条指令:第一条指令使P1.0为0,因P1.0与D触发器的异步置1端SD相连,Q端输出为1,从而撤除中断请求;第二条指令使P1.0变为1,D触发器的Q端继续受CLK端控制,即新的外部中断请求信号又能向单片机申请中断;第三条指令是撤除中断请求信号。,5.3.3 中断初始化设计,在主程序中要进行中断初始化设

16、计,包括堆栈设置和中断控制设置。,椎栈设置就是要重新指定栈底,一般设置成存储器的高字节部分,如:MOV SP,#5FH 。原默认栈底是07H存储单元,容易和工作寄存器组1发生冲突,造成数据重叠。,中断控制设置就是对4个与中断有关的特殊功能寄存器TCON、SCON、IE和IP进行管理和控制,具体实施如下:CPU的开、关中断;具体中断源中断请求的允许和禁止(屏蔽);各中断源优先级别的控制;外部中断请求触发方式的设定等。,1、椎栈设置,2、中断控制设置,5.3.4 中断系统的处理过程,图 55中断处理流程图,中断处理过程可分为中断响应、中断处理和中断返回三个阶段。,1、中断响应阶段,由某个中断源向CPU发出中断申请,CPU根据中断响应条件是否满足和中断受阻情况是否存在来决定是否响应中断;当中断被响应后,中断系统通过硬件自动生成长调用指令(LACLL),该指令将自动把断点地址压入堆栈保护,把相应的中断源的中断入口地址送入PC。,2、中断处理阶

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号