MCS51单片机的中断系统ppt课件.pptx

上传人:牧羊曲112 文档编号:2002439 上传时间:2022-12-30 格式:PPTX 页数:46 大小:739.10KB
返回 下载 相关 举报
MCS51单片机的中断系统ppt课件.pptx_第1页
第1页 / 共46页
MCS51单片机的中断系统ppt课件.pptx_第2页
第2页 / 共46页
MCS51单片机的中断系统ppt课件.pptx_第3页
第3页 / 共46页
MCS51单片机的中断系统ppt课件.pptx_第4页
第4页 / 共46页
MCS51单片机的中断系统ppt课件.pptx_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《MCS51单片机的中断系统ppt课件.pptx》由会员分享,可在线阅读,更多相关《MCS51单片机的中断系统ppt课件.pptx(46页珍藏版)》请在三一办公上搜索。

1、单片微型计算机原理及应用AMicrocontrollers Principle and Applications,课程主讲:訾学博,课程内容,2,第6章 8051的中断系统,3,某人看书某人正在处理一件事A手机铃响出现另一件须立即解决的事B暂停看书中止A 书中作记号记录断点,便于接续 电话谈话处理B继续看书继续A的工作,保护断点,中断响应,中断请求,中断返回,(1) 现实生活中的中断:,6.1.1 中断的概念,6.1 8051单片机的中断系统,4,中断原因: 一个人不可能同时完成两项任务。,单片机只有一个CPU,一旦面临多任务,它也会中断吗?,先接电话,然后再继续看书,这样效率最高!,5,(2

2、) 单片机的中断,CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作,中断源 中断请求 中断服务 中断返回 中断系统,中断的优点 利用率高 实时性强 可靠性好,中断当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事件请求CPU立即去处理,于是,CPU暂时中止当前的工作,转去处理这个紧急事件,待处理完毕后,再回到原来被中止的地方,继续原来的工作。中断系统能够实现中断处理功能的部件中断处理过程 中断请求 中断响应 中断服务 中断返回,7,中断源引起中断的原因,或者是能发出中断申请的来源又被称作

3、“中断请求源”中断请求中断源向CPU提出的处理请求,外部中断0和1(INT0、INT1)采集到低电平或者脉冲下降沿时,产生中断请求。INT0来自P3.2引脚INT1来自P3.3引脚定时/计数器0和1(T0、T1)定时功能时,计数脉冲来自片内计数功能时,计数脉冲来自片外T0来自P3.4引脚T1来自P3.5引脚计数值由8个1变成8个0时,产生中断请求。串行中断发送或接收完一个字节数据时,产生中断请求发送来自P3.0引脚接收来自P3.1引脚,8,MCS-51的中断源,中断技术的应用,并行处理 CPU可以与多台外设并行工作,并分时与他们进行信息交换,提高了CPU的工作效率。实时控制 单片机应用系统可能

4、随机请求CPU提供服务。有了中断系统,CPU就可以立即响应并予以处理。故障处理 单片机系统在工作时可能会出现一些突发故障,如电源断电,存储器出错,程序执行错误(如除数为0)等,一旦出现故障,CPU就可及时转去执行故障处理程序,而不必停机。,9,中断系统,为实现中断功能而配置的硬件和编写的软件就是中断系统。,中断功能由中断系统来执行。,10,11,IT0=0,IT0=1,T0,T1,TX,RX,+,ES,ET1,EX1,ET0,EX0,1,0,PT0,1,0,PT1,1,0,PX1,1,0,PS,1,0,PX0,矢量地址,自然优先级,矢量地址,自然优先级,低级中断请求PC,高级中断请求PC,IE

5、,IP,IT1=0,IT1=1,硬件查询,硬件查询,源允许,总允许,优先级,中断请求标记,中断触发方式,中断源,8051中断系统的结构,5个中断源、2个中断优先级,6.1.2 中断源中断的申请方,8051单片机有5个中断源。见下表,能够向CPU发出中断申请的部件称为中断源。,6.1.3 中断控制中断的控制“工具”,中断允许寄存器IE中断优先级寄存器IP定时/计数器及外部中断控制寄存器TCON串口控制寄存器SCON,单片机通过对4个特殊功能寄存器实施中断控制:,13,触发方式设置及中断标志,外部中断触发方式位IT1、IT0(用ITx表示) 电平方式(ITx=0),INTx引脚低电平时IEx=1,

6、响应中断后IEx不自动清0(INTx引脚状态)。 边沿方式(ITx=1),INTx引脚负跳变时IEx=1,响应中断后IEx自动清0。,外部中断标志IE1、IE0(用IEx表示),两种触发方式比较:,电平方式时, INTx低电平必须保持到响应时,否则就会漏掉;在中断服务结束前,INTx低电平必须撤除,否则中断返回之后将再次产生中断。 例,8255的中断请求线在接受读或写操作后即被复位,因此以其去请求电平触发方式的中断比较方便。,边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。若CPU暂时不能响应,申请标志也不会丢失,直到响应时才清0。 例,ADC0809的转换结束信号EOC为正脉冲,经反

7、相后就可以作为8051的INTx信号 。,溢出中断标志TF1、TF0(用TFx表示),溢出中断请求标志TFx ,Tx启动后就开始由初值进行加1计数,直至最高位产生溢出使TFx=1向CPU请求中断。CPU响应中断后TFx自动清0。,SCON的中断标志,RI:串口接收中断标志,响应中断时不能自动清除 TI:串口发送中断标志,响应中断时不能自动清除,外部中断INTi(i=0,1)电平方式触发中断ITi设置为0CPU在每个机器周期的S5P2采样INTi引脚,若INTi引脚为低电平时,则置IEi为1,产生中断请求。跳沿方式触发中断ITi设置为1加到INT0上的信号电平从高跳变到低时,触发中断当CPU响应

8、中断后,IEi由硬件自动复位定时/计数器中断Ti(i=0,1)Ti产生溢出(计数值由8个1变成8个0)时,TFi由0变成1,向CPU发出中断请求。中断响应后,TFi自动复位。,串行中断发送(TX)发送完一个字节数据时,TI由0置1,向CPU发出中断请求。中断响应后,必须用指令复位TI。接收(RX)接收完一个字节数据时,RI由0置1,向CPU发出中断请求。中断响应后,必须用指令复位RI。,17,18,中断请求所影响到的位地址,中断允许控制,中断源的开放和屏蔽由IE控制(1,开放;0,禁止),EX0:外中断0允许 ET0:T0中断允许 EX1:外中断1允许,ET1:T1中断允许 ES :串口中断允

9、许 EA :CPU中断允许,20,中断允许,21,【例】若允许片内2个定时/计数器中断,禁止其他中断源的中断请求,试编写出设置IE的程序段。,(方法1) 用位操作指令,(方法2) 用字节操作指令,IE,中断优先级控制,中断优先级由IP控制(1,高级;0,低级),PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级,PT1:T1中断优先级 PS :串口中断优先级,同一优先级的自然顺序:自高至低:INT0、T0、INT1、T1、串口。,23,中断优先级,中断优先级遵循的原则,几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其中断,但可以被高级中断所中断。

10、,为此,中断系统内设有对应高、低2个优先级状态触发器(用户不能寻址)。 状态触发器的复位由中断返回指令RETI控制。,25,【例】设置IP寄存器的初始值,使得MCS-51系统的2个外中断请求为高优先级,其他中断请求为低优先级,(方法1) 用位操作指令,(方法2) 用字节操作指令,IP,6.2.1 中断响应条件和时间,中断响应条件,CPU开中断中断源发出中断请求中断源的中断允许位为1无同级或更高级中断正在被服务,6.2 8051单片机中断处理过程,中断响应的过程由硬件根据中断源的类型自动生成一条长调用指令LCALL addr16。Addr16为程序存储器中相应的中断入口地址CPU执行LCALL

11、addr16(1) 将PC的内容压入堆栈,以保护断点(2) 将中断入口地址装入PC,使程序转向响应中断请求的中断入口地址。,27,两个中断入口间隔只有8个字节,一般情况下难以安排下一个完整的中断服务程序,通常只是在中断入口地址处放置一条无条件转移指令,使程序执行转向在其他地址存放的中断服务程序。,中断响应被封锁的三种情况CPU正在处理同级的或更高优先级的中断。一个中断被响应时,要把中断优先级状态触发器设置为“1”(该触发器指出CPU处理的中断优先级别),从而封锁低级中断和同级中断请求。查询到中断请求的机器周期不是当前正在执行指令的最后一个机器周期。只有当前指令执行完毕后,才能响应中断请求,以确

12、保当前指令完整的执行。正在执行的指令是RETI或是访问IE或IP的指令。MCS-51中断系统规定,在执行完上述指令后,需要再去执行完一条指令,才能响应新的中断请求。,28,中断响应时间,中断响应至少需要3个完整的机器周期(38个)!,受阻时要附加35个机器周期(无同级或高级中断正进行),查询周期不是当前指令的最后机器周期(如MUL,+3)查询周期恰逢RETI类指令(且后跟MUL指令+5),6.2.2 中断响应过程,CPU响应中断过程,将相应优先级状态触发器置1(阻断后来同级或低级中断 )执行硬件LCALL指令(PC入栈,中断服务程序入口址送PC)执行中断服务程序,编写中断服务程序注意,中断服务

13、程序入口存放指令LJMP或AJMP现场保护与现场恢复,6.2.3 中断返回,中断服务程序最后指令必须是RETI,其功能:,将断点从堆栈弹送PC,CPU从原断点继续执行 将相应优先级状态触发器清0,恢复原来工作状态,注意,不能用RET代替RETI 中断服务程序中PUSH和POP必须成对使用,6.2.4 中断请求的清除,CPU响应某中断后,在中断返回前,中断请求应被撤除,否则会引起另一次中断。,1、定时器0和定时器1中断 CPU在响应中断后用硬件自动清除有关的中断请求标志TF0或TF1。,2、边沿触发的外部中断 在硬件CPU在响应中断后用硬件自动清除有关的中断请求标志IE0或IE1。,3、电平触发

14、的外部中断 在硬件上CPU对/INT0、INT1没有控制,因此必须另外采取措施加外部硬件控制和软件编程。,4、串行口中断 CPU在响应中断后没有用硬件自动清除中断请求标志RI和TI,必须在中断服务程序中用软件清除之,以撤除中断请求。,32,33,中断服务程序的基本流程,6.3 8051中断程序设计,34,为了防止此时有高一级的中断进入,以免现场保护的执行过程被中断。,35,所谓现场是指中断时刻单片机中某些寄存器和存储器单元中的数据或状态。为了不让中断服务程序的执行破坏这数据或状态,以免中断返回后影响主程序的运行,需要将他们送入堆栈保存起来。,36,为了允许有更高级的中断进入。这样一来,除了现场

15、保护和现场恢复外,中断处理的过程仍允许中断嵌套的功能,37,为了防止此时有高一级的中断进入,以免现场恢复的执行过程被中断。,38,中断处理结束后,在返回主程序前,把保存的现场的内容从堆栈中弹出,以恢复那些寄存器和存储单元中的原有内容,39,为了允许有更高级的中断进入。现场恢复后,仍允许中断嵌套的功能。,40,必须是返回指令RETI。CPU执行完这条指令后,把响应中断时所置“1”的优先级状态触发器清“0”,然后从堆栈中弹出栈顶上的两个字节的断点地址送到程序计数器PC,弹出的第一个字节送入PCH,第二个字节送入PCL,CPU从断点处重新执行被中断的主程序,【例6-1】单外部中断源示例,ORG 00

16、00H LJMP MAIN ORG 0003H LJMP INT0 ORG 0030H MAIN:CLR IT0 ;电平 SETB EA SETB EX0 MOV DPTR,#1000H ,主程序:,中断服务程序:,ORG 0200HINT0: PUSH PSW PUSH ACC CLR P3.0 ;由P3.0输出0 NOP NOP SETB P3.0 MOV P1,#0FFH ;置P1口为输入 MOV A,P1 ;输入数据 MOVX DPTR,A ;存入数据存储器 INC DPTR ;修改数据指针,指向下一个单元 POP ACC ;恢复现场 POP PSW RETI,【例6-2】 多外部中断

17、源示例,中断服务程序:,ORG 0003H LJMP INSE0 ORG 0013H LJMP INSE1 INSE0:PUSH PSW ;XI0中断服务 PUSH ACC POP ACC POP PSW RETI (转下页),6.4 8051多中断源程序设计,INSE1:PUSH PSW (接上页) PUSH ACC JB P1.0, DV1 ;P1.0为1,转XI1中断服务程序 JB P1.1, DV2 ;P1.1为1,转XI2中断服务程序 JB P1.2, DV3 ;P1.2为1,转XI3中断服务程序 JB P1.3, DV4 ;P1.3为1,转XI4中断服务程序INRET:POP ACC POP PSW RETI DV1: ;XI1中断服务程序 AJMP INRET DV4: ;XI4中断服务程序 AJMP INRET,小 结1、5个中断源及其对应入口地址: 外中断2个:INT0、INT1 定时中断2个:T0、T1 串行中断1个:RI/TI 2、中断优先原则:分2个优先级; 同级: INT0T0INT1T1RI/TI。3、中断请求的撤消:3类中断请求撤消的异同点。4、中断系统内部结构5、中断响应过程,45,教材第95页6、7、9,46,作业,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号