收藏 分享(赏)

第5章中断系统.ppt

上传人:hwpkd79526 文档编号:8271099 上传时间:2019-06-17 格式:PPT 页数:87 大小:658KB
下载 相关 举报
第5章中断系统.ppt_第1页
第1页 / 共87页
第5章中断系统.ppt_第2页
第2页 / 共87页
第5章中断系统.ppt_第3页
第3页 / 共87页
第5章中断系统.ppt_第4页
第4页 / 共87页
第5章中断系统.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、1,第六章 中断系统,6.1 微机的输入/输出方式 6.2 中断的概念 6.3 8051中断系统结构及中断控制 6.4 中断响应及处理过程 6.5 中断程序举例,返 回,2,6.1 微机的输入/输出方式,6.1.1 无条件传送方式 6.1.2 查询传送方式 6.1.3 直接存储器存取(DMA)方式,返 回,3,6.1.1 无条件传送方式,CPU总是认为外设在任何时刻都处于“准备好”的状态。 这种传送方式不需要交换状态信息,只需在程序中加入访问外设的指令,数据传送便可以实现。,返 回,缺点:很容易丢失数据,4,6.1.2 查询传送方式(条件传送),一、什么是查询传送方式 二、查询方式程序流程图

2、三、查询方式的过程 四、查询方式的特点,返 回,5,一、什么是查询传送方式,在输入时,需要查询外设的输入数据是否准备好; 在输出时,需要查询外设是否把上一次CPU输出的数据处理完毕。 查询传送方式:通过查询外设的状态信息,确信外设已处于“准备好”,计算机才发出访问外设的指令,实现数据的传送。 状态信息:一般为1位二进制码。,返 回,6,二、查询方式程序流程图,输入状态信息,准备好?,传送数据,返 回,N,7,四、查询方式的特点,优点:通用性好,可以用于各类外设和CPU间的数据传送。 缺点:CPU在完成一次数据传送后要等待很长时间才能进行下一次的传送。在等待过程中,CPU不能进行其他操作,所以效

3、率比较低。,返 回,8,DMA:Direct Memory Access CPU让出数据总线(悬浮状态) ,使外设和存储器之间直接传送(不通过CPU)数据的方式。 适用于外设和存储器之间有大量的数据需要传送及外设工作速度很快的情况。,6.1.3 直接存储器存取(DMA)方式,返 回,缺点:需要DMA控制器,设备复杂成本高。,9,返 回,有没有即不占用CPU资源,又能保证传送的快速和准确,结构又不复杂的方法呢?,10,一、中断,当CPU正在处理某事件的时候,外部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再返回到原来被中止的地方

4、继续原来的工作,这样的过程称为中断。 中断流程如图5-2所示。,返 回,11,主程序,响应中断请求,中断服务程序,返回主程序,继续执行主程序,断点,图5-2 中断流程,返 回,12,6.2 中断的几个概念,一、中断 二、中断系统 三、中断源 四、中断请求 五、中断响应过程 六、中断服务 七、中断返回 八、中断方式的特点,返 回,13,二、中断系统,实现中断功能的部件称为中断系统,又称中断机构。,返 回,14,三、中断源,产生中断的请求源称为中断源。,返 回,15,四、中断请求,中断源向CPU提出的处理请求,称为中断请求或中断申请。,返 回,16,五、中断响应过程,CPU暂时中止自身的事物,转去

5、处理事件的过程,称为CPU的中断响应过程,返 回,17,六、中断服务,对事件的整个处理过程,称为中断服务(或中断处理)。,返 回,18,七、中断返回,中断处理完毕,在返回到原来被中止的地方,称为中断返回,返 回,19,八、中断方式的特点,1、中断方式消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。 2、将从现场采集的数据通过中断方式及时传送给CPU,经过处理后可立即作出反应,实现现场控制。采用查询方式很难做到及时采集,实时控制。,返 回,20,九、中断技术实现的功能,1、分时操作 2、实时处理 3、故障处理,返 回,21,1、分时操作,计算机的中断系统可以使CPU与外设同时工作

6、。 CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU发出中断请求,CPU响应该中断请求并为其服务完毕后,返回原来的断点处继续运行主程序。外设在得到服务后,也继续进行自己的工作。 因此,CPU可以使多个外设同时工作,并分时为各外设提供服务,从而提高了CPU的利用率和输入和输出的速度。,返 回,22,2、实时处理,当计算机用于实时控制时,请求CPU提供服务时随机发生的。有了中断系统,CPU就可以立即响应并加以处理。,返 回,23,3、故障处理,计算机在运行时往往会出现一些故障,如断电、存储器奇偶校验出错、运算溢出等。 有了中断系统,当出现上述情况

7、时,CPU可及时转去执行故障处理程序,自行处理故障而不必停机。,返 回,24,6.3 8051中断系统结构及中断控制,6.3.1 8051中断源 6.3.2 中断控制,返 回,25,6.3.1 8051中断源,一、8051中断系统的五个中断源 二、通常情况的中断源,返 回,26,一、8051中断系统的五个中断源,1、INT0外部中断0请求,低电平有效。通过P3.2引脚输入。 2、INT1外部中断1请求,低电平有效。通过P3.3引脚输入。 3、T0定时器/计数器0溢出中断请求。 4、T1定时器/计数器1溢出中断请求。 5、TX/RX串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。

8、,返 回,27,6.3.2 中断控制,返 回,28,返 回,问题:当有一个中断请求时,CPU是如何知道,有中断请求的呢?,每当有中断请求时,硬件会在某些存储器上坐标记,CPU在每个机器周期都会查看这些寄存器的,当看到这些标记的时候,就知道,有中断请求了。,29,一、中断请求标志,1、定时器控制寄存器TCON中的中断标志位 2、串行口控制寄存器SCON中的中断标志位,返 回,30,1、TCON中的中断标志位,TCON为定时器/计数器T0和T1的控制器,同时也锁存T0和T1的溢出中断标志及外部中断0和1的中断标志等。 与中断有关的位如图5-4所示。 各控制位的含义。,返 回,31,图5-4 TCO

9、N中的中断标志位,TCON (88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,返 回,32,各控制位的含义,1、TF1:定时器/计数器T1溢出中断请求标志位。当启动T1计数后,T1从初值开始加1计数,计数器最高位产生溢出时,由硬件使TF1置1,并向CPU发出中断请求。当CPU响应中断时,硬件将自动对TF1清0。 2、TF0:定时器/计数器T0溢出中断请求标志位。含义与TF1类同。,33,各控制位的含义,3、IE1:外部中断1的中断请求标志。 INT1(P3.3)。当检测到外部中断引脚1 上存在有效的中断请求信号时,由硬件使IE1置1。当CPU响应中断请求时,由硬件使I

10、E1清0。 4、IE0:外部中断0的中断请求标志。INT0(P3.2)。其含义与IE1类同。,34,各控制位的含义,5、IT1:外部中断1的中断触发方式控制位。IT1=0时,外部中断1程控为电平触发方式。CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。若外部中断1请求为低电平,则使IE1置1;若为高电平,则使IE1清0。,35,各控制位的含义,5、IT1:外部中断1的中断触发方式控制位。IT1=1时,外部中断1程控为边沿触发方式。CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断1请求引脚为高电平,

11、接着的下一个机器周期采样到为低电平,则使IE1置1。直到CPU响应该中断时,才由硬件使IE1清0。,36,各控制位的含义,6、IT0:外部中断0的中断触发方式控制位。其含义与IT1类同。,返 回,37,返 回,问题:当有些中断并不是程序设计者期望的,这些中断如何处理?,对于不希望处理的中断,可以屏蔽。,38,二、中断允许控制,1、中断允许寄存器IE的格式。 2、中断允许寄存器IE中各位的含义。,返 回,39,1、中断允许控制寄存器IE,IE (A8H),AFH AEH ADH ACH ABH AAH A9H A8H,返 回,40,2、中断允许寄存器IE中各位的含义。,EA中断允许总控制位。EA

12、=0,屏蔽所有的中断请求;EA=1,CPU开放中断。对各中断源的中断请求是否允许,还要取决于各中断源的中断允许控制位的状态。这就是所谓的两级控制。,41,2、中断允许寄存器IE中各位的含义。,ES串行口中断允许位。ES=0,禁止串行口中断;ES=1,允许串行口中断。,42,2、中断允许寄存器IE中各位的含义。,ET1定时器/计数器T1的溢出中断允许位。ET1=0,禁止T1中断;ET1=1,允许T1中断。,43,2、中断允许寄存器IE中各位的含义。,EX1外部中断1的溢出中断允许位。EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。,44,2、中断允许寄存器IE中各位的含义。,ET

13、0定时器/计数器T0的溢出中断允许位。ET0=0,禁止T0中断;ET0=1,允许T0中断。,45,2、中断允许寄存器IE中各位的含义。,EX0外部中断0的溢出中断允许位。EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。,返 回,46,例5-1,假设允许片内定时器/计数器中断,禁止其他中断。试根据假设条件设置IE的相应值。 解:(IE)=10001010B=8AH (a)用字节操作指令 MOV IE,#8AH;或 MOV A8H,#8AH; (b)用位操作指令 SETB ET0;定时器/计数器0允许中断 SETB ET1;定时器/计数器1允许中断 SETB EA ;CPU开中断,

14、返 回,47,返 回,问题:假如CPU正在响应某个中断,又有一个中断发出请求,此时CPU如何处理?,8051把中断分了优先级别,先处理高优先级的中断请求。,48,三、中断优先级控制,1、8051的中断优先级 2、中断优先级寄存器IP 3、中断优先级排列顺序 4、中断优先级控制实现的功能 5、例5-2,返 回,49,1、8051的中断优先级,8051有两个中断优先级。 每个中断请求源均可编程为高优先级中断或低优先级中断。 中断系统中有两个不可寻址的“优先级生效”触发器,分别指出CPU正在执行的高、低优先级的中断服务程序。当其为1时则分别屏蔽所有的中断请求。,返 回,50,2、中断优先级寄存器IP

15、,中断优先级寄存器IP的格式 中断优先级寄存器IP各控制位的含义,返 回,51,中断优先级寄存器IP的格式,PS,PT1,PX1,PT0,PX0,IP (B8H),BCH BBH BAH B9H B8H,返 回,52,中断优先级寄存器IP各控制位的含义,PS串行口中断优先级控制位 PT1定时器/计数器T1中断优先级控制位 PX1外部中断1中断优先级控制位 PT0定时器/计数器T0中断优先级控制位 PX0外部中断0中断优先级控制位 若某控制位为1,则相应的中断源规定为高级中断;反之,为0,则相应的中断源规定为低级中断。,返 回,53,3、中断优先级排列顺序,当同时接收到几个同一优先级的中断请求时

16、,响应哪个中断源则取决于内部硬件查询顺序。 其优先级顺序排列如 图5-8所示。,返 回,54,图5-8 优先级排列顺序,中断源 同级内的中断优先级外部中断0中断 高级 定时器/计数器T0溢出中断 外部中断1 定时器/计数器T1溢出中断 串行口中断 低级,返 回,55,4、中断优先级控制实现的功能,(1)按内部查询顺序排队 (2)实现中断嵌套,返 回,56,(1)按内部查询顺序排队,当数个中断源同时向CPU发出中断请求时,CPU根据设计者事先确定的中断源顺序号的次序,依次响应其中断请求。,返 回,57,(2)实现中断嵌套,当CPU正在处理一个中断请求时,又出现了另一个优先级比它高的中断请求,这时

17、,CPU就暂时中止执行对原来优先级较低的中断源的服务程序,保护当前断点,转去响应优先级更高的中断请求,并为它服务。待服务结束,再继续执行原来较低级的中断服务程序。该过程称为中断嵌套。该中断系统称为多级中断系统。 二级中断嵌套的中断过程如 图5-9 所示。,返 回,58,图5-9 二级中断嵌套,返 回,CPU在执行主程序,低级中 断请求,响应低级中断请求,CPU执行低级 中断服务程序,高级中 断请求,响应高级中断请求,CPU执行高级 中断服务程序,返回低级中断程序,返回主程序,59,5、例5-2,设8031的片外中断为高优先级,片内中断为低优先级。设置IP相应值。 解:(IP)=00000101

18、B=05H (a)用字节操作指令MOV IP,#05H;或 MOV 0B8H,#05H; (b)用为操作指令SETB PX0SETB PX1CLR PSCLR PT0CLR PT1,返 回,60,5.4 中断响应及处理过程,5.4.1 中断处理过程的三个阶段 5.4.2 中断响应 5.4.3 中断处理 5.4.4 中断返回,返 回,61,5.4.1 中断处理过程的三个阶段,中断处理过程可分为: 中断响应 中断处理 中断返回 中断处理的大致流程如 图 5-10所示。,返 回,62,图5-10 中断处理的大致流程,返 回,保护现场,为外设服务,恢复现场,主程序,N,K,N+m,K+1,返回,中 断

19、 处 理,63,5.4.2 中断响应,一、中断响应条件 二、中断响应操作过程 三、中断响应时间,返 回,64,一、中断响应条件,有中断源发出中断请求。 中断总允许位EA=1,即CPU中断。 申请中断的中断源的中断允许位为1,即中断没有被屏蔽。 无同级或更高级中断正在被服务。 当前的指令周期已经结束。 若现行指令为RETI或是访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完。,返 回,65,二、中断响应操作过程,1、中断响应操作过程 2、各中断源及其对应的矢量地址,返 回,66,1、中断响应操作过程, 把当前PC值压入堆栈,保护断点。 将相应的中断服务程序的入口地址送入PC。 对有些中

20、断源,CPU会自动清除中断标志。 执行中断服务程序。 执行到返回指令RETI,中断服务程序结束,将堆栈内容弹出到PC,返回到原来断点继续执行。,返 回,67,2、各中断源及其对应的矢量地址,返 回,68,5.5 中断程序编写,5.6.1 主程序 5.6.2 中断服务程序 5.6.3 中断服务程序举例,返 回,69,5.5.1 主程序,1、主程序的起始地址 2、主程序的初始化内容,返 回,70,1、主程序的起始地址,MCS-51系列单片机复位后,(PC)=0000H 而0003H002BH分别为各中断源的入口地址。 编程时应在0000H处写一条跳转指令(一般为长跳转指令),主程序是以跳转的目标地

21、址作为起始地址开始编写,一般从003H开始,如 图5-12所示。,返 回,71,图5-12 主程序地址,返 回,72,2、主程序的初始化内容,初始化:将用到的内部部件或扩展芯片进行初始工作状态设定。 单片机复位后,特殊功能寄存器IE、IP内容均为00H,所以应对IE、IP进行初始化编程,以开放中断,允许某些中断源中断和设置中断优先级等。,返 回,73,5.5.2 中断服务程序,当CPU接收到中断请求信号并予以响应后,CPU把当前的PC内容压入堆栈进行保护,然后转入响应的中断服务程序入口处执行。 1、中断服务程序的起始地址 2、中断服务程序编制中的注意事项,返 回,74,1、中断服务程序的起始地

22、址,中断系统对五个中断源分别规定了各自的入口地址,但这些入口地址相距很近(8个字节)。 如中断服务程序的指令代码少于8个字节,则可从规定的中断服务程序入口地址开始,直接编写中断服务程序; 如中断服务程序的指令代码大于8个字节,则应采用与主程序相同的方法,在相应的入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程。,75,1、中断服务程序的起始地址,以INT0为例,中断矢量地址为0003H,中断服务程序从0200H开始。如 图5-13所示。,返 回,76,图5-13 中断服务程序地址,返 回,77,2、中断服务程序编制中的注意事项, 视需要确定是否保护现场。 及时清除

23、那些不能被硬件自动清除的中断请求标志,以免产生错误的中断。 中断服务程序中的压栈与弹栈指令必须成对使用,以确保中断服务程序的正确返回。 主程序和中断服务程序之间的参数传递与主程序和子程序的参数传递方式相同。,返 回,78,三、中断响应时间,CPU不是在任何情况下都对中断请求予以响应,而不同的情况下对中断响应的时间是不同的。 对于顺利的中断响应,其最短的响应时间为3个机器周期。 对于受阻的中断响应,则响应时间会更长一些。 若中断系统只有一个中断源,则响应时间为38个机器周期之间。,返 回,79,5.6 外部中断扩展方法,8051单片机有两个外部中断亲求请求输入端(INT0和INT1)。实际应用中

24、,若外部中断源有两个以上,则需要扩展外部中断源。 5.5.1 利用定时器扩展外部中断源 5.5.2 中断加查询扩展外部中断源,返 回,80,5.6.1 利用定时器扩展外部中断源,8051单片机有两个定时器,多具有两个内部中断标志和外部计数输入引脚。 当定时器设置为计数方式时,计数初值设置为满量程FFH。一旦外部信号从计数器引脚输入一个负跳变信号,计数器加1产生溢出中断,从而转去处理该外部中断源的请求。 将外部中断源信号接至T0或T1引脚;该定时器的溢出中断标志及中断服务程序作为扩充外部中断源的标志和中断服务程序。,返 回,81,5.6.2 中断加查询扩展外部中断源,所有的中断输入线通过电路运算

25、后合成一根输出线,从而触发中断,同时查询输入端口线作为各个中断源的识别线。 具体线路如 图5-11所示。,返 回,82,多个外部中断源连接法,返 回,83,5.6.3 中断服务程序举例,返 回,如图所示,此中断电路可实现系统的故障显示。当系统的各部分正常工作时,四个故障源的输入均为低电平,显示灯全不亮。当有某个部分出现故障时,则相应的输入线有低电平变为高电平,相应的发光二极管亮。,?,84,图5-15 利用中断显示系统故障,返 回,85,例5-4,解:如图所示,当某一个故障信号输入线由低电平变为高点平时,会通过 INT0线引起8031中断(边沿触发方式)。在中断服务程序中,应将各故障源的信号读

26、入,并加以查询,以进行相应的发光显示。,86,例5-4,源程序如下:ORG 0000HSJMP MAIN;上电,转向主程序ORG 0003H;外部中断0入口地址SJMP INSER;转向中断服务程序MAIN: SETB EX0 ;允许外部中断0中断SETB IT0 ;选择边沿触发方式SETB EA ;CPU开中断 HERE: SJMP HERE ;等待中断,87,例5-4,INSER:ORL P1,#55H;P1.0,P1.2,P1.4,P1.6为输入P1.1,P1.3,P1.5,P1.7为输出JNB P1.0,L1;查询中断源,( P1.0)=0,转L1SETB P1.1 ;是P1.0引起的中断,使相应的二极管亮 L1: JNB P1.2,L2;继续查询SETB P1.3 ; L2: JNB P1.4,L3SETB P1.5 L3: JNB P1.6,L4;SETB P1.7 L4: RETIEND,返 回,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报