第6章+中断系统.pptVIP

  • 6
  • 0
  • 约5.49千字
  • 约 46页
  • 2019-09-06 发布于广东
  • 举报
第一章 概述 例:若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段. (1)用位操作指令来编写如下程序段: CLR ES ;禁止串行口中断 CLR EX1 ;禁止外部中断1中断 CLR EX0 ;禁止外部中断0中断 SETB ET0 ;允许定时器/计数器T0中断 SETB ET1 ;允许定时器/计数器T1中断 SETB EA ;CPU开中断 1 0 1 0 1 0 第一章 概述 (2)用字操作指令来编写: MOV IE,#8AH 或: MOV 0A8H,#8AH ;A8H为IE寄存器字节地址 1 0 1 0 1 0 第一章 概述 IP(Interrupt Priority),中断优先级寄存器,两个中断优先级,可实现两级中断嵌套。如图: 第一章 概述 (1)PS——串行口中断优先级控制位。 1:高优先级中断;0:低优先级中断。 (2)PT1——定时器T1中断优先级控制位 (3)PX1——外部中断1中断优先级控制位 (4)PT0——定时器T0中断优先级控制位 (5)PX0——外部中断0中断优先级控制位 IP各位的功能: 第一章 概述 (1)低优先级可被高优先级中断,反之则不能。 (2)不会被同级中断源中断。 (3)同时收到几个同级中断请求时,优先响应哪一个取决于内部的查询顺序。 中断优先设定遵循的基本规则: 第一章 概述 表:同级内优先次序 第一章 概述 (1)用位操作指令 SETB PX0 ;2个外中断为高优先级 SETB PX1 CLR PS ;串口为低优先级中断 CLR PT0 ;2个定时器/计数器低优先级中断 CLR PT1 1 1 0 0 0 例:设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。 第一章 概述 (2)用字节操作指令 MOV IP,#05H 或: MOV 0B8H,#05H 1 1 0 0 0 第一章 概述 1)该中断源发出中断请求,即对应的中断请求标志位为“1”。 2)IE寄存器中的中断总允许位EA=1,该中断源的中断允许位=1,即该中断没有被屏蔽。 3)无同级或更高级中断正在被服务。 CPU响应中断请求的条件 第一章 概述 首先由硬件生成指令:LCALL addr16 CPU执行该指令,清除中断请求标志位(RI和TI除外),将断点地址压栈保护,再将中断入口地址装入PC。 各中断源服务程序的入口地址: 中断响应的主要过程: 中断源 入口地址 外部中断0 0003H 定时器/计数器T0 000BH 外部中断1 0013H 定时器/计数器T1 001BH 串行口中断 0023H 第一章 概述 中断处理及返回 现场:中断服务前,有关寄存器(A、PSW等)的内容。 中断返回:中断服务程序的最后一条指令必须是RETI。 第一章 概述 1.定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。 2.外部中断请求的撤消 (1)边沿触发方式外部中断请求的撤消是自动撤消的。 (2)电平触发方式外部中断请求的撤消,是通过软硬件相结合的方法来实现的。 3.串行口中断请求的撤消 中断响应后,内部硬件没有自动清除TI或RI,只能用软件清除。 中断请求的撤消 第一章 概述 只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而撤消了低电平的中断请求信号。所需的负脉冲可用两条指令得到: ANL P1,#0FEH ;P1.0为低电平,Q=1 ORL P1,#01H ;P1.0为高电平 外部中断请求电路(电平触发方式) * * 中断请求:当外部中断请求信号为高电平时,CP为低电平,触发器脉冲信号无效。当请求信号为低电平时,CP高电平有效,Q(INT0)输出低电平。 当撤销CP信号, Q(INT0)低电平保持不变。硬件不能自动清零,只有通过软件清除中断请求信号。 SD:异步置位断,P1.0为低电平时,Q输出高电平,撤销外部中断请求信号。 * * * * * 两个外部中断请求源往往不够用。 计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1), 发中

文档评论(0)

1亿VIP精品文档

相关文档