第5章-中断系统-单片机原理及接口技术(C51编程)课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第5章-中断系统-单片机原理及接口技术(C51编程)课件.ppt》由会员分享,可在线阅读,更多相关《第5章-中断系统-单片机原理及接口技术(C51编程)课件.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 中断系统 1内容概要内容概要本章介绍本章介绍AT89S51片内中断系统的硬件结构和工作原理。片内中断系统的硬件结构和工作原理。中中断断系系统统能能够够实实时时地地响响应应片片内内功功能能部部件件和和外外围围设设备备发发出出的的中中断断请请求求并并及及时时进进入入中中断断服服务务子子程程序序进进行行处处理理。通通过过本本章章学学习习,读读者者应应重重点点掌掌握握与与中中断断系系统统有有关关的的特特殊殊功功能能寄寄存存器器以以及及中中断断系统的应用特性,以及熟练地进行中断系统应用的编程。系统的应用特性,以及熟练地进行中断系统应用的编程。25.1 AT89S51中断技术概述中断技术概述 在单
2、片机系统中,中断技术主要用于实时监测与控制,也就在单片机系统中,中断技术主要用于实时监测与控制,也就是要求单片机能及时地响应中断请求源提出的服务请求,是要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应并及时处理。这些工作就是由单片机片内并作出快速响应并及时处理。这些工作就是由单片机片内的中断系统来实现的。当中断请求源发出中断请求时,如的中断系统来实现的。当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。中断主程序,转到中断服务处理程序处理中断服务请求。中断
3、服务处理程序处理完中断服务请求后,再回到原来被中止服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。的程序之处(断点),继续执行被中断的主程序。图图5-1显示了单片机对外围设备中断服务请求的整个中断响显示了单片机对外围设备中断服务请求的整个中断响应和处理过程。应和处理过程。4图5-1 中断响中断响应和和处理理过程程 6图5-2 AT89S51的中断系的中断系统结构构由图由图5-2可见,中断系统共有可见,中断系统共有5个中断请求源,它们是:个中断请求源,它们是:(1)INT0*外部中断请求外部中断请求0,中断请求信号由引脚输入,中,中断请求信号由引脚输
4、入,中断请求标志为断请求标志为IE0。(2)INT1*外部中断请求外部中断请求1,中断请求信号由引脚输入,中,中断请求信号由引脚输入,中断请求标志为断请求标志为IE1。(3)定时器)定时器/计数器计数器T0计数溢出发出的中断请求,中断请求标计数溢出发出的中断请求,中断请求标志为志为TF0。(4)定时器)定时器/计数器计数器T1计数溢出发出的中断请求,中断请求标计数溢出发出的中断请求,中断请求标志为志为TF1。(5)串行口中断请求,中断请求标志为发送中断)串行口中断请求,中断请求标志为发送中断TI或接收中或接收中断断RI。75.2.2 中断请求标志寄存器中断请求标志寄存器5个中断请求源的中断请求
5、标志分别由特殊功能寄存器个中断请求源的中断请求标志分别由特殊功能寄存器TCON和和SCON的相应位锁存(见图的相应位锁存(见图5-2)。)。1.TCON寄存器寄存器为定时器为定时器/计数器的控制寄存器,字节地址为计数器的控制寄存器,字节地址为88H,可位寻址。,可位寻址。该寄存器中既包括该寄存器中既包括T0和和T1的溢出中断请求标志位的溢出中断请求标志位TF0和和TF1,也包括了两个外部中断请求的标志位,也包括了两个外部中断请求的标志位IE1与与IE0,此,此外还包括了两个外部中断请求源的中断触发方式选择位。外还包括了两个外部中断请求源的中断触发方式选择位。特殊功能寄存器特殊功能寄存器TCON
6、的格式如的格式如图图5-3所示。所示。8(2)TF0片内定时器片内定时器/计数器计数器T0的溢出中断请求标志位,功的溢出中断请求标志位,功能与能与TF1类似。类似。(3)IE1外部中断请求外部中断请求1的中断请求标志位。的中断请求标志位。(4)IE0外部中断请求外部中断请求0的中断请求标志位,其功能与的中断请求标志位,其功能与IE1类类似。似。(5)IT1选择外部中断请求选择外部中断请求1为跳沿触发方式还是电平触发为跳沿触发方式还是电平触发方式。方式。IT1=0,为电平触发方式,加到,为电平触发方式,加到INT1*引脚上的外部中断请求输引脚上的外部中断请求输入信号为低电平有效,并把入信号为低电
7、平有效,并把IE1置置“1”。转向中断服务程序。转向中断服务程序时,则由硬件自动把时,则由硬件自动把IE1清清“0”。IT1=1,为跳沿触发方式,加到,为跳沿触发方式,加到INT1*引脚上的外部中断请求输引脚上的外部中断请求输10入信号电平从高到低的负跳变有效,并把入信号电平从高到低的负跳变有效,并把IE1置置“1”。转向。转向中断服务程序时,则由硬件自动把中断服务程序时,则由硬件自动把IE1清清“0”。(6)IT0选择外部中断请求选择外部中断请求0为跳沿触发方式还是电平触为跳沿触发方式还是电平触发方式,其意义与发方式,其意义与IT1类似。类似。当当AT89S51复位后,复位后,TCON被清被
8、清“0”,5个中断源的中断请个中断源的中断请求标志均为求标志均为0。TR1(D6位)、位)、TR0(D4位)这位)这2位与中断系统无关,仅与位与中断系统无关,仅与定时器定时器/计数器计数器T1和和T0有关,将在第有关,将在第6章章介绍。介绍。2.SCON寄存器寄存器SCON为串行口控制寄存器,字节地址为为串行口控制寄存器,字节地址为98H,可位寻址。,可位寻址。SCON的低二位锁存串行口的发送中断和接收中断的中断的低二位锁存串行口的发送中断和接收中断的中断11CPU响应串行口发送中断时,并不清除响应串行口发送中断时,并不清除TI中断请求标志,中断请求标志,TI标标志必须在中断服务程序中用指令对
9、其清志必须在中断服务程序中用指令对其清“0”。(2)RI串行口接收中断请求标志位。在串行口接收完一个串串行口接收中断请求标志位。在串行口接收完一个串行数据帧,硬件自动使行数据帧,硬件自动使RI中断请求标志置中断请求标志置“1”。CPU在响在响应串行口接收中断时,应串行口接收中断时,RI标志并不清标志并不清“0”,必须在中断服,必须在中断服务程序中用指令对务程序中用指令对RI清清“0”。5.3 中断允许与中断优先级的控制中断允许与中断优先级的控制实现中断允许控制和中断优先级控制分别由特殊功能寄存器区实现中断允许控制和中断优先级控制分别由特殊功能寄存器区中的中断允许寄存器中的中断允许寄存器IE和中
10、断优先级寄存器和中断优先级寄存器IP来实现的。下来实现的。下面介绍这两个特殊功能寄存器。面介绍这两个特殊功能寄存器。13(2)ES串行口中断允许位。串行口中断允许位。ES=0,禁止串行口中断。,禁止串行口中断。ES=1,允许串行口中断。,允许串行口中断。(3)ET1定时器定时器/计数器计数器T1的溢出中断允许位。的溢出中断允许位。ET1=0,禁止,禁止T1溢出中断。溢出中断。ET1=1,允许,允许T1溢出中断。溢出中断。(4)EX1外部中断外部中断1中断允许位。中断允许位。EX1=0,禁止外部中断,禁止外部中断1中断。中断。EX1=1,允许外部中断,允许外部中断1中断中断 15(4)EX1外部
11、中断外部中断1中断允许位。中断允许位。EX1=0,禁止外部中断,禁止外部中断1中断。中断。EX1=1,允许外部中断,允许外部中断1中断。中断。(5)ET0定时器定时器/计数器计数器T0的溢出中断允许位。的溢出中断允许位。ET0=0,禁止,禁止T0溢出中断。溢出中断。ET0=1,允许,允许T0溢出中断。溢出中断。(6)EX0外部中断外部中断0中断允许位。中断允许位。EX0=0,禁止外部中断,禁止外部中断0中断。中断。EX0=1,允许外部中断,允许外部中断0中断。中断。AT89S51复位以后,复位以后,IE被清被清“0”,所有的中断请求被禁止。,所有的中断请求被禁止。IE1618图5-6 两两级中
12、断嵌套的中断嵌套的过程程 关于各中断源的中断优先级关系,可归纳为下面两条基本规关于各中断源的中断优先级关系,可归纳为下面两条基本规则:则:(1)低优先级可被高优先级中断,高优先级不能低优先级)低优先级可被高优先级中断,高优先级不能低优先级中断。中断。(2)任何一种中断(不管是高级还是低级),一旦得到响)任何一种中断(不管是高级还是低级),一旦得到响应,不会再被它的同级中断源所中断。如果某一中断源被应,不会再被它的同级中断源所中断。如果某一中断源被设置为高优先级中断,在执行该中断源的中断服务程序时,设置为高优先级中断,在执行该中断源的中断服务程序时,则不能被任何其他的中断源的中断请求所中断。则不
13、能被任何其他的中断源的中断请求所中断。AT89S51的片内有一个中断优先级寄存器的片内有一个中断优先级寄存器IP,其字节地址为,其字节地址为B8H,可位寻址。只要用程序改变其内容,即可进行各中,可位寻址。只要用程序改变其内容,即可进行各中断源中断优先级的设置,断源中断优先级的设置,IP寄存器的格式如图寄存器的格式如图5-7所示。所示。19中断优先级寄存器中断优先级寄存器IP各位的含义如下:各位的含义如下:(1)PS串行口中断优先级控制位串行口中断优先级控制位PS=1,串行口中断为高优先级,串行口中断为高优先级PS=0,串行口中断为低优先级,串行口中断为低优先级(2)PT1定时器定时器T1中断优
14、先级控制位中断优先级控制位PT1=1,定时器,定时器T1中断为高优先级中断为高优先级PT1=0,定时器,定时器T1中断为低优先级中断为低优先级20图5-7 IP寄存器的格式寄存器的格式(3)PX1外部中断外部中断1中断优先级控制位中断优先级控制位PX1=1,外部中断,外部中断1中断为高优先级中断为高优先级PX1=0,外部中断,外部中断1中断为低优先级中断为低优先级(4)PT0定时器定时器T0中断优先级控制位中断优先级控制位PT0=1,定时器,定时器T0中断为高优先级中断为高优先级PT0=0,定时器,定时器T0中断为低优先级中断为低优先级(5)PX0外部中断外部中断0中断优先级控制位中断优先级控
15、制位PX0=1,外部中断,外部中断0中断为高优先级中断为高优先级PX0=0,外部中断,外部中断0中断为低优先级中断为低优先级21中断优先级控制寄存器中断优先级控制寄存器IP的各位都可由用户程序置的各位都可由用户程序置“1”和清和清“0”,用位操作指令或字节操作指令可更新,用位操作指令或字节操作指令可更新IP的内容,以改的内容,以改变各中断源的中断优先级。变各中断源的中断优先级。AT89S51复位以后,复位以后,IP的内容为的内容为0,各个中断源均为低优先级中,各个中断源均为低优先级中断。断。下面简单介绍下面简单介绍AT89S51的中断优先级结构。的中断优先级结构。AT89S51的中断系的中断系
16、统有两个不可寻址的统有两个不可寻址的“优先级激活触发器优先级激活触发器”,其中一个指示某,其中一个指示某高优先级的中断正在执行,所有后来的中断均被阻止;另一个高优先级的中断正在执行,所有后来的中断均被阻止;另一个触发器指示某低优先级的中断正在执行,所有同级的中断都被触发器指示某低优先级的中断正在执行,所有同级的中断都被阻止,但不阻断高优先级的中断请求。阻止,但不阻断高优先级的中断请求。225.4 响应中断请求的条件响应中断请求的条件一个中断源的中断请求被响应,必须满足以下必要条件:一个中断源的中断请求被响应,必须满足以下必要条件:(1)总中断允许开关接通,即)总中断允许开关接通,即IE寄存器中
17、的中断总允许位寄存器中的中断总允许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。(3)该中断源的中断允许位)该中断源的中断允许位=1,即该中断被允许。,即该中断被允许。(4)无同级或更高级中断正在被服务。)无同级或更高级中断正在被服务。中断响应就是中断响应就是CPU对中断源提出的中断请求的接受。当对中断源提出的中断请求的接受。当CPU查询到查询到有效中断请求时,在满足上述条件时,紧接着就进行中断响应。有效中断请求时,在满足上述条件时,紧接着就进行中断响应。24中断响应的主要过程:首先由硬件自动生成一条长调用指
18、令中断响应的主要过程:首先由硬件自动生成一条长调用指令“LCALL addr16”。这里的。这里的addr16就是程序存储区中相应就是程序存储区中相应的中断入口地址。例如,对于外部中断的中断入口地址。例如,对于外部中断1的响应,硬件自的响应,硬件自动生成的长调用指令为动生成的长调用指令为 LCALL0013H生成生成LCALL指令后,紧接着就由指令后,紧接着就由CPU执行该指令。首先将程执行该指令。首先将程序计数器序计数器PC的内容压入堆栈以保护断点,再将中断入口的内容压入堆栈以保护断点,再将中断入口地址装入地址装入PC,使程序转向响应中断请求的中断入口地址。,使程序转向响应中断请求的中断入口
19、地址。各中断源服务程序的入口地址是固定的,如表各中断源服务程序的入口地址是固定的,如表5-2所示。所示。其中两个中断入口间只相隔8字节,一般情况下难以安放一个完整的中断服务程序。因此,通常总是在中断入口地址处放置一条无条件转移指令,使程序执行转向在其他地址存放的中断服务程序入口。执行完一条指令,才能响应新的中断请求。执行完一条指令,才能响应新的中断请求。如果存在上述三种情况之一,如果存在上述三种情况之一,CPU将丢弃中断查询结果,不能将丢弃中断查询结果,不能对中断进行响应。对中断进行响应。5.5 外部中断的响应时间外部中断的响应时间在设计者使用外部中断时,有时需考虑从外部中断请求有效在设计者使
20、用外部中断时,有时需考虑从外部中断请求有效(外部中断请求标志置(外部中断请求标志置“1”)到转向中断入口地址所需要)到转向中断入口地址所需要的响应时间。下面来讨论这个问题。的响应时间。下面来讨论这个问题。外部中断的最短响应时间为外部中断的最短响应时间为3个机器周期。其中中断请求标志个机器周期。其中中断请求标志位查询占位查询占1个机器周期,而这个机器周期恰好处于指令的最个机器周期,而这个机器周期恰好处于指令的最后一个机器周期。在这个机器周期结束后,中断即被响应,后一个机器周期。在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令接着执行一条硬件子程序调用指令LCALL以转到相
21、以转到相应的中断服务程序入口,这需要应的中断服务程序入口,这需要2个机器周期。个机器周期。外部中断响应的最长时间为外部中断响应的最长时间为8个机器周期。这种情况发生在个机器周期。这种情况发生在CPU进行中断标志查询时,刚好才开始执行进行中断标志查询时,刚好才开始执行RETI或访问或访问IE或或IP的指令,则需把当前指令执行完再继续执行一条指的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断。执行上述的令后,才能响应中断。执行上述的RETI或访问或访问IE或或IP的指的指令,最长需要令,最长需要2个机器周期。而接着再执行一条指令,我个机器周期。而接着再执行一条指令,我们按最长的指令(
22、乘法指令们按最长的指令(乘法指令MUL和除法指令和除法指令DIV)来算,)来算,也只有也只有4个机器周期。再加上硬件子程序调用指令个机器周期。再加上硬件子程序调用指令LCALL的执行,需要的执行,需要2个机器周期,所以,外部中断响应的最长个机器周期,所以,外部中断响应的最长时间为时间为8个机器周期。个机器周期。29度。当外部中断源被设定为电平触发方式时,在中断服务程序度。当外部中断源被设定为电平触发方式时,在中断服务程序返回之前,外部中断请求输入必须无效(即外部中断请求输返回之前,外部中断请求输入必须无效(即外部中断请求输入已由低电平变为高电平),否则入已由低电平变为高电平),否则CPU返回主
23、程序后会再次返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输入响应中断。所以电平触发方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源(即外部中断输入电且中断服务程序能清除外部中断请求源(即外部中断输入电平又变为高电平)的情况。如何清除电平触发方式的外部中平又变为高电平)的情况。如何清除电平触发方式的外部中断请求源的电平信号,将在本章的后面介绍。断请求源的电平信号,将在本章的后面介绍。5.6.2 跳沿触发方式跳沿触发方式外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是外
24、部中断输入线上的负跳变。即便是CPU暂时不能响应,中暂时不能响应,中断请求标志也不会丢失。在这种方式下,如果相继连续两次断请求标志也不会丢失。在这种方式下,如果相继连续两次31采样,一个机器周期采样到外部中断输入为高,下一个机器采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则中断申请触发器置周期采样为低,则中断申请触发器置“1”,直到,直到CPU响应响应此中断时,该标志才清此中断时,该标志才清“0”。这样就不会丢失中断,但输。这样就不会丢失中断,但输入的负脉冲宽度至少保持入的负脉冲宽度至少保持12个时钟周期(若晶振频率为个时钟周期(若晶振频率为6MHz,则为,则为2 s),
25、才能被),才能被CPU采样到。外部中断的跳沿采样到。外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求。触发方式适合于以负脉冲形式输入的外部中断请求。5.7 中断请求的撤销中断请求的撤销 某个中断请求被响应后,就存在着一个中断请求的撤销问某个中断请求被响应后,就存在着一个中断请求的撤销问题。下面按中断请求源的类型分别说明中断请求的撤销。题。下面按中断请求源的类型分别说明中断请求的撤销。321定时器定时器/计数器中断请求的撤销计数器中断请求的撤销定时器定时器/计数器中断的中断请求被响应后,硬件会自动把中断计数器中断的中断请求被响应后,硬件会自动把中断请求标志位(请求标志位(TF0或或TF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 系统 单片机 原理 接口 技术 C51 编程 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内