微机原理-05-中断课件.ppt

上传人:飞****2 文档编号:82454009 上传时间:2023-03-25 格式:PPT 页数:36 大小:970.50KB
返回 下载 相关 举报
微机原理-05-中断课件.ppt_第1页
第1页 / 共36页
微机原理-05-中断课件.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《微机原理-05-中断课件.ppt》由会员分享,可在线阅读,更多相关《微机原理-05-中断课件.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五章中断系统第五章中断系统5.1 微机的输入微机的输入/输出方式输出方式5.2 中断的概念中断的概念5.3 89C51中断系统结构及中断控制中断系统结构及中断控制5.4 中断处理过程中断处理过程 5.5 外部中断扩展方法外部中断扩展方法5.6 中断程序举例中断程序举例v5.7 思考题与习题思考题与习题5.1 5.1 微机的输入微机的输入/输出方式输出方式5.1.1 5.1.1 无条件传送方式无条件传送方式 不需要交换状态信息,只需在程序中加入访问外设的指令,不需要交换状态信息,只需在程序中加入访问外设的指令,数据传送便可以实现。数据传送便可以实现。5.1.2 5.1.2 查询传送方式(条件传

2、送)查询传送方式(条件传送)通过查询外设的状态信息,确信外设已处于通过查询外设的状态信息,确信外设已处于“准备好准备好”,计算机才发出访问外设的指令,实现数据的传送。计算机才发出访问外设的指令,实现数据的传送。输出时,要查询外设是否把上一次输出时,要查询外设是否把上一次CPUCPU输出的数据处理完毕。输出的数据处理完毕。状态信息:一般为状态信息:一般为1 1位二进制码。位二进制码。输入时,需要查询外设的输入数据是否准备好;输入时,需要查询外设的输入数据是否准备好;输入状态信息输入状态信息准备好?准备好?传送数据传送数据YN查询方式程序流程图查询方式程序流程图缺点:缺点:CPUCPU在完成一次数

3、据传送后在完成一次数据传送后要等待很长时间才能进行下一要等待很长时间才能进行下一次的传送。在等待过程中,次的传送。在等待过程中,CPUCPU不能进行其他操作,所以效率不能进行其他操作,所以效率比较低。比较低。优点:通用性好,可以用于各类优点:通用性好,可以用于各类外设和外设和CPUCPU间的数据传送。间的数据传送。5.1.3 5.1.3 直接存储器存取(直接存储器存取(DMADMA)方式)方式/DMA:Direct Memory Access/CPUCPU让出数据总线(悬浮状态)让出数据总线(悬浮状态),使外设和存储,使外设和存储器之间直接传送(不通过器之间直接传送(不通过CPUCPU)数据的

4、方式。数据的方式。/适用于外设和存储器之间有大量的数据需要传送及外设适用于外设和存储器之间有大量的数据需要传送及外设工作速度很快的情况。工作速度很快的情况。5.1.45.1.4中断传送方式中断传送方式 当当CPUCPU正在正在工作时,外部事工作时,外部事件请求件请求CPUCPU迅速迅速去处理,于是去处理,于是CPUCPU暂停当前工暂停当前工作,转去处理外作,转去处理外部事件。中断服部事件。中断服务处理完毕后,务处理完毕后,再返回到原来被再返回到原来被暂停的地方继续暂停的地方继续原来的工作,这原来的工作,这样的过程称为中样的过程称为中断。断。主主程程序序响应中断请求响应中断请求中中断断服服务务程

5、程序序返回主程序返回主程序继继续续执执行行主主程程序序断点中断请求5.25.2 中断的概念中断的概念一、什么是中断一、什么是中断 二、中断源二、中断源引起并发出中断请求的源头引起并发出中断请求的源头三、中断源识别三、中断源识别中断发生后,系统如何识别是哪一个中断源引起的中断。中断发生后,系统如何识别是哪一个中断源引起的中断。四、中断控制四、中断控制 中断允许、中断优先级控制中断允许、中断优先级控制五、中断优点五、中断优点1.1.分时操作提高主机效率分时操作提高主机效率2.2.实时处理实时处理3.3.随机故障处理随机故障处理5.3.1 89C515.3.1 89C51中断源中断源和中断请求标志和

6、中断请求标志80518051提供提供5 5个中断源:个中断源:vINT0INT0 P3.2P3.2引脚上的外部中断请求(外中断引脚上的外部中断请求(外中断0 0)vINT1INT1 P3.3P3.3引脚上的外部中断请求(外中断引脚上的外部中断请求(外中断1 1)vT0T0 片内定时器片内定时器/计数器计数器0 0溢出(溢出(TF0TF0)中断请求中断请求vT1T1 片内定时器片内定时器/计数器计数器1 1溢出(溢出(TF1TF1)中断请求中断请求vTI/RI TI/RI 片内串行口完成一帧发送或接收中断请求源片内串行口完成一帧发送或接收中断请求源说明:说明:v每一个中断源都对应有一个中断请求标

7、志位,设在每一个中断源都对应有一个中断请求标志位,设在SFRSFR的的TCONTCON和和SCONSCON中。中。v有中断请求时,由有中断请求时,由TCONTCON和和SCONSCON中的相应位来锁存。中的相应位来锁存。5.3 89C515.3 89C51中断系统结构及中断控制中断系统结构及中断控制 TCONTCON定时器定时器/计数器计数器(T0,T1)(T0,T1)控制器(控制器(88H88H)TF1 TF0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88TCONT1溢出中断标志溢出中断标志T0溢出中断标志溢出中断标志外中断外中断1请求标志请求标志外部中断外

8、部中断1触发方式控制触发方式控制外部中断外部中断0触发方式控制触发方式控制外中断外中断0请求标志请求标志T0、T1从初值开始加从初值开始加1计计数到产生溢出,使数到产生溢出,使TF0、TF1置置“1”,直到,直到CPU响应响应中断时由硬件复位。中断时由硬件复位。若若ITi1(沿触发),则沿触发),则INTi上的上的电电平由平由1变到变到0时,置位时,置位IEi、在、在CPU响应该响应该中断时由硬件清中断时由硬件清0。若若ITi0(电平触发),则输入到电平触发),则输入到INTi的的外部中断源必须保持低电平有效,直到该中外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变

9、断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。高,否则将会再次产生中断。位地址位地址SCONSCON串行口控制寄存器(串行口控制寄存器(98H98H)当发送和接收中任何一个标志被置位时,都可以向当发送和接收中任何一个标志被置位时,都可以向CPUCPU提提出申请。必须在中断服务程序中判断,并由软件将出申请。必须在中断服务程序中判断,并由软件将RIRI和和TITI标志标志位清位清0 0。发送中断标志发送中断标志接收中断标志接收中断标志TI RI SCON9F 9E 9D 9C 9B 9A 99 98位地址位地址一帧数据发送完毕置一帧数据发送完毕置“1 1”TITI,请求,请求CP

10、UCPU发送下一帧发送下一帧一帧数据接收完毕置一帧数据接收完毕置“1 1”RIRI,请求,请求CPUCPU取走数据取走数据通常情况的中断源:通常情况的中断源:I/OI/O外设、硬件故障、实时时钟等外设、硬件故障、实时时钟等5.3.2 5.3.2 中断控制中断控制IEIE中断允许寄存器(中断允许寄存器(A8HA8H)EA ES ET1 EX1 ET0 EX0IEAF AE AD AC AB AA A9 A8中断允许标志中断允许标志0禁止禁止 所有中断所有中断1开放中断开放中断外部中断外部中断01允许中断允许中断外部中断外部中断11允许中断允许中断T0的溢出中断的溢出中断1允许中断允许中断T1的溢

11、出中断的溢出中断1允许中断允许中断串行口中断允许位串行口中断允许位1允许中断允许中断位地址位地址一、中断允许控制一、中断允许控制例:例:假设允许片内定时器假设允许片内定时器/计数器中断,禁止计数器中断,禁止其他中断。试根据假设条件设置其他中断。试根据假设条件设置IEIE的相应值。的相应值。解解:(:(IEIE)=10001010B=8AH=10001010B=8AH(a a)用字节操作指令用字节操作指令MOV IEMOV IE,#8AH#8AH;或或 MOV 0A8HMOV 0A8H,#8AH#8AH;(b b)用位操作指令用位操作指令SETB ET0SETB ET0;定时器定时器/计数器计数

12、器0 0允许中断允许中断SETB ET1SETB ET1;定时器定时器/计数器计数器1 1允许中断允许中断SETB EA SETB EA;CPUCPU开中断开中断二、中断优先级控制二、中断优先级控制v中断系统提供两个中断优先级中断系统提供两个中断优先级v每一个中断源都可编程设置为高优先级或低优先每一个中断源都可编程设置为高优先级或低优先级,以便实现二级中断嵌套。级,以便实现二级中断嵌套。v中断优先级是由中断优先级是由IPIP控制的,控制的,IPIP格式如下:格式如下:PS PT1 PX1 PT0 PX0IPBF BE BD BC BB BA B9 B8外部中断外部中断0 0优先级优先级外部中断

13、外部中断1 1优先级优先级T0T0中断优先级中断优先级T1T1中断优先级中断优先级串行口中断优先级串行口中断优先级位地址位地址Di=1 Di=1 设高优先级设高优先级Di=0 Di=0 设低优先级设低优先级B8H字节地址字节地址中断优先级排列顺序中断优先级排列顺序v中断系统内具有两级优先级,遵循以下两条基本规则中断系统内具有两级优先级,遵循以下两条基本规则:(1 1)低优先级中断源可被高优先级中断源所中断。)低优先级中断源可被高优先级中断源所中断。(2 2)一种中断源一旦得到响应,与它同级的中断源不一种中断源一旦得到响应,与它同级的中断源不能再中断它。能再中断它。v同时收到几个同一优先级的中断

14、,其优先级排列如下:同时收到几个同一优先级的中断,其优先级排列如下:中断源同级内的中断优先级中断源同级内的中断优先级外部中断外部中断0 0最高最高T0T0溢出中断溢出中断外部中断外部中断1 1T1T1溢出中断溢出中断串行口中断串行口中断最低最低 二级中断嵌套二级中断嵌套CPU在执行主程序在执行主程序低级中低级中断请求断请求响应低级中断请求响应低级中断请求CPU执行低级执行低级中断服务程序中断服务程序高级中高级中断请求断请求响应高级中断请求响应高级中断请求CPU执行高级执行高级中断服务程序中断服务程序返回低级中断程序返回低级中断程序返回主程序返回主程序例:例:设设80318031的片外中断为高优

15、先级,片内中断为的片外中断为高优先级,片内中断为低优先级。设置低优先级。设置IPIP相应值相应值。解:(解:(IPIP)=00000101B=05H=00000101B=05H(a)(a)用字节操作指令用字节操作指令 MOV IPMOV IP,#05H#05H;或或 MOV 0B8HMOV 0B8H,#05H#05H;(b)(b)用为操作指令用为操作指令 SETB PX0SETB PX0 SETB PX1 SETB PX1 CLR PS CLR PS CLR PT0 CLR PT0 CLR PT1 CLR PT189C5189C51中断系统中断系统一、响应中断的条件一、响应中断的条件 CPUC

16、PU在每个机器周期的在每个机器周期的S5P2S5P2时刻采样中断标志,时刻采样中断标志,而在下一个机器周期对采样到的中断进行处理。按优而在下一个机器周期对采样到的中断进行处理。按优先级高低先级高低,中断系统将控制转入相应的中断服务程序。中断系统将控制转入相应的中断服务程序。(3 3)当前正在执行的指令是返回()当前正在执行的指令是返回(RETIRETI)指令或是对)指令或是对IEIE或或IPIP进行读进行读/写的指令。写的指令。(2 2)现行的机器周期不是当前所执行指令的最后一)现行的机器周期不是当前所执行指令的最后一个机器周期。个机器周期。5.4 5.4 中断响应及中断处理过程中断响应及中断

17、处理过程封锁封锁CPUCPU对中断响应的条件:对中断响应的条件:(1 1)CPUCPU正在处理同级的或高一级的中断正在处理同级的或高一级的中断中断响应时间中断响应时间vCPUCPU不是在任何情况下都对中断请求予以响应,而不是在任何情况下都对中断请求予以响应,而不同的情况下对中断响应的时间是不同的。不同的情况下对中断响应的时间是不同的。v对于顺利的中断响应,其对于顺利的中断响应,其最短的响应时间为最短的响应时间为3 3个机个机器周期。器周期。v对于受阻的中断响应,则响应时间会更长一些。对于受阻的中断响应,则响应时间会更长一些。v若中断系统只有一个中断源,则响应时间为若中断系统只有一个中断源,则响

18、应时间为3 38 8个机器周期之间。个机器周期之间。二、中断响应过程二、中断响应过程 把当前把当前PCPC值压入堆栈,保护断点。值压入堆栈,保护断点。将相应的中断服务程序的入口地址送入将相应的中断服务程序的入口地址送入PCPC。对有些中断源,对有些中断源,CPUCPU会自动清除中断标志。会自动清除中断标志。执行中断服务程序。执行中断服务程序。执行到返回指令执行到返回指令RETIRETI,中断服务程序结束,将堆栈内容弹中断服务程序结束,将堆栈内容弹出到出到PCPC,返回到原来断点继续执行。返回到原来断点继续执行。三、中断源入口地址三、中断源入口地址外部中断外部中断0 0003H0 0003H定时

19、器定时器/计数器计数器0 000BH0 000BH外部中断外部中断1 0013H1 0013H定时器定时器/计数器计数器1 001BH1 001BH串行口串行口 0023H0023H TF1 TF0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88TCON外中断外中断1请求标志请求标志外部中断外部中断1(INT1)触发方式控制触发方式控制外部中断外部中断0(INT1)触发方式控制触发方式控制外中断外中断0请求标志请求标志若若ITiITi1 1 至少一个机器周期高电平,一个机器至少一个机器周期高电平,一个机器(下降沿触发)(下降沿触发)周期低电平。周期低电平。若若I

20、TiITi0 0,保持低电平直到中断被响应为止。,保持低电平直到中断被响应为止。(低电平触发)(低电平触发)中断返回前必须使电平变高。中断返回前必须使电平变高。位地址位地址无论何种方式,转入中断后,由硬件清无论何种方式,转入中断后,由硬件清0 0中断请求标志。中断请求标志。5.5 5.5 关于外部中断关于外部中断5.6 5.6 中断程序举例中断程序举例一、中断程序一、中断程序框架框架 ORG 0000HAJMP MAIN ORG 0003HAJMP INTORG 0050H MAIN:MOV SP,#60HMOV IP,#data1;设置中断优先级设置中断优先级 MOV IE,#data2;中

21、断开放中断开放SETB ITX ;沿触发或电平触发沿触发或电平触发 INT:;中断服务程序;中断服务程序 RETI END1.1.查询方式查询方式 ORG 0000HAJMP MAINORG 0050HMAIN:MOV A,#00HMOV P1,AKK:JNB P3.2,WWSJMP KKWW:CPL A MOV P1,A JNB P3.2,$SJMP KKEND例例1:按一次全亮,再按一次全黑:按一次全亮,再按一次全黑二、二、应用举例应用举例2.2.中断方式中断方式 ORG 0000HAJMP MAIN ORG 0003HAJMP INTORG 0050H MAIN:MOV SP,#60HM

22、OV IE,#1000 0001B;或或SETB EA,EX0SETB IT0;下降沿触发下降沿触发MOV A,#00HMOV P1,A INT:CPL ASJMP$MOV P1,A RETI END1.1.结合电路图,读下列程结合电路图,读下列程序,说明其功能序,说明其功能。MOV A,#03H ML:MOV P1,A ACALL DL CPL A SJMP ML DL:MOV R7,#0A3H DL1:MOV R6,#0FFH DL6:DJNZ R6,DL6 DJNZ R7,DL1 RET 2.2.如果想通过按键控制红绿灯的切换,硬件应该怎样改电路图,如果想通过按键控制红绿灯的切换,硬件应

23、该怎样改电路图,软件怎样编程序软件怎样编程序?例例2:MOV A,#03H MOV P1,A DDD:JB P3.2,DDD CPL A MOV P1,A DD1:JNB P3.2,DD1 SJMP DDD 3.3.如果想通过中断方式实现上述功能,软件怎样编程序如果想通过中断方式实现上述功能,软件怎样编程序?仿前仿前例。例。ORG 0000HAJMP MAINORG 0003HAJMP INTORG 0050HMAIN:MOV SP,#60HMOV IE,#1000 0001B;SETB IT0;下降沿触发下降沿触发MOV A,#03HMOV P1,A SJMP$INT:CPL A MOV P

24、1,A RETI END例例3 3:某:某80518051单片机定时采样压力、温度信号。定时用单片机定时采样压力、温度信号。定时用T0T0实现,实现,压力超限和温度超限的报警信号分别由压力超限和温度超限的报警信号分别由INT0INT0、INT1INT1引脚输入,引脚输入,中断优先级排列顺序依次为:压力中断优先级排列顺序依次为:压力温度温度定时定时 确定确定IEIE、IPIP控制字,并编写初始化程序。控制字,并编写初始化程序。ORG 0000HAJMP MORG 0003HAJMP INTAORG 000BHAJMP TIMER0ORG 0013HAJMP INTBORG 0050HM:MOV

25、IP,#0000 0101B SETB IT0;下降沿触发下降沿触发 MOV IE,#1000 0111B;或或SETB EA,EX0例例4:某工业监控系统,具有温度、压力、某工业监控系统,具有温度、压力、PHPH值等多路监控功能。值等多路监控功能。当当PHPH值值77时时,将向,将向CPUCPU申请中断,申请中断,CPUCPU响应中断后令响应中断后令P3.0 P3.0 输出输出高电平,经驱动使加碱管道电磁阀接通一秒,以调整高电平,经驱动使加碱管道电磁阀接通一秒,以调整PHPH值,请值,请设计软件。设计软件。撤申请撤申请P1.6P1.6 ORG 0000HAJMP MORG 0003HAJMP

26、 IT0ORG 0030HM:MOV IE,#81H;CLR IT0;电平触发电平触发HE:SJMP HE ORG 0050HIT0:JB P1.0,TE1;温度温度 JB P1.1,TE2;温度温度 JB P1.2,PH;PH JB P1.3,PL;压力压力 ORG 0080HPH:PUSH PSW PUSH A SETB P3.0 ACALL DELAY1S CLEAR P3.0 ANL P1,#0BFH;撤申请;撤申请 ORL P1,#40H POP A POP PSW RETI END例例5:外部中断实验:外部中断实验:如图所示,将如图所示,将P1口的口的P1.4P1.7作为作为输入输

27、入位,位,P1.0P1.3作为作为输出输出位。要求利用位。要求利用8031将开关所将开关所设的数据读入单片机内,并依次通过设的数据读入单片机内,并依次通过P1.0P1.3输出,驱动发光二极管,以检查输出,驱动发光二极管,以检查P1.4P1.7输入输入的电平情况(若输入为高电平则相应的的电平情况(若输入为高电平则相应的LED亮)。亮)。现要求采用中断边沿触发方式,每中断一次,现要求采用中断边沿触发方式,每中断一次,完成一次读完成一次读/写操作。写操作。P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0INT08031 +5V+5V+5V+5V+5V12S1例:例:采用外部中断采用外

28、部中断0 0,并采用了,并采用了去抖动电路。当去抖动电路。当P1.0P1.0P1.3P1.3的任何一位输出为的任何一位输出为1 1时,相应的发光二极管就时,相应的发光二极管就会发光。当开关会发光。当开关S1S1闭合时,闭合时,发出中断请求。发出中断请求。ORG 0000H LJMP MAIN;上电,转向主程序上电,转向主程序 ORG 0003H;外部中断外部中断0入口地址入口地址 LJMP INSER;转向中断服务程序转向中断服务程序ORG 0030H;主程序主程序MAIN:SETB EX0 ;允许外部中断允许外部中断0中断中断 SETB IT0 ;选择边沿触发方式选择边沿触发方式 SETB

29、EA ;CPU开中断开中断HERE:SJMP HERE;等待中断等待中断 ORG 0200H;中断服务程序中断服务程序INSER:MOV A,#0F0H MOV P1,A;设;设P1.4P1.7为输入为输入 MOV A,P1;取开关数取开关数 SWAP A ;A的高、低四位互换的高、低四位互换 MOV P1,A;输出驱动输出驱动LED发光发光 RETI ;中断返回中断返回 END例例6:利用中断显示系统故障:利用中断显示系统故障:v如图所示,此中断电路可实现系统的故障显示。当系统的如图所示,此中断电路可实现系统的故障显示。当系统的各部分正常工作时,四个故障源的输入均为低电平,显示各部分正常工作

30、时,四个故障源的输入均为低电平,显示灯全不亮。当有某个部分出现故障时,则相应的输入线由灯全不亮。当有某个部分出现故障时,则相应的输入线由低电平变为高电平,相应的发光二极管亮。低电平变为高电平,相应的发光二极管亮。v解:解:INT0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031RRRRLEDLEDLEDLED图图5-15 利用中断显示系统故障利用中断显示系统故障返 回四四个个故故障障源源解:如图所示,当某一个故障信号解:如图所示,当某一个故障信号输入线由低电平变为高点平输入线由低电平变为高点平时,会通过时,会通过 INT0INT0线引起线引起80518051中断(边沿触

31、发方式)。中断(边沿触发方式)。在中断服务程序中,应将各在中断服务程序中,应将各故障源的信号读入,并加以故障源的信号读入,并加以查询,以进行相应的发光显查询,以进行相应的发光显示。示。ORG 0000H LJMP MAIN;上电,转向主程序上电,转向主程序 ORG 0003H;外部中断外部中断0入口地址入口地址 LJMP INSER;转向中断服务程序转向中断服务程序 MAIN:ANL P1,#55H;01010101B P1.0,P1.2,P1.4,P1.6为输入为输入 P1.1,P1.3,P1.5,P1.7为输出为输出SETB EX0 ;允许外部中断允许外部中断0中断中断 SETB IT0

32、;选择边沿触发方式选择边沿触发方式 SETB EA ;CPU开中断开中断HERE:SJMP HERE;等待中断等待中断INSER:JNB P1.0,L1;查询中断源,(查询中断源,(P1.0)=0,转,转L1 SETB P1.1 ;是;是P1.0引起的中断,使相应的二极管亮引起的中断,使相应的二极管亮L1:JNB P1.2,L2;继续查询继续查询 SETB P1.3;L2:JNB P1.4,L3 SETB P1.5L3:JNB P1.6,L4;SETB P1.7L4:RETI END试试左边两种情况下,如何编程试试左边两种情况下,如何编程控制控制 蜂鸣器发声或灯点亮。蜂鸣器发声或灯点亮。按键控制且有时间间隔要求按键控制且有时间间隔要求

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁