单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统

上传人:E**** 文档编号:89493104 上传时间:2019-05-25 格式:PPT 页数:38 大小:327.50KB
返回 下载 相关 举报
单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统_第1页
第1页 / 共38页
单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统_第2页
第2页 / 共38页
单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统_第3页
第3页 / 共38页
单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统_第4页
第4页 / 共38页
单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统》由会员分享,可在线阅读,更多相关《单片机原理及应用 教学课件 ppt 作者 徐敏 第5章 MCS-51中断系统(38页珍藏版)》请在金锄头文库上搜索。

1、第5章 MCS-51中断系统,【学习目标】 掌握中断系统的基本概念,熟记MCS-51五个中断源及其中断入口地址; 熟悉功能寄存器TCON、SCON、IE、IP的结构、控制作用和设置方法; 理解MCS-51中断响应过程及处理方法; 理解中断服务程序与调用子程序的区别; 掌握中断应用程序的编写方法。,5.1 中断系统概述 1中断的概念 所谓中断就是指CPU正在处理某事件时,外部发生了另一事件(例如一个电平的变化、一个脉冲沿的发生、定时/计数器溢出等)请求CPU迅速去处理,于是,CPU暂停当前的程序,转去处理所发生的事情;当处理完所发生的事情后,再回到原来被暂停的程序处继续原来的工作。这样的过程称为

2、中断,具体流程如图5.1所示,对事件的整个处理过程称为中断服务(或中断处理),实现这种功能的部件称为中断系统(中断机构),产生中断的请求源称为中断源。中断源向CPU提出的处理请求,称为中断请求或中断申请。 CPU暂时中止执行的程序,转去执行中断服务程序,除了硬件会自动把断点地址(16位程序计数器PC的值)压入堆栈之外,用户还得注意保护有关的工作寄存器、累加器、标志位等信息,这称为保护现场。,在完成中断服务程序后,恢复有关的工作寄存器、累加器、标志位内容,这称为恢复现场。最后执行中断返回指令,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序,这称为中断返回。 调用中断服务程序的过程类似于调用

3、子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令。因此,调用中断服务程序的过程是由硬件自动完成的。,2中断的作用 提高CPU工作效率 具有实时处理功能 具有故障处理功能 实现分时操作,中断功能强弱是计算机性能优劣的重要标志,3中断系统的功能 为了正确地处理中断任务并能满足各种中断源的中断请求,计算机的中断系统应该具有以下功能。 1)能实现中断及返回。 2)能实现中断优先级排队。 3)能实现中断嵌套。,5.2 MCS-51单片机的中断系统 有5个中断请求源,两个中断优先级,可两级嵌套。 MC

4、S-51单片机的中断系统结构示意图,如图5-3所示。, INT0:外部中断0,中断请求信号由P3.2输入。 INT1:外部中断1,中断请求信号由P3.3输入。 T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。 串行中断:包括串行接收中断RI和串行发送中断TI。,5.2.1 中断源及中断入口 中断源是指能发出中断请求,引起中断的装置或事件。 MCS-51单片机共有5个中断源,其中2个为外部中断源,3个为内部中断源:,5个中断源分别对应5个固定的中断入口地址。当某中断源的中断请求被CPU响应之后,CPU将把此中断源的入口地址

5、装入PC,中断服务程序即从此地址开始执行。此地址称为中断入口,亦称为中断矢量。在MCS-51单片机中各中断源以及与之对应的入口地址分配见表5.1。,5.2.2 中断控制 MCS-51单片机中涉及中断控制的有4个特殊功能寄存器: 1)定时和外中断控制寄存器TCON。 2)串行口中断控制寄存器SCON。 3)中断允许控制寄存器IE。 4)中断优先级控制寄存器IP。,1中断请求标志寄存器 MCS-51对每一个中断请求都对应有一个中断请求标志位,中断请求被响应前,中断请求由CPU锁存在特殊功能寄存器TCON和SCON的相应中断标志位中。 (1)定时和外中断控制寄存器TCON TCON为定时/计数器T0

6、和T1的控制寄存器,同时也锁存T0和T1的溢出中断标志及外部中断( 和 )的中断标志等。TCON可采用字节操作指令或位操作指令进行设置,其字节地址为88H,位地址8FH88H,其相关的位地址见表5.2。,TCON位功能: TF1 T1溢出中断请求标志 T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志 T0计数溢出后,TF0=1 TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。 IE1 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 IE0 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1 IE0/IE1:外

7、部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。, IT1 外中断触发方式控制位 IT1=1,边沿触发方式,即P3.3出现下跳边 脉冲有效; IT1=0,电平触发方式。 IT0 外中断触发方式控制位 其意义和功能与IT1相似。,IT0/IT1:外部中断请求的触发方式选择位: =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效.,(2)串行中断控制寄存器SCON SCON为串口控制寄存器,其字节映像地址为98H,也可以进行位寻址。串口的接收和发送数据中断请求标志位(RI、TI)被锁存在串口控制寄存器SCON中,其相关的

8、位地址见表5.3。,SCON寄存器各位的含义如下。 1)TI:串行口的发送中断请求标志位。将一个字节的数据写入发送缓冲器SBUF时,就启动一帧串行数据的发送,每发送完一帧串行数据后,硬件自动将TI位置为1。但CPU响应中断时,并不清除TI,必须在中断服务程序中用软件对TI清零。 2)RI:串行口接收中断请求标志位。在串行口允许接收时,每接收完一个串行帧,硬件自动将RI位置1。但CPU在响应本中断时,并不清除RI,必须在中断服务程序中用软件对RI清零。 CPU复位后,TCON和SCON各位清零,CPU关中断,所有中断请求被禁止。,2中断允许控制寄存器IE CPU对中断系统所有中断以及某个中断源的

9、开放和屏蔽是由中断允许寄存器IE控制的。IE的状态可用软件对各位分别置1或清零,从而实现对各中断源中断允许或屏蔽。IE寄存器的字节地址是A8H,位地址为AFHA8H。,各位的含义如下。 1)EA:CPU中断允许总控制位。 EA = 1,表示CPU开放中断,但每个中断源的中断请求是允许还是禁止,要由各自的允许位控制; EA = 0,表示CPU禁止所有中断,即所有的中断请求被屏蔽,称关中断。 2)ES:串行口中断控制位。 ES = 1,允许串行口中断; ES = 0,禁止串行口中断。 3)ETl:T1中断控制位。 ETl = 1,允许T1中断; ETl = 0,禁止T1中断。 4)EXl:外部中断

10、1控制位。 EX1 = 1,允许外部中断1中断; EX1 = 0,禁止外部中断1中断。 5)ET0:T0中断控制位。 ET0 = 1,允许T0中断; ET0 = 0,禁止T0中断。 6)EX0:外部中断0控制位。 EX0 = 1,允许外部中断0中断; EX0 = 0,禁止外部中断0中断。,例如:要使INT0开中(其余关中),可执行下列指令: SETB EA SETB EX0 或者 MOV IE ,#10000001B 或者 ORL IE ,#10000001B,说明: MCS-51对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。,M

11、CS-51单片机有5个中断源,有两个中断优先级:高优先级和低优先级,可实现两级中断服务嵌套,由IP控制。只要对IP各位置1或清零,就可对各中断源设置高优先级或低优先级。相应位置1,定义为高优先级;相应位清零,定义为低优先级。IP寄存器的字节地址为0B8H,位地址为0BFH0B8H。IP相关的位地址见表5.5。,3中断优先级控制寄存器IP,各位的含义如下。 1)PX0:外部中断0中断优先级控制位。 PX01,外部中断0定义为高优先级中断; PX00,外部中断0定义为低优先级中断。 2)PT0:定时/计数器T0中断优先级控制位。 PT01,T0溢出中断定义为高优先级中断; PT00,T0溢出中断定

12、义为低优先级中断。 3)PX1:外部中断1中断优先级控制位。 PX11,外部中断1定义为高优先级中断; PX10,外部中断1定义为低优先级中断。 4)PT1:定时/计数器T1中断优先级控制位。 PT11,T1溢出中断定义为高优先级中断; PT10,T1溢出中断定义为低优先级中断。 5)PS:串行口中断优先级控制位。 PS1,串行口中断定义为高优先级中断; PS0,串行口中断定义为低优先级中断。,MCS-51单片机响应中断的基本原则如下: 1)低优先级中断可被高优先级中断请求所中断,反之则不能。 2)在同一优先级中(不管是高优先级或低优先级),某个中断一旦得到响应,与它同级的中断请求就不能再中断

13、它。 CPU同时接收到几个中断时,首先响应优先级最高的中断请求。如果同级的多个中断请求同时出现,则按CPU查询次序确定的中断优先权排队来响应,其确定的查询次序见表5.6。由此可见,各中断源在同一个优先级的条件下,外部中断0的中断优先权最高,串行口中断优先权最低。,查询顺序如表5-6: 表5-6 中断源同级优先次序 中断源 中断级别 外部中断0 最高 T0溢出中断 外部中断1 T1溢出中断 串行口中断 最低,5.3 中断处理过程 中断处理过程可分为三个阶段,即中断响应、中断处理和中断返回。所有计算机的中断处理都有这样三个阶段,但不同的计算机由于中断系统的硬件结构不完全相同,因而中断响应的方式有所

14、不同,其一般的流程图如图5.4所示。,5.3.1 中断响应 1CPU的中断响应条件 CPU响应中断的条件主要有以下几点: 1)由中断源发出中断申请。 2)中断总允许位EA1,即CPU允许所有中断源申请中断。 3)申请中断的中断源的中断允许位为1,即此中断源没有被屏蔽,可以向CPU申请中断。 以上是CPU响应中断的基本条件。若满足,CPU一般会响应中断,但如果有下列任一种情况存在,中断响应即被封锁。 1)CPU正在执行一个同级或高级的中断服务程序。 2)当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令完成前任何中断请求都得不到响应。 3)正在执行的指令是返回指令RETI或者对专用

15、寄存器IE、IP进行读写的指令时,在执行RETI或者读写IE或IP之后,不会马上响应中断请求。,2中断响应过程 如果中断响应条件满足,且不存在中断受阻的情况,则CPU响应中断。此时,中断系统通过硬件生成的长调用指令“LCALL”,自动把断点地址压入堆栈保护(但不保护状态寄存器PSW及其他寄存器内容),然后将对应的中断入口地址装入程序计数器PC使程序转向该中断入口地址,并执行中断服务程序。,5.3.2 中断处理 中断处理(又称中断服务)程序从入口地址开始执行,直到返回指令“RETI”为止,这个过程称为中断处理。,5.3.3 中断返回 中断返回是指中断服务完成后,计算机返回到断点(原来断开的位置)

16、,继续执行原来的程序。中断返回由专门的中断返回指令“RETI”实现。该指令的功能是把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别要注意不能用“RET”指令代替“RETI”指令。,恢复断点地址: 将原来压入堆栈中的PC断点地址从堆栈中弹出,送回PC。这样CPU就返回到原断点处,继续执行被中断的原程序。初学者容易模糊的是,中断返回,返回哪里? 答案是:从什么地方来,回什么地方去。不是返回到相应中断的入口地址,而是返回到中断断点地址。,5.3.4 中断响应时间 外部中断的最短的响应时间为3个机器周期: (1)中断请求标志位查询占1个机器周期。 (2)子程序调用指令LCALL转到相应的中断服务程序入口,需2个机器周期。 外部中断响应的最长的响应时间为8个机器周期: (1)发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则

展开阅读全文
相关资源
相关搜索

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

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