《中断系统》课件.ppt
《《中断系统》课件.ppt》由会员分享,可在线阅读,更多相关《《中断系统》课件.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 中断系统中断系统7.1 7.1 中断的概念中断的概念7.2 89C517.2 89C51的中断系统的中断系统7.3 7.3 中断处理过程中断处理过程7.4 7.4 中断系统的应用中断系统的应用7.1.1 7.1.1 中断的概念中断的概念 所谓所谓中断:中断:是指是指CPUCPU正在处理某件事情的时正在处理某件事情的时候,外部发生了某一事件,请求候,外部发生了某一事件,请求CPUCPU迅速去处迅速去处理。理。CPUCPU暂时中断当前的工作,转入处理所发暂时中断当前的工作,转入处理所发生的事件,处理完毕后,再回来继续执行被中生的事件,处理完毕后,再回来继续执行被中止了的工作,这个过程
2、称为中断。止了的工作,这个过程称为中断。实现这种功能的部件称为实现这种功能的部件称为中断系统中断系统,产生中,产生中断的请求源称为断的请求源称为中断源中断源;原来正在运行的程序;原来正在运行的程序称称为为主程序主程序;主程序被断开的位置称为;主程序被断开的位置称为断点断点。中断服务程序中断服务程序随机产生的随机产生的调用子程序调用子程序保护断点保护断点为外设服务和处理事件为外设服务和处理事件程序中事先安排好的程序中事先安排好的保护断点保护断点为主程序服务为主程序服务表表7-1 7-1 中断服务程序与调用子程序的区别中断服务程序与调用子程序的区别7.1.2 7.1.2 中断技术的优点中断技术的优
3、点分时操作分时操作 能解决快速能解决快速CPUCPU和慢速外设之间的矛盾,和慢速外设之间的矛盾,可使可使CPUCPU、外设同时工作。外设同时工作。实现实时处理实现实时处理 外界变化量可以根据要求,随时向外界变化量可以根据要求,随时向CPUCPU发发出中断请求,要求出中断请求,要求CPUCPU及时处理,及时处理,CPUCPU就可以就可以马上响应,加以处理。马上响应,加以处理。故障处理故障处理 计算机运行过程中,出现无法预料的故障计算机运行过程中,出现无法预料的故障时,能自行处理,而不必停机。时,能自行处理,而不必停机。7.1.3 7.1.3 中断系统的功能中断系统的功能1 1、实现中断及返回、实
4、现中断及返回2 2、实现优先权排队、实现优先权排队3 3、实现中断嵌套、实现中断嵌套RETIRETI主主程程序序继继续续执执行行主主程程序序断点断点响应中断请求响应中断请求返回主程序返回主程序中中断断服服务务程程序序主主程程序序继继续续执执行行主主程程序序断点断点响应低级中断请求响应低级中断请求返回主程序返回主程序高高级级中中断断服服务务程程序序响应低级中断请求响应低级中断请求返回低级中断程序返回低级中断程序RETIRETIRETIRETI图图7-2 7-2 中断流程图中断流程图图图7-3 7-3 中断嵌套流程图中断嵌套流程图7.2 89C517.2 89C51的中断系统的中断系统7.2.2
5、7.2.2 中断请求标志中断请求标志7.2.4 7.2.4 中断优先级控制寄存器中断优先级控制寄存器IPIP7.2.3 7.2.3 中断允许控制寄存器中断允许控制寄存器IEIE7.2.1 7.2.1 中断源中断源图图7-3 89C517-3 89C51单片机的中断系统单片机的中断系统7.2.1 7.2.1 中断源中断源v(1 1)外部中断类外部中断类 有两个中断源:外部中断有两个中断源:外部中断0 0和外部中断和外部中断1 1,相应,相应的中断请求信号输入端是的中断请求信号输入端是INT0INT0和和INT1INT1,有两种有两种触发方式:电平触发方式和脉冲触发方式。触发方式:电平触发方式和脉
6、冲触发方式。v(2 2)定时中断类定时中断类 有两个中断源:定时有两个中断源:定时/计数器计数器0 0溢出中断和定时溢出中断和定时/计数器计数器1 1溢出中断。溢出中断。v(3 3)串行中断类串行中断类 串行口中断请求标志:每当串行口接收或发送串行口中断请求标志:每当串行口接收或发送一组串行数据完毕时,由硬件使一组串行数据完毕时,由硬件使TITI或或RIRI置位,置位,即产生一个串行口中断请求。即产生一个串行口中断请求。5 5个中断请求源:个中断请求源:(1 1)INT0INT0:外部中断:外部中断0 0请求,由请求,由P3.2P3.2脚输入。由脚输入。由IT0IT0决定是低电平有效还是负跳变
7、有效。一旦决定是低电平有效还是负跳变有效。一旦有效,则向有效,则向CPUCPU申请中断,且建立申请中断,且建立IE0IE0标志。标志。(2 2)INT1INT1:外部中断:外部中断1 1请求,由请求,由P3.3P3.3脚输入。由脚输入。由IT1IT1决定是低电平有效还是负跳变有效。一旦决定是低电平有效还是负跳变有效。一旦有效,则向有效,则向CPUCPU申请中断,且建立申请中断,且建立IE1IE1标志。标志。(3 3)TF0TF0:定时器:定时器T0T0溢出中断请求。当溢出中断请求。当T0T0产生溢产生溢出,出,TF0TF0置位,请求中断处理。置位,请求中断处理。(4 4)TF1TF1:定时器:
8、定时器T1T1溢出中断请求。当溢出中断请求。当T1T1产生溢产生溢出,出,TF1TF1置位,请求中断处理。置位,请求中断处理。(5 5)RIRI或或TITI:串行中断请求。当接收或发送完:串行中断请求。当接收或发送完一组数据后就置位一组数据后就置位RIRI或或TITI,请求中断。,请求中断。7.2.2 7.2.2 中断请求标志中断请求标志1 1、定时器控制寄存器、定时器控制寄存器TCONTCON的中断标志的中断标志TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT08F8F88888A8A8C8C89898B8B8D8D8
9、E8EIE0IE0(IE1IE1):):外中断请求标志。外中断请求标志。IT0IT0(IT1IT1):):外中断请求信号方式控制位。外中断请求信号方式控制位。当当IT0IT0(IT1IT1)=1=1时:脉冲触发方式(边沿触发时:脉冲触发方式(边沿触发方式),负跳变有效。当方式),负跳变有效。当IT0IT0(IT1IT1)=0=0时:电时:电平触发方式,低电平有效。平触发方式,低电平有效。TF0TF0(TF1TF1):):定时计数溢出标志位。定时计数溢出标志位。当定时当定时/计数器产生溢出时,由硬件置计数器产生溢出时,由硬件置1 1;当转;当转向中断服务时,由硬件自动清零。向中断服务时,由硬件自
10、动清零。2 2、串行口控制寄存器、串行口控制寄存器SCONSCON的中断标志的中断标志/TI RI/TI RI9F9F98989A9A9C9C99999B9B9D9D9E9ERIRI:串行口接收中断请求标志位。当单片机接:串行口接收中断请求标志位。当单片机接收到一串行数据后,由硬件置收到一串行数据后,由硬件置1 1;当;当CPUCPU转向中转向中断服务程序后,该位必须由软件清零。断服务程序后,该位必须由软件清零。TITI:串行口发送中断请求标志位。当单片机发:串行口发送中断请求标志位。当单片机发送完一串行数据后,由硬件置送完一串行数据后,由硬件置1 1;当;当CPUCPU转向中转向中断服务程序
11、后,该位必须由软件清零。断服务程序后,该位必须由软件清零。7.2.3 7.2.3 中断允许控制寄存器中断允许控制寄存器IEIEEA /ES ET1 EX1 ET0 EX0EA /ES ET1 EX1 ET0 EX0AFAFA8A8AAAAACACA9A9ABABADADAEAEEAEA:中断允许总控制位。:中断允许总控制位。EA=0EA=0,表示,表示CPUCPU禁止所禁止所有中断;有中断;EA=1EA=1时,表示时,表示CPUCPU开放中断。开放中断。EX0EX0(EX1EX1):外部中断允许控制位。):外部中断允许控制位。EX0EX0(EX1EX1)=0=0,禁止外中断;,禁止外中断;EX
12、0EX0(EX1EX1)=1=1,允许外中断。,允许外中断。ET0ET0(ET1ET1):定时):定时/计数器的中断允许控制位。计数器的中断允许控制位。ET0ET0(ET1ET1)=0=0,禁止定时,禁止定时/计数器中断;计数器中断;ET0ET0(ET1ET1)=1=1,允许定时,允许定时/计数器中断。计数器中断。ESES:串行中断允许控制位。:串行中断允许控制位。ES=0ES=0,禁止串行中,禁止串行中断;断;ES=1ES=1,允许串行中断。,允许串行中断。7.2.4 7.2.4 中断优先级控制寄存器中断优先级控制寄存器IPIP/PS PT1 PX1 PT0 PX0/PS PT1 PX1 P
13、T0 PX0BFBFB8B8BABABCBCB9B9BBBBBDBDBEBEPX0PX0:外部中断外部中断0 0优先级设定位;优先级设定位;PX0PX0:定时器定时器T0T0中断优先级设定位;中断优先级设定位;PX1PX1:外部中断外部中断1 1优先级设定位;优先级设定位;PT1PT1:定时器定时器T1T1中断优先级设定位;中断优先级设定位;PSPS:串行中断优先级设定位。:串行中断优先级设定位。当某一控制位被置当某一控制位被置0 0,则该中断源被定义为,则该中断源被定义为低优先级;若被置低优先级;若被置1 1,则该中断源被定义为高优,则该中断源被定义为高优先级。中断优先级控制寄存器先级。中断
14、优先级控制寄存器IPIP的各个控制位,的各个控制位,都可以通过编程来置位或清零。都可以通过编程来置位或清零。中断优先级的控制原则:中断优先级的控制原则:(1 1)低优先级中断请求不能打断高优先级的)低优先级中断请求不能打断高优先级的中断服务,但高优先级可打断低优先级的中中断服务,但高优先级可打断低优先级的中断服务,实现中断嵌套。断服务,实现中断嵌套。(2 2)一个中断一旦得到响应,与它同级的中)一个中断一旦得到响应,与它同级的中断请求不能中断它。断请求不能中断它。(3 3)同级的多个中断请求同时出现,则按)同级的多个中断请求同时出现,则按CPUCPU查询次序确定哪个中断请求先被响应。查询次序确
15、定哪个中断请求先被响应。查询次序为:查询次序为:外部中断外部中断00定时定时/计数器中断计数器中断00外部中断外部中断1 1定时定时/计数器中断计数器中断11串行中断。串行中断。7.3 7.3 中断处理过程中断处理过程7.3.1 7.3.1 中断响应中断响应7.3.2 7.3.2 中断处理中断处理7.3.3 7.3.3 中断返回中断返回7.3.4 7.3.4 中断请求的撤除中断请求的撤除7.3.5 7.3.5 中断响应时间中断响应时间7.3.1 7.3.1 中断响应中断响应1 1、CPUCPU的中断响应条件的中断响应条件(1 1)首先要有中断源发出中断申请;)首先要有中断源发出中断申请;(2
16、2)中断总允许位)中断总允许位EA=1,EA=1,即即CPUCPU允许所有中断源允许所有中断源申请中断;申请中断;(3 3)申请中断的中断源的中断允许位为)申请中断的中断源的中断允许位为1 1,即,即此中断源可以向此中断源可以向CPUCPU申请中断。申请中断。注:当出现下面一种情况时,中断会被阻断:注:当出现下面一种情况时,中断会被阻断:(1 1)CPUCPU正在执行一个同级或高一级的中断服正在执行一个同级或高一级的中断服务程序;务程序;(2 2)当前的机器周期不是正在执行的指令的最)当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令还未完成前,后一个周期,即正在执行的指令还未完
17、成前,任何中断请求都得不到响应;任何中断请求都得不到响应;(3 3)正在执行的指令是返回指令或者对专用)正在执行的指令是返回指令或者对专用寄存器寄存器IEIE、IPIP进行读进行读/写的指令,此时在执写的指令,此时在执行行RETIRETI或者读写或者读写IEIE或或IPIP之后,不会马上响之后,不会马上响应中断请求,至少在执行一条其他指令之应中断请求,至少在执行一条其他指令之后才会响应。后才会响应。2 2、中断响应过程、中断响应过程 中断源中断源 入口地址入口地址 外部中断外部中断0 0003H0 0003H 定时器定时器T0T0中断中断 000BH 000BH 外部中断外部中断1 0013H
18、1 0013H 定时器定时器T1T1中断中断 001BH 001BH 串行口中断串行口中断 0023H 0023H7.3.2 7.3.2 中断处理中断处理 中断处理:中断服务程序从入口地址开始执行,中断处理:中断服务程序从入口地址开始执行,直至遇到指令直至遇到指令“RETI”“RETI”为止,称中断处理。为止,称中断处理。编写中断服务程序需注意以下几点:编写中断服务程序需注意以下几点:(1 1)各入口地址间隔)各入口地址间隔8 8个字节,需在入口地址单个字节,需在入口地址单元处存放一条无条件转移指令。元处存放一条无条件转移指令。(2 2)若要在执行当前中断程序时禁止更高优先)若要在执行当前中断
19、程序时禁止更高优先级中断源中断,要先关闭级中断源中断,要先关闭CPUCPU中断,或禁止更中断,或禁止更高中断源的中断,而在中断返回前再开中断。高中断源的中断,而在中断返回前再开中断。(3 3)在保护现场和恢复现场时,为了不使现场)在保护现场和恢复现场时,为了不使现场数据受到破坏,在保护现场和恢复现场时,数据受到破坏,在保护现场和恢复现场时,CPUCPU不响应新的中断请求。不响应新的中断请求。7.3.3 7.3.3 中断返回中断返回中断源发中断请求中断源发中断请求中断响应条件中断响应条件是否满足?是否满足?中断是否中断是否受阻?受阻?把把PCPC断点地址压入堆栈断点地址压入堆栈相应中断源的中断入
20、口地址相应中断源的中断入口地址送入送入PCPC转向中断服务程序转向中断服务程序硬硬件件自自动动完完成成关中断关中断保护现场保护现场开中断开中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断中断返回中断返回中断地址由中断地址由堆栈弹入堆栈弹入PC中断服务程序中断服务程序7.3.4 7.3.4 中断请求的撤除中断请求的撤除n定时器溢出中断,定时器溢出中断,CPUCPU在响应中断后,用硬在响应中断后,用硬件清除中断请求标志件清除中断请求标志IF0IF0或或IF1IF1。n边沿触发的外部中断,边沿触发的外部中断,CPUCPU在响应中断后,在响应中断后,用硬件清除中断请求标志用硬件清除中断请求
21、标志IE0IE0或或IE1IE1。n串行口中断,串行口中断,CPUCPU在响应中断后,没有硬件在响应中断后,没有硬件清除清除TITI、RIRI,用户必须用软件来清除。,用户必须用软件来清除。n电平触发的外部中断,电平触发的外部中断,CPUCPU在响应中断后,在响应中断后,由硬件自动清除中断申请标志由硬件自动清除中断申请标志IE0IE0或或IE1IE1,但,但不能彻底撤除中断请求。不能彻底撤除中断请求。7.3.4 7.3.4 中断请求的撤除中断请求的撤除图图7-5 7-5 外部中断撤除电路外部中断撤除电路 CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0INT0INT0
22、INT1INT1P1.0P1.089C5189C51Q QD DCPCPS SD D外部中断外部中断请求信号请求信号D触发器触发器 D D触发器锁存中断请求用的低电平,并通过输出触发器锁存中断请求用的低电平,并通过输出端端Q Q送到送到INT0INT0;D D触发器锁存中断请求低电平,只要触发器锁存中断请求低电平,只要P1.0P1.0输出一个负脉冲,就使输出一个负脉冲,就使D D触发器置触发器置1 1,撤销请求。,撤销请求。附:附:D D触发器的真值表。触发器的真值表。7.3.5 7.3.5 中断响应时间中断响应时间 中断响应时间:是从查询中断请求标志位中断响应时间:是从查询中断请求标志位开始
23、转向中断入口地址所需的机器周期数。开始转向中断入口地址所需的机器周期数。89C51 89C51单片机的最短响应时间是单片机的最短响应时间是3 3个机周。个机周。查询标志位查询标志位1 1机周,机周,LCALLLCALL指令指令2 2机周。机周。一般,外中断响应时间:大于一般,外中断响应时间:大于3 3个机周,小个机周,小于于8 8个机周。个机周。如出现同级或高级中断正在响应或服务中如出现同级或高级中断正在响应或服务中等待的时候,响应时间就不好计算了。等待的时候,响应时间就不好计算了。7.4 7.4 中断系统的应用中断系统的应用中断系统中需要人为控制的部分:中断系统中需要人为控制的部分:(1 1
24、)CPUCPU的开中断和关中断;的开中断和关中断;(2 2)各中断源中断请求的允许和禁止;)各中断源中断请求的允许和禁止;(3 3)各中断源优先级别的设定;)各中断源优先级别的设定;(4 4)外部中断请求的触发方式。)外部中断请求的触发方式。在保护现场和恢复现场之前要关中断,在保护现在保护现场和恢复现场之前要关中断,在保护现场和恢复现场之后要开中断,中断服务程序的格场和恢复现场之后要开中断,中断服务程序的格式为:式为:CLR EA CLR EA CLR EA CLR EA PUSH ACC POP PSW PUSH ACC POP PSW PUSH PSW POP ACC PUSH PSW P
25、OP ACC SETB EA SETB EA SETB EA RETI SETB EA RETI 【例【例7-17-1】利用定时器利用定时器T0T0定时,在定时,在P1.0P1.0端输出端输出一方波,方波周期为一方波,方波周期为20ms20ms,已知晶振频率为,已知晶振频率为12MHz12MHz。主程序如下:主程序如下:ORG 0000H ORG 0000H LJMP 2000H LJMP 2000H T0T0的中断服务程序的中断服务程序 ORG 000BH ORG 000BH AJMP 0070H AJMP 0070H ORG 0070H ORG 0070H MOV TL0 MOV TL0,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断系统 中断 系统 课件
限制150内