机械系统微机控制.ppt
《机械系统微机控制.ppt》由会员分享,可在线阅读,更多相关《机械系统微机控制.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机械系统微机控制王志刚机械系机电教研室EmailEmail:10/28/2022 8:10 AM7 7 中断系统中断系统7.1 中断的概念7.2 中断技术的优点7.3 中断系统的功能7.4 中断源类型7.5 MCS-51的中断系统7.6 中断处理过程7.7 MCS-51外部中断源的扩展7.8 中断系统的应用机械系统微机控制机械系统微机控制7.1 7.1 中断的概念中断的概念 所谓中断:是指CPU正在处理某件事情的时候,外部发生了某一事件,请求CPU迅速去处理。CPU暂时中断当前的工作,转入处理所发生的事件,处理完毕后,再回来继续执行被中止了的工作,这个过程称为中断。实现这种功能的部件称为中断系
2、统,产生中断的请求源称为中断源;原来正在运行的程序称为主程序;主程序被断开的位置称为断点。中断服务程序中断服务程序随机产生的随机产生的调用子程序调用子程序保护断点保护断点为外设服务和处理事件为外设服务和处理事件程序中事先安排好的程序中事先安排好的保护断点保护断点为主程序服务为主程序服务表表7-1 中断服务程序与调用子程序的区别中断服务程序与调用子程序的区别机械系统微机控制机械系统微机控制7.2 7.2 中断技术的优点中断技术的优点分时操作分时操作 能解决快速能解决快速CPUCPU和慢速外设之间的矛盾,和慢速外设之间的矛盾,可使可使CPUCPU、外设同时工作。外设同时工作。实现实时处理实现实时处
3、理 外界变化量可以根据要求,随时向外界变化量可以根据要求,随时向CPU发发出中断请求,要求出中断请求,要求CPU及时处理,及时处理,CPU就可就可以马上响应,加以处理。以马上响应,加以处理。故障处理故障处理 计算机运行过程中,出现无法预料的故障计算机运行过程中,出现无法预料的故障时,能自行处理,而不必停机。时,能自行处理,而不必停机。机械系统微机控制机械系统微机控制7.3 7.3 中断系统的功能中断系统的功能1 1、实现中断及返回、实现中断及返回主主程程序序继继续续执执行行主主程程序序断点断点响应中断请求响应中断请求返回主程序返回主程序中中断断服服务务程程序序2 2、实现优先权排队、实现优先权
4、排队3 3、实现中断嵌套、实现中断嵌套RETIRETI主主程程序序继继续续执执行行主主程程序序断点断点响应低级中断请求响应低级中断请求返回主程序返回主程序高高级级中中断断服服务务程程序序响应低级中断请求响应低级中断请求返回低级中断程序返回低级中断程序RETIRETIRETIRETI图图7-2 7-2 中断流程图中断流程图图图7-3 7-3 中断嵌套流程图中断嵌套流程图机械系统微机控制机械系统微机控制7.4 7.4 中断源类型中断源类型v7.4.1 7.4.1 外部中断类外部中断类 有两个中断源:外部中断有两个中断源:外部中断0 0和外部中断和外部中断1 1,相应,相应的中断请求信号输入端是的中
5、断请求信号输入端是INT0INT0和和INT1INT1,有两种有两种触发方式:电平触发方式和脉冲触发方式。触发方式:电平触发方式和脉冲触发方式。v7.4.2 7.4.2 定时中断类定时中断类 有两个中断源:定时有两个中断源:定时/计数器计数器0 0溢出中断和定时溢出中断和定时/计数器计数器1 1溢出中断。溢出中断。v7.4.3 7.4.3 串行中断类串行中断类 串行口中断请求标志:每当串行口接收或发送串行口中断请求标志:每当串行口接收或发送一组串行数据完毕时,由硬件使一组串行数据完毕时,由硬件使TITI或或RIRI置位,置位,即产生一个串行口中断请求。即产生一个串行口中断请求。机械系统微机控制
6、机械系统微机控制7.5 MCS-517.5 MCS-51的中断系统的中断系统7.5.1 7.5.1 中断请求标志中断请求标志7.5.3 7.5.3 中断优先级控制寄存器中断优先级控制寄存器IPIP7.5.2 7.5.2 中断允许控制寄存器中断允许控制寄存器IEIE机械系统微机控制机械系统微机控制图7-3 MCS-51单片机的中断系统机械系统微机控制机械系统微机控制5个中断请求源:(1)INT0:外部中断0请求,由脚输入。由IT0决定是低电平有效还是负跳变有效。一旦有效,则向CPU申请中断,且建立IE0标志。(2)INT1:外部中断1请求,由脚输入。由IT1决定是低电平有效还是负跳变有效。一旦有
7、效,则向CPU申请中断,且建立IE1标志。(3)TF0:定时器T0溢出中断请求。当T0产生溢出,TF0置位,请求中断处理。(4)TF1:定时器T1溢出中断请求。当T1产生溢出,TF1置位,请求中断处理。(5)RI或TI:串行中断请求。当接收或发送完一组数据后就置位RI或TI,请求中断。机械系统微机控制机械系统微机控制7.5.1 7.5.1 中断请求标志中断请求标志1、定时器控制寄存器TCON的中断标志(88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT08F8F88888A8A8C8C89898B8B8D8D8E8
8、EIE0(IE1):外中断请求标志。IT0(IT1):外中断请求信号方式控制位。当IT0(IT1)=1时:脉冲触发方式(边沿触发方式),负跳变有效。当IT0(IT1)=0时:电平触发方式,低电平有效。TF0(TF1):定时计数溢出标志位。当定时/计数器产生溢出时,由硬件置1;当转向中断服务时,由硬件自动清零。机械系统微机控制机械系统微机控制2、串行口控制寄存器SCON的中断标志/TI RI/TI RI9F9F98989A9A9C9C99999B9B9D9D9E9ERI:串行口接收中断请求标志位。当单片机接收到一串行数据后,由硬件置1;当CPU转向中断服务程序后,该位必须由软件清零。TI:串行口
9、发送中断请求标志位。当单片机发送完一串行数据后,由硬件置1;当CPU转向中断服务程序后,该位必须由软件清零。机械系统微机控制机械系统微机控制7.5.2 7.5.2 中断允许控制寄存器中断允许控制寄存器IEIEEA /ES ET1 EX1 ET0 EX0EA /ES ET1 EX1 ET0 EX0AFAFA8A8AAAAACACA9A9ABABADADAEAEEA:中断允许总控制位。EA=0,表示CPU禁止所有中断;EA=1时,表示CPU开放中断。EX0(EX1):外部中断允许控制位。EX0(EX1)=0,禁止外中断;EX0(EX1)=1,允许外中断。ET0(ET1):定时/计数器的中断允许控制
10、位。ET0(ET1)=0,禁止定时/计数器中断;ET0(ET1)=1,允许定时/计数器中断。ES:串行中断允许控制位。ES=0,禁止串行中断;ES=1,允许串行中断。机械系统微机控制机械系统微机控制7.5.3 7.5.3 中断优先级控制寄存器中断优先级控制寄存器IPIP/PS PT1 PX1 PT0 PX0/PS PT1 PX1 PT0 PX0BFBFB8B8BABABCBCB9B9BBBBBDBDBEBEPX0:外部中断0优先级设定位;PX0:定时器T0中断优先级设定位;PX1:外部中断1优先级设定位;PT1:定时器T1中断优先级设定位;PS:串行中断优先级设定位。当某一控制位被置0,则该中
11、断源被定义为低优先级;若被置1,则该中断源被定义为高优先级。中断优先级控制寄存器IP的各个控制位,都可以通过编程来置位或清零。机械系统微机控制机械系统微机控制中断优先级的控制原则:(1)低优先级中断请求不能打断高优先级的中断服务,但高优先级可打断低优先级的中断服务,实现中断嵌套。(2)一个中断一旦得到响应,与它同级的中断请求不能中断它。(3)同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求先被响应。查询次序为:外部中断0定时/计数器中断0外部中断1定时/计数器中断1串行中断。机械系统微机控制机械系统微机控制7.6 7.6 中断处理过程中断处理过程7.6.1 中断响应7.6.2 中
12、断处理7.6.3 中断返回7.6.4 中断请求的撤除7.6.5 中断响应时间机械系统微机控制机械系统微机控制7.6.1 中断响应中断响应1、CPU的中断响应条件(1)首先要有中断源发出中断申请;(2)中断总允许位EA=1,即CPU允许所有中断源申请中断;(3)申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。注:当出现下面一种情况时,中断会被阻断:(1)CPU正在执行一个同级或高一级的中断服务程序;(2)当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令还未完成前,任何中断请求都得不到响应;机械系统微机控制机械系统微机控制(3)正在执行的指令是返回指令或者对专用寄
13、存器IE、IP进行读/写的指令,此时在执行RETI或者读写IE或IP之后,不会马上响应中断请求,至少在执行一条其他指令之后才会响应。2、中断响应过程 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H机械系统微机控制机械系统微机控制 中断处理中断处理 中断处理:中断服务程序从入口地址开始执行,直至遇到指令“RETI”为止,称中断处理。编写中断服务程序需注意以下几点:(1)各入口地址间隔8个字节,需在入口地址单元处存放一条无条件转移指令。(2)若要在执行当前中断程序时禁止更高优先级中断源中断,要先关闭C
14、PU中断,或禁止更高中断源的中断,而在中断返回前再开中断。(3)在保护现场和恢复现场时,为了不使现场数据受到破坏,在保护现场和恢复现场时,CPU不响应新的中断请求。机械系统微机控制机械系统微机控制 中断返回中断返回中断源发中断请求中断源发中断请求中断响应条件中断响应条件是否满足?是否满足?中断是否中断是否受阻?受阻?把把PCPC断点地址压入堆栈断点地址压入堆栈相应中断源的中断入口地址相应中断源的中断入口地址送入送入PCPC转向中断服务程序转向中断服务程序硬硬件件自自动动完完成成关中断关中断保护现场保护现场开中断开中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断中断返回中断返回中断地
15、址由中断地址由堆栈弹入堆栈弹入PC中断服务程序中断服务程序机械系统微机控制机械系统微机控制 中断请求的撤除中断请求的撤除定时器溢出中断,CPU在响应中断后,用硬件清除中断请求标志IF0或IF1。边沿触发的外部中断,CPU在响应中断后,用硬件清除中断请求标志IE0或IE1。串行口中断,CPU在响应中断后,没有硬件清除TI、RI,用户必须用软件来清除。电平触发的外部中断,CPU在响应中断后,由硬件自动清除中断申请标志IE0或IE1,但不能彻底撤除中断请求。机械系统微机控制机械系统微机控制 中断响应时间中断响应时间 中断响应时间:是从查询中断请求标志位开始转向中断入口地址所需的机器周期数。外中断响应
16、时间:大于3个机器周期,小于8个机器周期。机械系统微机控制机械系统微机控制7.7 MCS-517.7 MCS-51外部中断源的扩展外部中断源的扩展1、利用定时器做外中断源法(1)置定时/计数器为工作模式2,且为计数方式,即8位的自动装载方式。(2)定时/计数器的高8位和低8位都预置为0FFH。(3)将定时/计数器的计数输入端(P3.3、P3.4)作为扩展的外部中断请求输入。(4)在相应的中断服务程序入口开始存放为外中断服务的中断服务程序。机械系统微机控制机械系统微机控制【例7-1】将定时器T0设定为方式2代替一个扩充外中断源,TH0和TH1初值为FFH,允许T0中断,CPU开放中断,写出借用定
17、时/计数器0溢出中断为外部中断的初始化程序。解:MOV TMOD,06H ;置T0为工作模式2、计数方式 MOV TLO,0FFH ;置低8位初始值 MOV THO,0FFH ;置高8位初始值 SETB EA ;开中断 SETB ET0 ;定时器0允许中断 SETB TR0 ;启动计数器 机械系统微机控制机械系统微机控制2、用查询方式扩展中断源INT0INT0INT1INT180518051P1.3P1.3P1.2P1.2P1.1P1.1P1.0P1.0+5V+5VE14E14E10E10E13E13E12E12E11E11R R5.1K 5.1K 图7-6 多外部中断源的硬件连接机械系统微机
18、控制机械系统微机控制【例7-2】用图7-6的连接对E11E14中断查询,写出有关的中断服务程序。E11=1E11=1E12=1E12=1E14=1E14=1返回返回E11E11中断服务子程序中断服务子程序E12E12中断服务子程序中断服务子程序E14E14中断服务子程序中断服务子程序N NY YY YY YN NN N图7-7 软件查询中断源流程图机械系统微机控制机械系统微机控制 查询流程图如图7-7。查询次序为E11E14。在查到一个高级中断申请后,就转去为这个中断申请服务,服务结束后,就返回继续查询较低级的中断申请,直到查不到其他中断申请时返回,并再等待INT1上出现新的中断申请信号。OR
19、G 0013HORG 0013H LJMP ITROU LJMP ITROU ITROUITROU:PUSH PSW PUSH PSW PUSH ACC PUSH ACC ANL P1 ANL P1,0FH0FH JNB P1.0 JNB P1.0,N1 N1 ACALL BR0 ACALL BR0 N1 N1:JNB P1.1JNB P1.1,N2N2 ACALL BR1 ACALL BR1 N2 N2:JNB P1.2JNB P1.2,N3N3机械系统微机控制机械系统微机控制 ACALL BR2 ACALL BR2 N3 N3:JNB P1.3JNB P1.3,N4N4 ACALL BR3
20、 ACALL BR3 N4 N4:POP ACCPOP ACC POP PSW POP PSW RETI RETIBR0BR0:;E11E11中断服务子程序中断服务子程序 RET RET BR1 BR1:;E12E12中断服务子程序中断服务子程序 RET RET BR2 BR2:;E13E13中断服务子程序中断服务子程序 RET RET BR3 BR3:;E14E14中断服务子程序中断服务子程序 RET RET机械系统微机控制机械系统微机控制7.8 7.8 中断系统的应用中断系统的应用中断系统中需要人为控制的部分:(1)CPU的开中断和关中断;(2)各中断源中断请求的允许和禁止;(3)各中断源
21、优先级别的设定;(4)外部中断请求的触发方式。中断服务程序的一般格式为:CLR EA CLR EACLR EA CLR EA PUSH ACC POP PSW PUSH ACC POP PSW PUSH PSW POP ACC PUSH PSW POP ACC SETB EA SETB EA SETB EA RETI SETB EA RETI 机械系统微机控制机械系统微机控制【例7-3】利用定时器T0定时,在端输出一方波,方波周期为20ms,已知晶振频率为12MHz。主程序如下:ORG 0000H ORG 0000H LJMP 2000H LJMP 2000H T0T0的中断服务程序的中断服务
22、程序 ORG 000BH ORG 000BH AJMP 70H AJMP 70H ORG 70H ORG 70H MOV TL0 MOV TL0,0F0H 0F0H;重赋初值;重赋初值 MOV TH0 MOV TH0,0D8H0D8H 机械系统微机控制机械系统微机控制 CPL P1.0 CPL P1.0 ;输出取反;输出取反 RETI RETI ORG 2000H ORG 2000H MOV TMOD MOV TMOD,01H01H;设置;设置T0T0为模式为模式1 1 MOV TL0 MOV TL0,0F0H0F0H;赋初值;赋初值 MOV TH0 MOV TH0,0D8H 0D8H MOV
23、 IE MOV IE,82H82H;CPUCPU开中断,开中断,T0T0开中断开中断 SETB TR0 SETB TR0 ;启动;启动T0T0 HERE HERE:SJMP HERE SJMP HERE ;循环等待定时到;循环等待定时到 机械系统微机控制机械系统微机控制【例7-4】用定时器T1定时,在端输出一方波,周期为2min,已知晶振频率为12MHz。解:(方法1)采用中断方法。设定时器T1采用模式1定时10ms,用69H单元做毫秒计数单元,用79H单元做秒计数单元,用4FH位做1分计时到标志。T1中断服务程序入口地址为001BH。主程序如下:主程序如下:ORG 0000H ORG 000
24、0H LJMP 2000H LJMP 2000H T1T1的中断服务程序的中断服务程序 ORG 001BH ORG 001BH 机械系统微机控制机械系统微机控制 AJMP 100H AJMP 100H ORG 100H ORG 100H MOV TH1 MOV TH1,0D8H0D8H;重赋初值;重赋初值 MOV TL1 MOV TL1,0F0H 0F0H DJNZ 69H DJNZ 69H,TT1 TT1 ;判;判1s1s定时到否?定时到否?MOV 69H MOV 69H,100H100H DJNZ 79H DJNZ 79H,TT1TT1 M0V 79H M0V 79H,60H60H;判;判
25、1min1min定时到否?定时到否?SETB 4FH SETB 4FH TT1 TT1:RETI RETI ;中断返回;中断返回 ORG 2000H ORG 2000H MOV TMOD MOV TMOD,10H10H;设置;设置T1T1为定时模式为定时模式1 1机械系统微机控制机械系统微机控制 MOV TH1 MOV TH1,0D8H0D8H;赋初值;赋初值 MOV TL1 MOV TL1,0F0H0F0H MOV IE MOV IE,88H 88H;CPUCPU开中断,开中断,T1T1开中断开中断 SETB TR1 SETB TR1 ;启动;启动T1T1工作工作 MOV 69H MOV 6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 系统 微机 控制
限制150内