单片机课件4 MCS-51单片机中断系统.pptx
- 文档编号:30857665
- 上传时间:2024-04-02
- 格式:PPTX
- 页数:70
- 大小:613.65KB
单片机课件4 MCS-51单片机中断系统.pptx
《单片机课件4 MCS-51单片机中断系统.pptx》由会员分享,可在线阅读,更多相关《单片机课件4 MCS-51单片机中断系统.pptx(70页珍藏版)》请在冰豆网上搜索。
第4章MCS-51的中断系统1本章内容:
中断的概念MCS-51单片机中断系统外部事件中断及应用4.1中断的概念低级中断高级中断4.1.1中断的概念
(一)中断在计算机系统中,中断是指CPU在执行某段程序的过程中,由于某一事件发生时,要求CPU暂时停止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到原来程序停止处继续执行。
主程序断点2主程序4.1中断的概念34.1.1中断的概念
(二)中断处理与子程序调用的区别调用哪个子程序、完成什么任务是用户设计程序时事先安排好的,是采用子程序调用指令实现的;而中断事件发生是随机的,哪个事件发生、何时调用中断处理程序是事先无法确定的,在程序中无法事先安排调用指令,调用中断处理程序的过程是由硬件自动完成的。
4.1中断的概念44.1.2CPU响应和处理中断的机制中断系统是指实现中断响应和处理的所有硬件和软件,它包括中断源的产生、中断判优、中断响应、中断查询、中断处理等过程。
4.1中断的概念54.1.2CPU响应和处理中断的机制中断源:
1计算机系统的外部设备某一事件发生,向CPU请求中断;被控设备某个参数超过限位阈值,向CPU请求中断等。
2计算机内部的某个事件发生,如定时/计数器溢出、串行口接收到或发送完一帧数据等。
3计算机发生了故障引起中断,如系统电源掉电、运算器运算溢出、系统出错等事件发生,向CPU申请中断。
4人为设置中断。
用户在编程和调试时人为设置的中断事件,如单步执行、设置断点。
4.1中断的概念64.1.2CPU响应和处理中断的机制中断触发及中断请求登记:
当一个事件发生了,该中断源触发了中断,中断系统通过硬件把这个中断源对应的中断触发器置1,以此向CPU发出请求,即中断登记。
CPU通过检测中断触发器的状态是否为1来识别是哪一个中断源发出了请求。
只要中断触发一次,中断触发器被置1并锁存,除非中断触发器被清0,否则,该中断源后续的中断请求不再登记。
4.1中断的概念74.1.2CPU响应和处理中断的机制中断优先级:
在中断系统中,按照轻重缓急的原则给每一个中断源分配一个中断CPU的优先级。
当多个中断源同时向CPU发出请求,通过判断中断优先级中断判优,优先响应中断优先级最高的中断源的请求,待CPU处理完优先级最高的中断请求后,再依次按优先级顺序响应其它中断源的中断请求。
4.1中断的概念84.1.2CPU响应和处理中断的机制中断响应条件:
1有中断源的中断请求;2CPU允许这个中断源请求中断;3CPU处于开放中断的状态;4CPU刚刚结束一条指令的执行过程。
4.1中断的概念94.1.2CPU响应和处理中断的机制CPU要响应中断需要先做的准备:
1关中断;2保护断点;3取中断处理程序的入口地址,转入中断处理程序。
4.1中断的概念104.1.2CPU响应和处理中断的机制CPU进行中断处理:
1保护现场;2中断处理;3恢复现场;4开中断,中断返回。
中断处理程序的流程4.1中断的概念114.1.2CPU响应和处理中断的机制中断嵌套处理中断嵌套时的低优先级中断处理程序流程图4.1中断的概念124.1.2CPU响应和处理中断的机制4.1中断的概念134.1.2CPU响应和处理中断的机制中断系统应具备以下功能:
1实现中断与返回;2能够对中断请求按优先级响应;3能实现中断嵌套处理。
中断处理过程示意中断源登记中断标志CPU不会响应CPU开放中断?
未开放检查优先级该中断源允许中断CPU?
CPU不会响应不允许满足响应条件不满足响应中断关中断保护断点响应中断4.1中断的概念144.1中断的概念154.1.3中断技术的作用1解决了快速CPU和低速外部设备之间的速度匹配问题,使CPU和外设同时工作;2可以实现实时处理;3可以实现突发故障的及时自动处理;4可以实现多任务资源共享。
MCS-51单片机中断系统结构164.2MCS-51中断系统的结构4.2MCS-51中断系统的结构171.MCS-51单片机的中断标志MCS-51单片机中断标志位分别由2个特殊功能寄存器存储:
1定时/计数器控制寄存器;2串行口控制寄存器。
4.2MCS-51中断系统的结构184.2.1MCS-51单片机的中断标志
(一)定时器控制寄存器(TCON)定时/计数器控制寄存器TCON锁存外部中断请求标志以及定时/计数器的计数溢出标志。
TCON的地址88H,寄存器中各位的位地址为88H8FH。
4.2MCS-51中断系统的结构194.2.1MCS-51单片机的中断标志1外部事件中断请求标志位IE0为外部事件中断的中断请求标志位,IE1为外部事件中断的中断请求标志位。
外部事件中断可以由电平触发或跳变触发,中断触发的方式取决于TCON寄存器中IT0和IT1的设定。
2定时/计数器溢出标志位TF0为定时/计数器T0的计数溢出标志位,TF1定时/计数器T1的计数溢出标志位。
4.2MCS-51中断系统的结构204.2.1MCS-51单片机的中断标志
(二)串行口控制寄存器(SCON)串行口控制寄存器SCON锁存串行口发送缓冲器的发送结束标志和接收缓冲器的接收到数据标志,不论哪个中断标志有效,都会触发串行口中断。
SCON的地址98H,各位的位地址位:
98H9FH。
4.2MCS-51中断系统的结构214.2.1MCS-51单片机的中断标志1TI串行口发送中断请求标志位当串行口发送缓冲器发送完一帧数据后,由硬件自动把TI置1,以此向CPU请求中断。
2RI串行口接收中断请求标志位当串行口接收缓冲器接收完一帧串行数据后,由硬件把RI置1;以此向CPU请求中断。
注意:
在CPU响应中断时,标志位TI和RI不被自动清0,必须由用户在中断处理程序中用软件清0,否则,CPU将会陷入响应中断和中断处理当中,造成数据帧的丢失。
4.2MCS-51中断系统的结构224.2.1MCS-51单片机的中断标志由于串行口接收和发送共享一个中断源,无论是发送结束标志TI还是接收到数据标志RI被置1,都会产生串行口中断请求。
在双工通信时,为了辨别哪一个触发了中断,必须首先在中断处理程序中检测TI和RI的状态,然后清除标志位(TI或RI),再进行相应的中断处理。
4.2MCS-51中断系统的结构234.2.2MCS-51单片机的中断控制MCS-51单片机的中断控制分为2级,第一级通过5个中断允许控制位来确定屏蔽或者允许某个中断源的中断请求,第二级通过1个控制位来确定CPU开放或禁止中断。
中断允许寄存器IE(InterruptEnableRegister)用来保存这些中断允许控制位。
IE寄存器的地址为0A8H,寄存器中各位的位地址为0A8H0AFH。
4.2MCS-51中断系统的结构244.2.2MCS-51单片机的中断控制1CPU中断控制位:
EA2外部中断允许控制位:
EX0、EX13定时/计数器溢出中断允许控制位:
ET0、ET14串行中断允许控制位:
ESSETBEA;CPU开放中断SETBEX1;允许中断SETBET0;允许定时/计数器溢出中断SETBES;允许串行口中断254.2MCS-51中断系统的结构4.2.2MCS-51单片机的中断控制MCS-51单片机的中断控制由用户通过设定中断允许寄存器IE来实现,如单片机开放中断,允许外部事件中断、定时/计数器T0溢出中断和串行口中断。
设定程序如下:
MOVIE,#10010110B或:
4.2MCS-51中断系统的结构264.2.3MCS-51单片机的中断优先级当多个中断源同时请求中断,或者CPU正在处理一个中断,又有了新的中断请求,MCS-51单片机的处理原则是:
1多个中断源同时向CPU请求中断时,首先响应高优先级中断源的中断请求;2高优先级中断请求可以中断低优先级的中断处理,从而实现中断嵌套。
低优先级中断请求不能中断高优先级或相同优先级的中断处理。
4.2MCS-51中断系统的结构274.2.3MCS-51单片机的中断优先级中断优先级寄存器IP寄存器的地址0B8H,寄存器中各位的位地址为0BFH0B8H。
1PX0为外部事件中断的优先级设定位;2PT0为定时/计数器T0的溢出中断优先级设定位;3PX1为外部事件中断的优先级设定位;4PT1为定时/计数器T1的溢出中断的优先级设定位;5PS为串行口中断的优先级设定位。
4.2MCS-51中断系统的结构4.2.3MCS-51单片机的中断优先级相同优先级时的中断优先级284.2MCS-51中断系统的结构294.2.4MCS-51单片机的中断响应及处理过程CPU响应中断请求是有条件的,如果此时不存在下列3种情形:
1CPU正在处理相同优先级或高级优先级的中断。
2当前的机器周期不是指令的最后一个机器周期。
3正在执行的指令是RETI、或者是访问特殊功能寄存器IE或IP的指令。
CPU响应中断请求,立即产生一个硬件调用,使程序转移到相应的中断处理程序入口地址处,调用中断处理程序。
4.2MCS-51中断系统的结构304.2.4MCS-51单片机的中断响应及处理过程CPU响应中断请求时,根据中断源的优先级,中断系统把相应的高优先级触发器或低优先级触发器置1,以封锁相同优先级和低级优先级的中断请求;然后由硬件调用把当前程序计数器PC的内容(即断点)压入堆栈保护,并且把相应的中断处理程序入口地址装入程序计数器PC,使程序转移到这个中断处理处。
MCS-51单片机各个中断源的中断处理程序入口地址是固定的。
4.2MCS-51中断系统的结构4.2.4MCS-51单片机的中断响应及处理过程MCS-51单片机各中断源的中断处理程序入口地址31MCS-51单片机CPU响应中断的过程324.2MCS-51中断系统的结构4.2.4MCS-51单片机的中断响应及处理过程中断处理过程4.2MCS-51中断系统的结构4.2.4MCS-51单片机的中断响应及处理过程334.2MCS-51中断系统的结构344.2.4MCS-51单片机的中断响应及处理过程在使用MCS-51单片机中断技术时,应注意以下几个方面:
(1)中断查询是在每个机器周期是重复进行的。
当一个中断标志位置1但没有被CPU响应,这个中断标志位是不会被保持的。
每一个机器周期总是查询的是上一个机器周期新采样得到的中断标志位状态。
4.2MCS-51中断系统的结构354.2.4MCS-51单片机的中断响应及处理过程
(2)由于2个中断入口地址之间只有8个单元,在实际应用时,通常在入口地址处安排一条无条件转移指令,把中断处理程序存放在程序存储器的其它区域。
另外,如果不使用中断处理,最好在中断入口地址所在单元放置RETI指令,以免由于干扰或其他因素意外触发中断导致程序“跑飞”的现象发生,使程序能够安全地返回到断点处继续运行。
4.2MCS-51中断系统的结构364.2.4MCS-51单片机的中断响应及处理过程(3)子程序返回RET指令也可以使中断处理程序返回到断点处,但是,它不能告知CPU中断处理已经结束。
因此,CPU依然处于中断处理的状态。
如果是处理高优先级中断,CPU只响应一次中断,而且屏蔽其它所有的中断请求。
4.2MCS-51中断系统的结构374.2.4MCS-51单片机的中断响应及处理过程(4)MCS-51单片机CPU响应中断时,自动进行了置位高或低优先级触发器、保护断点、装入中断入口地址到PC等操作,并没有关中断的操作。
为了防止高优先级中断响应干扰现场保护和恢复,中断嵌套处理时,低优先级中断处理程序应按下列顺序处理:
关闭中断、保护现场、开中断、中断处理、关中断、恢复现场、开中断、中断返回。
MCS-51单片机中断嵌套处理时的低优先级中断处理程序4.2MCS-51中断系统的结构4.2.4MCS-51单片机的中断响应及处理过程384.3外部事件中断及应用394.3.1外部事件中断
(一)触发方式MCS-51单片机提供2个外部事件中断源,外部事件中断的请求(触发)信号由(或)引脚引入单片机的中断系统,中断触发方式既可以为电平触发方式,也可以为跳变触发方式,通过软件设置寄存器TCON中的触发方式控制位IT0和IT1实现。
若ITx(x=0,1)为0,则外部事件中断为电平触发方式,由引脚上的低电平触发中断。
若ITx(x=0,1)为1,则外部事件中断为跳变触发方式,即在引脚上出现负跳变时触发中断。
4.3外部事件中断及应用404.3.1外部事件中断
(一)触发方式在使用外部事件中断源时,中断触发信号必须与触发方式协调一致,使产生中断触发信号的电路满足以下要求:
(1)电平触发方式时,引脚上的中断请求信号必须保持足够长的时间,直到中断实际发生为止,否则,会丢失中断请求。
中断触发信号低电平的维持时间也不能太长,在CPU响应中断,进入子程序后,即可撤除本次中断请求信号。
(2)跳变触发方式时,在中断引脚上的高电平和低电平保持时间必须不少于1个机器周期。
4.3外部事件中断及应用414.3.1外部事件中断
(二)外部事件中断的响应时间中断响应时间是指从中断请求标志位置位到CPU开始执行中断服务程序的第一条指令所持续的时间。
CPU并非每时每刻对每一个中断请求都予以响应。
不同的中断请求其响应时间也是不同的。
本节以外部事件中断为例,说明MCS-51单片机的中断响应所需的时间,以便在程序设计时能合理地估算程序的运行时间,进一步提升程序的运行效率。
4.3外部事件中断及应用424.3.1外部事件中断
(二)外部事件中断的响应时间
(1)中断请求立即被CPU响应CPU在每个机器周期的S5P2期间采样引脚引脚上的电平,如果中断请求有效,则置位中断请求标志位IEx,然后在下一个机器周期再查询中断请求标志位的状态,这就意味着中断请求信号的低电平至少应维持一个机器周期。
这时,如果满足中断响应条件,则CPU响应中断请求,在下一个机器周期执行硬件调用,使程序转入中断入口地址处。
该调用指令执行时间是2个机器周期,因此,外部中断响应时间至少需要3个机器周期,这是最短的中断响应时间。
4.3外部事件中断及应用434.3.1外部事件中断
(二)外部事件中断的响应时间
(2)中断响应条件不满足,中断请求没被CPU立即响应()如果此时一个相同优先级或高优先级的中断正在处理行,则附加的等待时间取决于正在执行的中断处理程序的执行时间。
()如果正在执行的一条指令还没有到最后一个机器周期,则附加的等待时间为13个机器周期。
()如果正在执行的指令是RETI指令或访问IE的指令,则附加的等待时间在5个机器周期之内。
4.3外部事件中断及应用444.3.2外部事件中断源的应用
(一)外部事件中断方法的选择1考察应用系统对输入信号状态变化的反应快慢程度,如果应用系统的最大响应时间较小,那么,对输入信号最好采用中断方法。
2应用系统对输入信号状态变化的期望时间是多少;如果信号触发频率接近指令周期频率的1/10,那么,最好采用中断方法,否则,查询时需要采用较小的查询循环。
除此之外,应用系统中有多个输入信号,每一个输入都要求用中断方法处理。
4.3外部事件中断及应用454.3.2外部事件中断源的应用
(二)外部事件中断源的初始化及中断处理程序编程步骤在主程序中断系统初始化时,完成以下设置:
1设置外部事件中断请求信号的触发方式:
电平触发:
CLRITx,跳变触发方式:
SETBITx2开放CPU中断:
SETBEA3设置外部事件中断允许控制位:
SETBEX0或SETBEX14如果有中断嵌套处理,设置中断源的优先级。
设置外部事件中断源为高优先级:
SETBPX0或SETBPX14.3外部事件中断及应用464.3.2外部事件中断源的应用
(二)外部事件中断源的初始化及中断处理程序编程步骤在主程序中,对中断系统初始化时,也可以采用下列形式设置中断允许控制位和中断源的优先级:
MOVIE,#ENABLEMOVIP,#PRIORITY4.3外部事件中断及应用474.3.2外部事件中断源的应用
(二)外部事件中断源的初始化及中断处理程序编程步骤要求中断处理是中断源请求中断CPU工作的目的,中断处理程序是用户根据处理外部事件的具体要求而设计的程序。
1若有1个中断优先级,中断处理程序结构图(P33)2若有2个中断优先级,低优先级中断源的中断处理程序结构图(P38),高优先级中断源的中断处理程序结构图(P33)4.3外部事件中断及应用4.3.2外部事件中断源的应用(三)外部事件采用跳变触发方式请求中断例:
P1口为输出口,外接8个指示灯L0L7。
系统工作时,指示灯L0L7逐个被点亮。
在逐个点亮L0L7的过程中,当开关K被扳动时,则暂停逐个点亮的操作,L0L7全部点亮并闪烁10次。
闪烁完成后,从暂停前的灯位开始继续逐个点亮的操作。
484.3外部事件中断及应用494.3.2外部事件中断源的应用(三)外部事件采用跳变触发方式请求中断
(1)主程序ORG0000HLJMPMAINORG0003HLJMPINT_PROORG0030HMAIN:
MOVSP,#70HSETBIT0SETBEASETBEX0CLRPX0MOVA,;转移到主程序;中断处理程序入口;开辟堆栈区;外部事件中断的触发方式;开放CPU中断;允许INT0中断CPU;设置优先级#01H;显示控制码初值,A;输出显示ROT_DIS:
MOVP1,4.3外部事件中断及应用4.3.2外部事件中断源的应用(三)外部事件采用跳变触发方式请求中断
(1)主程序ACALLDLY;延时;产生下1个显示控制码ROT_DISRLAAJMP;延时子程序DLY:
MOVR7,#100DEL1:
MOVR6,#200DEL0:
NOPNOPNOPDJNZR6,DEL0DJNZR7,DEL1RET504.3外部事件中断及应用514.3.2外部事件中断源的应用(三)外部事件采用跳变触发方式请求中断
(2)中断处理程序ORG0300HINT_PRO:
PUSHACC;保护现场PUSHPSWMOVR5,#10;闪烁次数CONT:
MOVMOVA,#0FFHP1,A;全部点亮ACALLDLYMOVA,#00H;全部熄灭MOVP1,AACALLDLYDJNZR5,CONT;闪烁10次完否?
POPPSW;恢复现场POPACCRETIEND4.3外部事件中断及应用4.3.2外部事件中断源的应用(四)外部事件采用电平触发方式请求中断例:
P1.0P1.3为输出,外接指示灯L0L3,P1.7P1.4为输入,外接开关K0K3,欲采用外部中断控制方式实现按开关K0K3闭合状态分别控制指示灯L0L3的状态,按钮开关每闭合1次,使外部中断触发一次,程序改变1次指示灯的显示状态。
52;外部事件0中断入口地址;转到中断处理程序53ORG0003HAJMPExtIntORG0030HMAIN:
MOVSP,#70H;设置堆栈区CLRIT0SETBEX0SETBEA;电平触发方式;允许外部事件0中断源中断;开放CPU中断允许;设置中断优先级,只有一个中断源,可以省略CLRPX0HERE:
AJMPHERE;模拟执行很长的程序4.3外部事件中断及应用4.3.2外部事件中断源的应用(四)外部事件采用电平触发方式请求中断
(1)主程序:
ORG0000HSTAR:
AJMPMAINExtInt:
PUSHACC;在程序中修改了累加器A的内容,入;栈保护,就本题可省略,CLRP3.1;产生置位D触发器的信号,Q输出高MOVA,#0F0H;电平1,撤除中断请求MOVP1,A;置P1.4P1.7为输入MOVA,P1;读P1.4P1.7引脚状态,即开关状态ANLA,#0F0H;屏蔽低半字节,提取开关K0K354;的闭合状态4.3外部事件中断及应用4.3.2外部事件中断源的应用(四)外部事件采用电平触发方式请求中断
(2)中断处理程序:
ORG0200H4.3外部事件中断及应用554.3.2外部事件中断源的应用(四)外部事件采用电平触发方式请求中断
(2)中断处理程序:
CPLA;以下2步为产生指示灯控制信息,;P1.0P1.3为1时,对应的指SWAPA;示灯亮,开关闭合时,引脚输入;为0,故取反MOVP1,A;输出控制信息,SETBP3.1;使P3.1变为1,使触发器输出Q受;CLK控制,新的外部中断请求信;号可向单片机申请中断。
;恢复现场;中断返回POPRETIACC4.3外部事件中断及应用564.3.2外部事件中断源的应用(五)同时使用2个外部中断源例:
P1口为输出口,外接8个指示灯L0L7。
要求实现下面的要求:
1系统工作时,指示灯L0L7以3个指示灯为一组循环显示;2当S1按下时,暂时中断3灯循环方式,熄灭全部指示灯,从指示灯L0开始逐个点亮并保持,直至全部L0L7全部点亮,然后熄灭,重复上述过程5次后退出,继续3灯循环显示模式。
3当S2按下时,暂时中断3灯循环方式,全部指示灯L0L7闪烁显示10次后退出,继续3灯循环显示模式。
同时使用2个外部中断源的单片机应用系统4.3外部事件中断及应用4.3.2外部事件中断源的应用(五)同时使用2个外部中断源574.3外部事件中断及应用584.3.3外部事件中断源的扩展如果系统中有多个外部事件,可以采用中断源共享的方法,使多个中断源共同使用MCS51单片机的2个外部事件中断源。
4.3外部事件中断及应用594.3.3外部事件中断源的扩展例:
在电梯运行过程中,有以下几种情况需要电梯控制系统立即处理:
1当测速传感器检测到电梯失速时,要求控制系统立即切断控制回路电源;2当电梯运行到接近底层和顶层时,安装在电梯轿箱上撞弓装置撞击到强迫减速开关时,控制系统应强制电梯强制减速运行。
3当电梯强制减速后仍然不能停车,当上限限位和下限限位开关有效时,应切断整个电梯系统的电源。
4.3外部事件中断及应用604.3.3外部事件中断源的扩展例:
在电梯运行过程中,有以下几种情况需要电梯控制系统立即处理:
4当发生意外情况时,按下紧急停止按钮,电梯紧急制动停车。
5当电路欠压时或电网电压波动时,为了避免控制回路误动作,应切断控制回路电源,电梯紧急制动停车。
6曳引电机过载时,应进行过载保护,应切断控制回路电源,电梯紧急制动停车。
4.3外部事件中断及应用外部事件中断源的扩展电路614.3.3外部事件中断源的扩展4.3外部事件中断及应用624.3.3外部事件中断源的扩展主程序(中断处理初始化部分):
ORG0000HLJMPMAINORG0003HLJMPP_INT0ORG0013HLJMPP_INT1ORG0030HMAIN:
MOVSP,#60HCLRIT0CLRIT1;开辟栈区;设置电平触发方式;设置电平触发方式SETBEASETBEX0SETBEX1SETBPX0CLRPX1;开放CPU中断;允许中断;允许中断;置中断为高优先级;置中断为高优先级;主处理程序LOOP:
LJMPLOOP4.3外部事件中断及应用634.3.3外部事件中断源的扩展中断处理程序P_INT0:
PUSHACCPUSHPSW;切断整个系统电源POPPSWPOPACCRETIP_INT1:
CLREA;关中断PUSHACC;保护现场PUSHPSWSETBEA;开中断JNBP1.4,ForSwitchJNBP1.3,SpdSwitch;转强制换速处理;失速处理JNBP1.2,VoltSwitch;电源故障处理JNBP1.1,OvLodSwitch;电机过载处理;急停按钮处理;关中断;恢复现场JNBP1.0,EmSwitchRETURN:
CLREAPOPPSWPOPACCSETBEARETI;开中断;中断返回4.3外部事件中断及应用644.3.3外部事件中断源的扩展中断处理程序ForSwitch:
强制换速处理AJMPRETURNSpdSwitch:
失速处理AJMPRETURNVoltSwitch:
电源故障处理AJMPRETURNOvLodSwitch:
电机过载处理AJMPR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课件4 MCS-51单片机中断系统 单片机 课件 MCS 51 中断 系统