《中断系统》PPT课件.ppt

上传人:小飞机 文档编号:5456391 上传时间:2023-07-09 格式:PPT 页数:37 大小:599.50KB
返回 下载 相关 举报
《中断系统》PPT课件.ppt_第1页
第1页 / 共37页
《中断系统》PPT课件.ppt_第2页
第2页 / 共37页
《中断系统》PPT课件.ppt_第3页
第3页 / 共37页
《中断系统》PPT课件.ppt_第4页
第4页 / 共37页
《中断系统》PPT课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《《中断系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《中断系统》PPT课件.ppt(37页珍藏版)》请在三一办公上搜索。

1、5.1 中断系统概述,5.2 AT89C51中断系统,第5章 中断系统,本章内容:,5.3 中断系统的应用,5.1 中断系统概述,1.什么叫中断?CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序,这一过程叫做中断。,中断概念示意图,看电视,中断处理,中断请求,实际生活,中断返回,电话铃响,接听电话,看电视,主程序,计算机,事件发生,事件处理,主程序,2为什么要设中断,中断解决了快速主机与慢速I/O设备的数据传送,还具有如下优点:(1)分时操作。CPU可以分时为多个I/O设 备服务,提高了计算机的利用率;(2)实时响应。CPU能够及

2、时处理应用系 统的随机事件,系统的实时性大大增强;(3)可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,3中断源及其优先级,中断源是指能发出中断请求,引起中断的装置或事件。一个单片机系统通常有多个中断源,而单片机CPU在某一时刻只能响应一个中断源的中断请求,当多个中断源同时向CPU发出中断请求时,则必须按照“优先级别”进行排队,CPU首先选定其中中断级别最高的中断源为其服务,然后按由高到低的排队顺序逐一服务,完毕后返回断点地址,继续执行主程序。这就是“中断优先级”的概念。,4.中断源的管理,单片机系统中有一个专门用来管理中断源的机构,它就是中断控制寄存器,我们可

3、以通过对其编程来设置中断源的优先级别以及是否允许某个中断源的中断请求等。,AT89C51单片机,中断系统的5、4、3、2、1。5个中断源(INT0、T0、INT1、T1、串行中断);4个中断控制寄存器(TCON、SCON、IE、IP);3个控制内容(中断标志、中断允许、中断优先);2个优先级别(高级、低级);1个中断系统,5.2 AT89C51中断系统的结构,5.2.1 中断源及中断系统构成 1.5个中断源:(1)INT0:外部中断0;(2)INT1:外部中断1;(3)T0:定时/计数器0溢出中断;(4)T1:定时/计数器1溢出中断;(5)串行中断(包括串行接收中断RI和串行发 送中断TI)。

4、,2.AT89C51中断系统结构示意图,IE0,EX0,TF0,IE1,TF1,TI,ES,ET1,EX1,ET0,RI,IP,硬件查询,高级中断请求,低级中断请求,中断入口地址,中断源,INT0,INT1,中断入口地址,中断源,1,0,IE,PX0,PS,PT1,PX1,PT0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,EA,1,1,SCON,1,1,T0,T1,RX,TX,IT0,IT1,0,0,TCON,1.中断请求标志,IT0(IT1):外中断0(1)触发方式控制位。=0,电平触发方式。=1,边沿触发方式(下降沿有效)。IE0(IE1):外中断0(1)中断请求标志位。

5、TF0(TF1):T0(T1)溢出中断请求标志位。,TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TCON(88H),TR0(TR1)为T0(T1)启动、停止控制位。,1)TCON的中断标志,5.2.2 中断标志与中断控制,2)SCON的中断标志,RI,接收中断标志位。TI,发送中断标志位。,TI RI,SCON(98H),注意:RI和TI由硬件置位、由软件清除。,1)中断允许控制寄存器IE,2.中断控制,EX0,外中断0允许位。ET0,T0中断允许位;EX1,外中断0允许位;ET1,T1中断允许位;ES,串口中断允许位;EA,CPU中断允许(总允许)位。,EA ES ET1

6、 EX1 ET0 EX0,IE(A8H),2)中断优先级控制寄存器IP,PX0,外中断0优先级设定位;PT0,T0优先级设定位;PX1,外中断0优先级设定位;PT1,T1优先级设定位;PS,串口优先级设定位。,PS PT1 PX1 PT0 PX0,IP(B8H),同一优先级的优先权排队如下表:,中断优先级三条原则:,同时收到几个中断时,响应优先级别最高的 中断过程不能被同级、低优先级所中断 低优先级中断服务,能被高优先级中断,有2个优先级状态触发器:高优先级状态触发器 低优先级状态触发器,5.2.3 中断处理过程,中断响应条件(1)有中断请求;(2)对应中断允许位为1;(3)开中断(即EA=1

7、)。同时满足时,才可能响应中断。,1.中断响应条件,2.中断服务的进入:(1)每个周期的S5P2,采样各中断源。采样值在下一个周期按优先级和内部 顺序查询。,(2)某中断在上一个周期的S5P2被置1,它将于查询周期被发现。CPU便执行一条硬件LCALL指令,转向中断向量的特定地址单元,进入相应的中断程序。,硬件受阻,不产生LCALL的几种情况:(1)正在处理同级或高优先级中断;(2)当前查询的机器周期不是所执行指令的最后一 个机器周期。(3)正执行的指令为RET、RETI或任何访问IE或IP 的指令(只有在这些指令后面至少再执行一条指 令时才能接受中断请求)。,受阻未得到响应的中断,若条件消失

8、时该中断标志已不再有效,该中断将不被响应。,3.中断响应时间,中断响应(从标志置1到进入相应的中断服务),至少要3个完整的机器周期。,1.相应优先级状态触发器置1 2.执行硬件LCALL指令 1)把PC的内容入栈 2)相应中断服务程序的入口送PC 3.执行中断服务程序。,中断响应过程,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,中断返回,1.RETI的功能:将压入堆栈的断点地址从栈顶弹回PC 将优先级状态触发器清0,注意:不能用RET指令代替RETI指令。中断服务程序中PUSH与POP须成对使用,2.电平触发方式:中断标志随中断引脚电平而变化,中断

9、请求的响 应速度快。但有效电平必须保持到响应时,避免漏掉;在中断服务程序结束之前,必须撤消该有效电 平,避免中断返回后再次产生中断。,此方式适于外中断输入低电平,且中断服务程序能清除外中断请求源的情况。(如,8255的中断请求线在读或写后即被复位,以其去请求电平触发方式的中断比较方便)。,3 边沿触发方式:采到有效边沿后,则在IE0或IE1中将锁存一个1。即便是CPU暂时不能响应,该标志也不会丢失,直到响应此中断时才清零。负脉冲宽度至少要保持一个机器周期。,此方式适于以负脉冲形式输入的外部中断请求(如ADC0809的EOC为正脉冲,经反相后就可以作为80C51的中断输入)。,5.3 中断系统的

10、应用,5.3.1 中断初始化 1.设置堆栈指针SP 设置适宜的堆栈深度。(1)深度要求不高且工作寄存器组13不用时,可维持复位时状态:SP=07H,深度为 24B(20H2FH为位寻址区)。(2)要求有一定深度时,可设SP=60H或50H,这时深度分别为32B和48B。,2.定义中断优先级 根据中断源的轻重缓急,划分高优先级和低优先级。3.定义外部中断触发方式 一般情况下,应定义边沿触发方式为宜。若外部中断必须采用电平触发方式时,应在硬件电路上和中断服务程序中采取撤除中断请求信号的措施。4.开放中断 注意:由于AT89C51采用了二级中断控制方式,因此开放中断必须同时开放二级中断控制,即同时置

11、位EA和需要开放中断的中断允 许控制位。,5.3.2 中断服务主程序,在中断服务入口地址设置一条跳转指令,以 便转移到中断服务程序的实际入口处。,(2)数据需要保护现场。通常是保护Acc、PSW和DPTR等等特殊功能寄存器中的内容。,(3)中断源请求中断服务要求的操作,这是中断服务程序的主体。,(4)若是外部中断电平触发方式,应有中断 标志撤除操作。若是串行收发中断,应 有对RI、TI清0指令。,(5)恢复现场。与保护现场相对应,注意按“先进后出、后进先出”的原则操作。(6)中断返回,最后一条指令必须是RETI。,P1,P3.0,Q,D,CLK,CLR,选通信号,+5V,INT0,数据,89C

12、51,Vcc,例:单外中断源,5.3.3 中断系统应用举例,ORG 0000HSTART:LJMP MAIN;跳转到主程序 ORG 0003H LJMP INTO;转中断服务程序 ORG 0030H;主程序 MAIN:CLR IT0;设为电平触发方式 SETB EA;CPU开放中断 SETB EX0;允许中断 MOV DPTR,#1000H;设置数据区指针,主程序:,ORG 0200H INT0:PUSH PSW;保护现场 PUSH ACC CLR P3.0;由P3.0输出0 NOP NOP SETB P3.0;由P3.0输出1,撤除 MOV A,P1;输入数据 MOVX DPTR,A;存入数

13、据存储器 INC DPTR;修改指针,指向下一单元 POP ACC;恢复现场 POP PSW RETI;中断返回,中断服务程序:,例 5个外部中断源系统,ORG 0003H LJMP INSE0;转外部中断0服务程序入口 ORG 0013H LJMP INSE1;转外部中断1服务程序入口 INSE0:PUSH PSW;XI0中断服务程序 PUSH ACC POP ACC POP PSW RETI,INSE1:PUSH PSW;中断服务程序 PUSH ACC JB P1.0,DV1;P1.0为1,转XI1中断服务程序 JB P1.1,DV2;P1.1为1,转XI2中断服务程序 JB P1.2,D

14、V3;P1.2为1,转XI3中断服务程序 JB P1.3,DV4;P1.3为1,转XI4中断服务程序INRET:POP ACC POP PSW RETI DV1:;XI1中断服务程序 AJMP INRET DV2:;XI2中断服务程序 AJMP INRET DV3:;XI3中断服务程序 AJMP INRET DV4:;XI4中断服务程序 AJMP INRET,思考题及习题,1.89C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少?2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、

15、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?4.定时/计数器工作于定时和计数方式时有何异同点?,5.定时/计数器的4种工作方式各有何特点?要求定时/计数器的运行控制完全由TR1、TR0确 定和完全由、高低电平控制时,其初始化编程应作何处理?7.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1的开启和关闭?8.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。,9.要求从P1.1引脚输出1000Hz方波,晶振频率为 12MHz。试设计程序。10.试用定时/计数器T1对外部事件计数。要求每计 数100,就将T1改成定时方式,控制P1.7输出一 个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。11.利用定时/计数器T0产生定时时钟,由P1口控制8个 指示灯。编一个程序,使8个指示灯依次一个一个 闪动,闪动频率为20次/秒(8个灯依次亮一遍为一 个周期)。12.若晶振频率为12MHz,如何用T0来测量201s之 间的方波周期?又如何测量频率为0.5MHz左右的 脉冲频率?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号