专题4中断系统o

上传人:s9****2 文档编号:572176038 上传时间:2024-08-12 格式:PPT 页数:34 大小:346KB
返回 下载 相关 举报
专题4中断系统o_第1页
第1页 / 共34页
专题4中断系统o_第2页
第2页 / 共34页
专题4中断系统o_第3页
第3页 / 共34页
专题4中断系统o_第4页
第4页 / 共34页
专题4中断系统o_第5页
第5页 / 共34页
点击查看更多>>
资源描述

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

1、第4章 MCS - 51单片机的中断 专题4中断系统oStillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望第4章 MCS - 51单片机的中断 1. 中断中断 中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故

2、障与应变的能力。 5.1 中中 断断 的的 概概 述述第4章 MCS - 51单片机的中断 2. 中断源中断源 中断源是指在计算机系统中向CPU发出中断请求的来源, 中断可以人为设定, 也可以是为响应突发性随机事件而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。 第4章 MCS - 51单片机的中断 3. 中断优先级中断优先级 中断优先级越高, 则响应优先权就越高。当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。 第4章

3、MCS - 51单片机的中断 5.2.1 中断源及中断向量地址中断源及中断向量地址 5.2.2 中断标志与控制中断标志与控制 5.2.3 中断系统结构中断系统结构 5.2.4 中断的响应中断的响应5.2 AT89C51中断系统中断系统第4章 MCS - 51单片机的中断 5.2.1 中断源及中断向量地址中断源及中断向量地址第4章 MCS - 51单片机的中断 表 5.1 中断服务程序入口地址表 ORG 0003HLJMP 1000H第4章 MCS - 51单片机的中断 中断标志中断标志:标志中断的请求中断控制中断控制:对中断响应的管理控制(允许、 优先级等)5.2.2 中断标志与控制中断标志与

4、控制第4章 MCS - 51单片机的中断 TF1TR1TF0TR0IE1IT1IE0IT0(MSB)(LSB)定时定时/计数器计数器外部中断外部中断TFi:定时器中断溢出标志位(硬件自动):定时器中断溢出标志位(硬件自动)TRi:定时器启停控制位(软件):定时器启停控制位(软件)IEi:外部中断请求标志(硬件自动):外部中断请求标志(硬件自动)ITi:外部中断触发类型选择(软件):外部中断触发类型选择(软件)1:下降沿:下降沿 0:低电平:低电平复位值:00H1、定时器控制寄存器、定时器控制寄存器TCON第4章 MCS - 51单片机的中断 SM0SM1SM2RENTB0RB0TIRI(MSB

5、)LSB串行口中断标志TI:发送中断标志(硬件设置,软件清除):发送中断标志(硬件设置,软件清除)RI:接收中断标志(硬件设置,软件清除):接收中断标志(硬件设置,软件清除)关注复位状态2、串行口控制寄存器、串行口控制寄存器SCON第4章 MCS - 51单片机的中断 AT89C51中断的开放和关闭采用两级控制。中断的开放和关闭采用两级控制。 第一级用于控制单片机的能否响应中断。“总开关” 第二级则用于对单片机的5个(8052有 6个)中断源独立地进行允许或禁止以便用户能灵活使用。3、中断允许控制寄存器、中断允许控制寄存器IE第4章 MCS - 51单片机的中断 EX0ET0EX1ET1ESE

6、T2XEA(MSB)(LSB) AFH ADH ACH ABH AAH A9H A8HIEEA:总允许位ET:定时/计数器溢出中断允许EX:外部中断允许ES:串行口中断允许所有允许位均由软件控制,所有允许位均由软件控制,1开中断,开中断,0关中断。关中断。所有中断所有中断复位状态复位状态均为关闭。均为关闭。即:即:IE=00H第4章 MCS - 51单片机的中断 复位状态为禁止中断。因此,在中断的主程序中应该有“开中断”的操作。即由软件指令设置相应的中断允许位的数值。设置方法: 1、直接改变IE整个字节值。 如MOV IE,# 84H;1000 0100B开外部1中断 2、直接设置对应的控制位

7、(位地址、位名称、寄存器.位号)。如SETB EX1(IE.2或AAH) 还应注意两级中断打开 SETB EA。第4章 MCS - 51单片机的中断 PX0PT0PX1PT1PSPT2XX(MSB)(LSB) BDH BCH BBH BAH B9H B8H 5个中断源共高、低两个优先级,各中断源通过IP的相应位设置优先级。CPU可以实现两级中断嵌套。1为高优先级,0为低优先级。低优先级的中断会因为高优先级的中断请求而再次中断。4、中断优先级寄存器、中断优先级寄存器IP第4章 MCS - 51单片机的中断 如果同样优先级的请求,则按照CPU查询中断请求的顺序响应中断。查询的顺序决定了辅助优先结构

8、。与位地址对应,由与位地址对应,由低位到高位查询低位到高位查询第4章 MCS - 51单片机的中断 例如, 某软件中对寄存器IE、 IP设置如下: MOV IE, 8FH;1000 1111B MOV IP, 06H ;0000 0110B 则此时该系统中: CPU中断允许; 允许外部中断 0、 外部中断 1、 定时器 /计数器 0、 定时器 /计数器1提出的中断申请; 允许中断源的中断优先次序为: 定时器 /计数器 0外部中断 1外部中断 0定时器/计数器 1。 第4章 MCS - 51单片机的中断 5.2.3 中断系统结构中断系统结构第4章 MCS - 51单片机的中断 (1) 在每条指指

9、令令结结束束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 则响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 (3) 中断服务, 即为相应的中断源服务。 (4) 恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来。在恢复现场后应及时开中断。 (5) 返回, 此时 CPU将推入到堆栈的断点地址弹回到程序计数器, 从而使CPU继续执行刚才被中断的程序。 5.2.4 中断的响应中断的响应第4章 MCS - 51单片机的中断 (1) 同级或高优先级的中断已在进行中; (2) 当前的

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

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

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

13、的存储单元不够, 故放一条无条件转移指令。 (3) 在中断服务程序的末尾, 必须安排一条中断返回指令RETI, 使程序自动返回主程序。 第4章 MCS - 51单片机的中断 3、中断请求的撤除、中断请求的撤除(1)定时器中断标志位TF0、TF1:硬件自动撤除(2)串行中断TI、RI:软件撤除 CLR TI CLR RI(3)外部中断负边沿请求方式:不会重复请求。 低电平请求方式:外部低电平持续作用,会产生重复的中断请求。必须强制撤除。第4章 MCS - 51单片机的中断 101、中断请求2、中断撤除ANL P1,#0FEH ;清除外部电平ORL P1,#01H;允许再次中断CLR IE0;清除

14、中断位第4章 MCS - 51单片机的中断 4、中断的返回、中断的返回RETI指令,返回原程序第4章 MCS - 51单片机的中断 把一个外部中断(设为INT0)设置为低电平触发请求中断方式。其中断服务程序的末尾写上如下几条指令: JNB P3.2, $ ; 在INT0变高前原地等待(死循环) JB P3.2, $ ; 在 INT0变低前原地等待(死循环) RETI ; 返回并执行一条指令 5.3 中断系统的应用中断系统的应用例例 1 单步操作的中断实现。第4章 MCS - 51单片机的中断 JNB P3.2, $ JB P3.2, $ RETI第4章 MCS - 51单片机的中断 现在,若I

15、NT0保持低电平, 且允许INT0中断, 则CPU就进入外部中断 0 服务程序, 由于有上述几条指令, 它就会停在 JNB处, 原地等待。当INT0 端出现一个正脉冲(由低到高, 再到低)时, 程序就会往下执行, 执行RETI后, 将返回主程序, 往下执行一条指令, 然后又立即响应中断,以等待INT0端出现的下一个正脉冲。 这样在INT0端每出现一个正脉冲, 主程序就执行一条指令, 实现了单步执行的目的, 要注意的是, 这个正脉冲的高电平持续时间不小于3个周期, 以确保CPU能采集到高电平值。 第4章 MCS - 51单片机的中断 MCS - 51 单片机有两个外部中断输入端, 当有 2 个以

16、上中断源时, 它的中断输入端就不够了。此时, 可以采用中断与查询相结合的方法来实现。 可以使每个中断源都接在同一个外部中断输入端上, 同时利用输入口线作为多中断源情况下各中断源的识别线。例例 2 多中断源。多中断源。第4章 MCS - 51单片机的中断 图 5.6 多中断源 第4章 MCS - 51单片机的中断 ORG 0003H LJMP INT0INT0: PUSH PSW PUSH ACC JB P0.7, DV1 JB P0.6, DV2 JB P0.5, DV3 JB P0.4, DV4GOBACK: POP ACC POP PSW RETI DV1: ; 装置1中断服务程序 第4章 MCS - 51单片机的中断 AJMP GOBACKDV2: ; 装置2中断服务程序 AJMP GOBACKDV3: ; 装置3中断服务程序 AJMP GOBACKDV4: ; 装置4中断服务程序 AJMP GOBACK

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号