[电脑基础知识]单片机中断系统

上传人:油条 文档编号:49792886 上传时间:2018-08-02 格式:PPT 页数:43 大小:263KB
返回 下载 相关 举报
[电脑基础知识]单片机中断系统_第1页
第1页 / 共43页
[电脑基础知识]单片机中断系统_第2页
第2页 / 共43页
[电脑基础知识]单片机中断系统_第3页
第3页 / 共43页
[电脑基础知识]单片机中断系统_第4页
第4页 / 共43页
[电脑基础知识]单片机中断系统_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《[电脑基础知识]单片机中断系统》由会员分享,可在线阅读,更多相关《[电脑基础知识]单片机中断系统(43页珍藏版)》请在金锄头文库上搜索。

1、 中断的基本概念MCS-51中断源中断控制寄存器中断处理过程中断优先控制和中断嵌套中断系统的应用MCS-51定时/计数器定时/计数器控制寄存器定时/计数器工作方式定时/计数器的应用第5章 中断系统和定时/计数器 本章要点:5.1 MCS-51中断系统CPU暂时暂时 中止其正在执执行的程序,转转去执执行请请求中断 的那个外设设或事件的服务务程序,等处处理完毕毕后再返回 执执行原来中止的程序, 叫做中断。 为什么要设置中断? 提高CPU工作效率 具有实时处理功能 具有故障处理功能 实现分时操作一、 中断概述 什么叫中断?中断功能强弱是计算机性能优劣 的重要标志中断源 中断申请开放中断保护现场中断服

2、务恢复现场中断返回中断涉及的几个环节3. 中断源 中断源是指能发出中断请求,引起中断的装置或 事件。 MCS-51单片机的中断源共有5个,其中2个为外 部中断源,3个为内部中断源: INT0:外 部中断0,中断请求信号由P3.2输入。 INT1:外部中断1,中断请求信号由P3.3输入 。 T0:定时/计数器0溢出中断,对外部脉冲计数由 P3.4输入。 T1:定时/计数器1溢出中断,对外部脉冲计数由 P3.5输入。 串行中断:包括串行接收中断RI和串行发送中断 TI。4.中断系统的功能 1)实现中断并返回 2)能实现优先排队 3)高级中断源能中断低级的中断处理二、 MCS-51 中断系统结构 中

3、断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。 1. 中断控制寄存器MCS-51单片机中涉及中断控制的有3个方面4个 特殊功能寄存器:三、中断控制INT0、INT1、T0、T1中断请求标志放在TCON中 串行中断请求标志放在SCON中。 中断请求控制寄存器TCOND7D6D5D4D3D2D1D0 位名称TF1TF0IE1IT1IE0IT0 位地址8FH8EH8DH8CH8BH8AH89H88H功能 T1 中断 标标志T0 中断 标标志中断 标标志触发发 方式中断 标标志触发发 方式TCON的结构、位名称、位地址和功能如下:

4、TCON位功能: TF1 T1溢出中断请求标志T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志T0计数溢出后,TF0=1TF0/TF1:定时器溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动清零。 IE1 外中断中断请求标志当P3.3引脚信号有效时,IE1=1 IE0 外中断中断请求标志当P3.2引脚信号有效时,IE0=1IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。 IT1 外中断触发方式控制位IT1=1,边沿触发方式;IT1=0,电平触发方式。 IT0 外中断触发方式控制位其意义和功能与IT1相似。IT0/IT1:外

5、部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效.串行控制寄存器SCONTCOND7 D6 D5D4 D3 D2D1D0 位名称 TIRI 位地址 99H98H 功能 串行发发送 中断标标志串行接收 中断标标志 TI 串行口发送中断请求标志 RI 串行口接收中断请求标志80C51对中断源的开放或关闭由中断允许控 制寄存器IE控制。 中断允许控制寄存器IEIE的结构、位名称和位地址如下:IED7D6 D5D4D3D2D1D0 位名称EA ESET1EX1ET0EX0位地址AFH ACHABHAAHA9HA8H中

6、断源CPU 串行口T1T0 EA CPU中断允许控制位(总开关)EA=1,CPU开中;EA=0,CPU关中,且屏蔽所有5个中断源。 EX0 外中断INT0中断允许控制位EX0=1,INT0开中;EX0=0,INT0关中。 EX1 外中断INT1中断允许控制位EX1=1,INT1开中;EX1=0,INT1关中。 ET0 定时/计数器T0中断允许控制位ET0=1,T0开中;ET0=0,T0关中。 ET1 定时/计数器T1中断允许控制位ET1=1,T1开中;ET1=0,T1关中。 ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。说明: MCS-51对中断实行

7、两级控制,总控制位是EA ,每一中断源还有各自的控制位。首先要EA=1, 其次还要自身的控制位置“1”。例如:要使INT0开中(其余关中),可执行下列指令 :MOV IE,#1000000lB ;或者: SETB EA ;SETB EX0 ; IED7D6 D5D4D3D2D1D0 位名称EA ESET1EX1ET0EX0位地址AFH ACHABHAAHA9HA8H中断源CPU 串行口T1T0中断允许控制寄存器IE PX0 :INT0中断优先级控制位。PX0=1,为高优先级;PX0=0,为低优先级; PX1 :INT1中断优先级控制位。控制方法同上。 PT0 :T0中断优先级控制位。控制方法同

8、上。 PT1 :T1中断优先级控制位。控制方法同上。 PS :串行口中断优先级控制位。控制方法同上。 中断优先级控制寄存器IPMCS-51有5个中断源,划分为2个中断优先级: 高优先级和低优先级。IP的结构、位名称和位地址如下:IED7D6D5D4D3D2D1D0 位名称PSPT1PX1PT0PX0 位地址BCHBBHBAHB9HB8H 中断源串行口T1INT1T0INT0例如:若要将INT1、串行口设置为高优先级,其余 中断源设置为低优先级,可执行下列指令:MOV IP,#00010100B;需要指出的是,若置5个中断源全部为为高优优先级级 ,就等于不分优优先级级。 IED7D6D5D4D3

9、D2D1D0 位名称PSPT1PX1PT0PX0 位地址BCHBBHBAHB9HB8H 中断源串行口T1INT1T0INT0中断优先级控制寄存器IP四、 中断处理过程中断处理过程大致可分为四步:中断请求、中断响应、中断服务、中断返回 中断请求中断源发出中断请求信号,相应的中断请求标志位 (在中断允许控制寄存器IE中)置“1”。 中断响应CPU查询(检测)到某中断标志为“1”,在满足中 断响应条件下,响应中断。 中断响应条件: 该中断已经“开中”; CPU此时没有响应同级或更高级的中断; 当前正处于所执行指令的最后一个机器周期; 正在执行的指令不是RETI或者是访向IE、IP的指 令,否则必须再

10、另外执行一条指令后才能响应。 中断响应操作CPU响应中断后,进行下列操作: 保护断点地址; 撤除该中断源的中断请求标志; 关闭同级中断; 将相应中断的入口地址送入PC;MCS-51五个中断入口地址:INT0:0003H;T0:000BH;INT1:0013H;T1:001BH;串行口:0023H 执行中断服务程序中断服务程序应包含以下几部分: 保护现场 执行中断服务程序主体,完成相应操作 恢复现场 中断返回在中断服务程序最后,必须安排一条中断返回 指令RETI,当CPU执行RETI指令后,自动完成下列 操作: 恢复断点地址。 开放同级中断,以便允许同级中断源请求 中断。五 、中断响应等待时间若

11、排除CPU正在响应同级或更高级的中断情况,中 断响应等待时间为:38个机器周期六、 中断请求的撤除中断源发出中断请求,相应中断请求标志置“1” 。 CPU响应中断后,必须清除中断请求“1”标志。否 则中断响应返回后,将再次进入该中断,引起死循环出 错。 对定时/计数器T0、T1中断,外中断边沿触发方式 ,CPU响应中断时就用硬件自动清除了相应的中断请求 标志。 对外中断电平触发方式,需要采取软硬结合的方 法消除后果。 对串行口中断,用户应在串行中断服务程序中用 软件清除TI或RI。例 :硬件电路如图所示。当外部设备有中断请求时,中 断请求信号经反相,加到锁存器CP端,作为CP脉冲 。由于D端接

12、地为0,Q端输出低点平,触发 INT0产 生中断。当CPU响应中断后,应在该中断服务程序中 按排两条指令:CLR P10:SETB P10从而撤消引起重复中断的INT0低电平信号。因此一般来说,对外中断INT0、INTl,应尽量采 用边沿触发方式,以简化硬件电路和软件程序。 七、 中断优先控制和中断嵌套 中断优先控制MCS-51中断优先控制首先根据中断优先级,此外还规 定了同一中断优先级之间的中断优先权。其从高到低的顺 序为:INT0、 T0、 INT1、T1、串行口。中断优先级是可编程的,而中断优先权是固定的,不 能设置,仅用于同级中断源同时请求中断时的优先次序。80C51中断优先控制的基本

13、原则: 高优先级中断可以中断正在响应的低优先级中断, 反之则不能。 同优先级中断不能互相中断。 同一中断优先级中,若有多个中断源同时请求中断 ,CPU将先响应优先权高的中断,后响应优先权低的中断 。 中断嵌套当CPU正在执行某个中断服务程序时,如果发生更高一 级的中断源请求中断,CPU可以“中断”正在执行的低优先级中 断,转而响应更高一级的中断,这就是中断嵌套。中断嵌套只能高优先级“中断”低优先级,低优先级不能 “中断”高优先级,同一优先级也不能相互“中断”。中断嵌套结构类似与 调用子程序嵌套,不同 的是: 子程序嵌套是在程序 中事先按排好的;中断 嵌套是随机发生的。 子程序嵌套无次序限 制,

14、中断嵌套只允许高 优先级“中断”低优先级 。八、 中断系统的应用 中断初始化 设置堆栈指针SP 定义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。 中断服务主程序中断服务子程序内容要求: 在中断服务入口地址设置一条跳转指令,转移到中断服务 程序的实际入口处。 根据需要保护现场。 中断源请求中断服务要求的操作。 恢复现场。与保护现场相对应,注意先进后出、后进先出 操作原则。 中断返回,最后一条指令必须是RETI。 中断初始化 设置堆栈指针SP因中断涉及保护断点PC地址和保护现场数据, 且均要用堆栈实现保护,因此要设置适宜的堆栈深 度。深度要求不高且工

15、作寄存器组13不用时, 可维持复位时状态:SP=07H,深度为24B(20H2FH 为位寻址区)。要求有一定深度时时,可设设置SP=60H或50H, 深度分别为别为 32B和48B。 定义中断优先级 根据中断源的轻重缓急,划分高优先级和低优先级 。用MOV IP,#XXH或SETB XX指令设设置。 定义外中断触发方式一般情况,定义边沿触发方式为宜。若外中断 信号无法适用边沿触发方式,必须采用电平触发发方 式时时,应应在硬件电电路上和中断服务务程序中采取撤除 中断请请求信号的措施。 开放中断注意开放中断必须同时开放二级控制,即同时 置位EA和需要开放中断的中断允许控制位。可用 MOV IE,#XXH指令设设置,也可用SETB EA和SETB XX 位操作指令设设置。 安排好等待中断或中断发生前主程序应完成的 操作内容。 中断服务主程序中断服务子程序内容要求: 在中断服务入口地址设置一条跳转指令,转 移到中断服务程序的实际入口处。由于MCS-51相邻两个中断入口地址间只有8B的 空间,8B只能容纳一个有38条指令的极短程序, 一般情况中断服务程序均大大超出8B长度。因此, 必须跳转到其他合适的地址空间。跳转指令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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