专题4中断系统o.ppt

上传人:本田雅阁 文档编号:2697785 上传时间:2019-05-05 格式:PPT 页数:34 大小:407.01KB
返回 下载 相关 举报
专题4中断系统o.ppt_第1页
第1页 / 共34页
专题4中断系统o.ppt_第2页
第2页 / 共34页
专题4中断系统o.ppt_第3页
第3页 / 共34页
专题4中断系统o.ppt_第4页
第4页 / 共34页
专题4中断系统o.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《专题4中断系统o.ppt》由会员分享,可在线阅读,更多相关《专题4中断系统o.ppt(34页珍藏版)》请在三一文库上搜索。

1、4.1 中断的概述 4.2 AT89C51中断系统 4.3 中断系统的应用,第4章 中断系统,1. 中断 中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故障与应变的能力。,5.1 中 断 的 概 述,2. 中断源 中断源是指在计算机系统中向CPU发出中断请求的来源, 中断可以人为设定, 也可以是为响应突发性随机事件

2、而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。,3. 中断优先级 中断优先级越高, 则响应优先权就越高。当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。,5.2 AT89C51中断系统,5.2.1 中断源及中断向量地址,表 5.1 中断服务程序入口地址表,ORG 0003H LJMP 1000H,中断标志:标志中断的请求,中断控制:对中断响应的管理控制(允许、 优先级等),5.2.2 中断标志与控制,(MSB),(LSB

3、),定时/计数器,外部中断,TFi:定时器中断溢出标志位(硬件自动) TRi:定时器启停控制位(软件),IEi:外部中断请求标志(硬件自动) ITi:外部中断触发类型选择(软件)1:下降沿 0:低电平,复位值: 00H,1、定时器控制寄存器TCON,(MSB),LSB,串行口中断标志,TI:发送中断标志(硬件设置,软件清除) RI:接收中断标志(硬件设置,软件清除),关注复位状态,2、串行口控制寄存器SCON,AT89C51中断的开放和关闭采用两级控制。 第一级用于控制单片机的能否响应中断。“总开关” 第二级则用于对单片机的5个(8052有 6个)中断源独立地进行允许或禁止以便用户能灵活使用。

4、,3、中断允许控制寄存器IE,AFH ADH ACH ABH AAH A9H A8H,IE,EA:总允许位 ET:定时/计数器溢出中断允许 EX:外部中断允许 ES:串行口中断允许,所有允许位均由软件控制,1开中断,0关中断。,所有中断复位状态均为关闭。即:IE=00H,复位状态为禁止中断。因此,在中断的主程序中应该有“开中断”的操作。即由软件指令设置相应的中断允许位的数值。设置方法: 1、直接改变IE整个字节值。 如MOV IE,# 84H;1000 0100B开外部1中断 2、直接设置对应的控制位(位地址、位名称、寄存器.位号)。如SETB EX1(IE.2或AAH) 还应注意两级中断打开

5、 SETB EA。,5个中断源共高、低两个优先级,各中断源通过IP的相应位设置优先级。CPU可以实现两级中断嵌套。,1为高优先级,0为低优先级。 低优先级的中断会因为高优先级的中断请求而再次中断。,4、中断优先级寄存器IP,如果同样优先级的请求,则按照CPU查询中断请求的顺序响应中断。查询的顺序决定了辅助优先结构。,与位地址对应,由低位到高位查询,例如, 某软件中对寄存器IE、 IP设置如下: MOV IE, 8FH;1000 1111B MOV IP, 06H ;0000 0110B 则此时该系统中: CPU中断允许; 允许外部中断 0、 外部中断 1、 定时器 /计数器 0、 定时器 /计

6、数器1提出的中断申请; 允许中断源的中断优先次序为: 定时器 /计数器 0外部中断 1外部中断 0定时器/计数器 1。,5.2.3 中断系统结构,(1) 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 则响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 (3) 中断服务, 即为相应的中断源服务。 (4) 恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来。在恢复现场后应及时开中断。 (5) 返回, 此时 CPU将推入到堆栈的断点地址弹回到程序计数器, 从而使CP

7、U继续执行刚才被中断的程序。,5.2.4 中断的响应,(1) 同级或高优先级的中断已在进行中; (2) 当前的机器周期还不是正在执行指令的最后一个机器周期(换言之, 正在执行的指令完成前, 任何中断请求都得不到响应); (3) 正在执行的是一条RETI或者访问特殊功能寄存器 IE或 IP的指令(换言之, 在RETI或读写IE或IP之后, 不会马上响应中断请求, 而至少执行一条其它指令之后才会响应)。,以下条件不能响应中断:,1、中断响应的条件, 单片机一旦响应中断请求, 就由硬件完成以下功能: (1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置 1; (2) 执行硬件中断服务子

8、程序调用, 并把当前程序计数器PC的内容压入堆栈; (3) 清除相应的中断请求标志位(串行口中断请求标志 RI和 TI除外); (4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。,2、中断响应过程,例如, 现有外部中断 1 提出申请, 且主程序中有R0、 R1、 DPTR、累加器A需保护, 则编制程序应为:,ORG 0000H AJMP MAIN ORG 0013H LJMP INT1 ORG 0100H MAIN: ; 主程序 ORG 1000H,INT1: PUSH ACC ; 中断服务程序 PUSH DPH PUSH DPL PUSH

9、 R0 PUSH R1 POP R1 POP R0 POP DPL POP DPH POP ACC RETI,编程中应注意: (1) 在 0000H放一条跳转到主程序的跳转指令, 这是因为 MCS-51单片机复位后, PC的内容变为 0000H, 程序从0000H 开始执行, 紧接着 0003H是中断程序入口地址, 故在此中间只能插入一条转移指令; (2) 响应中断时, 先自动执行一条隐指令“LCALL 0013H”, 而 0013H至 001BH(定时器 1 溢出中断入口地址)之间可利用的存储单元不够, 故放一条无条件转移指令。 (3) 在中断服务程序的末尾, 必须安排一条中断返回指令RET

10、I, 使程序自动返回主程序。,3、中断请求的撤除,(1)定时器中断标志位TF0、TF1:硬件自动撤除,(2)串行中断TI、RI:软件撤除 CLR TI CLR RI,(3)外部中断,负边沿请求方式:不会重复请求。,低电平请求方式:外部低电平持续作用,会产生重复的中断请求。必须强制撤除。,1、中断请求,2、中断撤除,ANL P1,#0FEH ;清除外部电平,ORL P1,#01H;允许再次中断 CLR IE0;清除中断位,4、中断的返回,RETI指令,返回原程序, 把一个外部中断(设为INT0)设置为低电平触发请求中断方式。其中断服务程序的末尾写上如下几条指令: JNB P3.2, $ ; 在I

11、NT0变高前原地等待(死循环) JB P3.2, $ ; 在 INT0变低前原地等待(死循环) RETI ; 返回并执行一条指令,5.3 中断系统的应用,例 1 单步操作的中断实现。,JNB P3.2, $ JB P3.2, $ RETI,现在,若INT0保持低电平, 且允许INT0中断, 则CPU就进入外部中断 0 服务程序, 由于有上述几条指令, 它就会停在 JNB处, 原地等待。当INT0 端出现一个正脉冲(由低到高, 再到低)时, 程序就会往下执行, 执行RETI后, 将返回主程序, 往下执行一条指令, 然后又立即响应中断,以等待INT0端出现的下一个正脉冲。 这样在INT0端每出现一

12、个正脉冲, 主程序就执行一条指令, 实现了单步执行的目的, 要注意的是, 这个正脉冲的高电平持续时间不小于3个周期, 以确保CPU能采集到高电平值。, MCS - 51 单片机有两个外部中断输入端, 当有 2 个以上中断源时, 它的中断输入端就不够了。此时, 可以采用中断与查询相结合的方法来实现。 可以使每个中断源都接在同一个外部中断输入端上, 同时利用输入口线作为多中断源情况下各中断源的识别线。,例 2 多中断源。,图 5.6 多中断源,ORG 0003H LJMP INT0 INT0: PUSH PSW PUSH ACC JB P0.7, DV1 JB P0.6, DV2 JB P0.5, DV3 JB P0.4, DV4 GOBACK: POP ACC POP PSW RETI DV1: ; 装置1中断服务程序 ,AJMP GOBACK DV2: ; 装置2中断服务程序 AJMP GOBACK DV3: ; 装置3中断服务程序 AJMP GOBACK DV4: ; 装置4中断服务程序 AJMP GOBACK,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1