




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章MCS 51的中断系统 6 1概述6 2MCS 51的中断系统6 3中断控制器8259A6 4MCS 51对外部中断扩展 1 无条件传送方式一直为数据I O传送作好准备的外部设备 才能使用无条件传送方式 这种传送方式不需要测试外部设备的状态 可以根据需要随时进行数据传送操作 一 数据的传送方式 6 1概述 2 查询传送方式查询传送又称为条件传送 即数据输入 输出之前 先要检测外设的状态 只有在确认外设已 准备好 的情况下 CPU才能执行数据输入 输出操作 通常把通过程序对外设状态的检测称之为 查询 查询的流程图如图所示 3 中断传送方式由于查询传送方式为CPU主动要求传送数据 因此只能用等待的方式来解决配合的问题 中断方式则是在外设为数据传送作好准备之后 就向CPU发出中断请求信号 相当于通知CPU CPU接收到中断请求信号之后立即作出中断响应 暂停正在执行的原程序 主程序 而转去为外设的数据输入输出的中断服务 待服务完之后 程序返回 CPU再继续执行被中断的原程序 二 中断的概念 中断 是指计算机暂时停止原程序的执行 转去为外部设备服务处理 执行中断服务程序 服务完成后 再返回到被中断的地方 继续原程序的执行 实现中断功能的部件称为中断系统 中断源 中断的原因 或中断申请的来源 称为中断源 中断请求 中断源要求服务的请求称为中断请求或中断申请 中断响应 处理器对请求的应答 断点 主程序被断开的位置 下一条指令的地址 称为断点 中断服务程序 中断所执行的处理程序通常称为中断服务程序 中断返回 中断服务程序完成后 回到主程序的断点处 中断技术是计算机中的重要技术之一 引入中断技术作用 1 实时处理 提高计算机处理故障的能力 实时测控 单片机能及时地响应和处理单片机外部事件或内部事件所提出的中断请求 2 解决CPU和外设之间的速度匹配问题 提高CPU的效率 对于各种计算机来说 其中断源的允许数目是不一样的 例如Z80允许128个中断源 不包括非屏蔽中断 而8086 8088则允许256个中断源 1 外部设备中断源2 控制对象中断源3 故障中断源4 定时脉冲中断源5 人为设置中断源 三 中断源 1 可屏蔽中断INTR 可屏蔽中断是指CPU对中断请求信号可以实施控制 屏蔽 通过中断控制指令实现INTR 中断请求信号来自于中断控制器8259A 高电平有效 NMI 由于紧急事件而产生的中断申请 申请信号不能用指令屏蔽 2 非屏蔽中断NMI 四 中断的分类 3 软中断 INTn INTn主要是用于系统定义或用户自定义的软件中断 CPU执行INTn指令 n为矢量中断 软中断包括ROM BIOS中断和DOS中断两部分 1 中断判优 优先权排队 优先权 给各中断源规定一个优先级别 称为优先权 当两个或者两个以上的中断源同时提出中断请求时 计算机首先为优先权最高的中断源服务 服务结束后再响应级别较低的中断源 计算机按中断源级别高低逐次响应的过程称优先权排队 这个过程可以通过硬件电路来实现 也可以通过程序查询来实现 五 中断系统功能 CPU执行某中断服务程序时 可以响应中断优先级别更高的中断请求 这就是中断嵌套 2 中断嵌套 根据事情的轻重缓急 中断级别可以由软件或硬件设置 MCS 51单片机相对来说较为简单 只提供了5个中断源 2个外部中断请求 2个片内定时器 计数器T0和T1的溢出中断请求TF0和TF1及串行口中断请求TI或RI 合为一个中断源 可提供两个中断优先级 即可实现二级中断嵌套 3 中断响应 中断响应的条件单片机响应中断的条件为中断源有请求 中断允许寄存器IE 1 且CPU开中断 即EA 1 这样 在每个机器周期内 单片机对所有中断源都进行顺序检测 并可在任一个周期的S6期间 找到所有有效的中断请求 满足条件后 在下一个机器周期的S1期间响应中断 中断响应过程 系统将自动完成3件事 关中断 保存断点 转入中断入口地址 根据响应的中断源的中断优先级 使相应的优先级状态触发器置1 执行中断服务子程序调用 并把当前程序计数器PC的内容压入堆栈 清除相应的中断请求标志位 串行口中断请求标志RI和TI除外 把被响应的中断源所对应的中断服务程序的入口地址 中断矢量 送入PC 从而转入相应的中断服务程序 4 中断的返回 执行中断返回指令RETI与一般返回指令类似 所不同的是 大多数中断返回指令还有其他的附加功能 例如 部分或全部恢复CPU的现场 除程序计数器外 还有标志寄存器PSW等 有些CPU的中断返回指令可自动恢复全部通用寄存器的内容 一 中断源和中断标志 6 2MCS 51的中断系统 MCS 51中典型的8051单片机有5个中断源 分别为2个从P3 2 P3 3上输入的外部中断源0 INT0 和外部中断源1 INT1 2个片内定时器 计数器T C0 T C1的溢出中断源和1个片内串行口发送或接收RI TI中断源 1 外部中断类外部中断是由外部原因引起的 即外部中断0 INT0 和外部中断1 INT1 INT0 外部中断0请求信号 由P3 2引脚输入 由IT0 TCON 0 决定中断请求信号是低电平有效还是下降沿有效 一旦输入信号有效 即向CPU申请中断 并且使IE0 1 INT1 外部中断1请求信号 由P3 3引脚输入 由IT1 TCON 2 决定中断请求信号是低电平有效还是下降沿有效 一旦输入信号有效 即向CPU申请中断 并且使IE1 1 2 定时中断 当定时器 计数器中的计数结构发生计数溢出时 即表明定时时间到或计数值已满 这时就以计数溢出信号作为中断请求 去置位一个溢出标志位 中断源可以由单片机芯片外部引入 TF0 溢出中断请求 当定时器T0产生溢出时 其中断请求标志TF0 1 请求中断处理 TF1 定时器T1溢出中断请求 当定时器T1产生溢出时 其中断请求标志TF1 1 请求中断处理 3 串行口中断 为串行数据的传送需要而设置的 RI或TI 串行中断请求 当接收或发送完一串行帧数据时 使内部串行口中断请求标志RI或TI 1 并请求中断 1 定时器 计数器控制寄存器TCON 88H TF1 TF0 IE1 IT1 IE0 IT0 8FH8DH8BH8AH89H88H TF1 T1的溢出中断请求标志位 T1被启动后 从初始值开始加1计数 当T1产生溢出 全 1 变为全 0 中断时 TF1由硬件自动置位 向CPU申请中断 当T1的溢出中断响应后 TF1由硬件自动复位 中断申请撤除 TF0 T0的溢出中断请求标志位 作用和TF1类似 IE1 外部中断1 INT1 的中断请求标志位 IE1 1有中断申请 IE1 0无中断申请 由硬件自动置位和复位 IT1 外部中断1 INT1 的触发控制标志位 当IT1 0 为电平触发方式 INT1低电平有效 IT1 1 INT1为边沿触发方式 INT1输入脚上的高到低的负跳变有效 中断标志 IE0 外部中断0 INT0 的中断请求标志位 IT0 外部中断0 INT0 的触发控制标志位 2 串行口控制寄存器SCON 98H TI RI 99H98H TI 串行口发送中断标志位 串行口发送完一组数据时 向CPU发出中断申请 同时也使TI由硬件自动置位 CPU响应此中断后 须由软件复位 RI 串行口接收中断标志位 串行口接收到一组数据时 向CPU发出中断申请 同时也使RI由硬件自动置位 CPU响应此中断后 须由软件复位 MCS 51系统复位后 TCON和SCON中各位被复位成 0 状态 二 MCS 51对中断请求的控制 1 对中断允许的控制 中断允许总控位EA 配合各中断源的中断允许控制位共同实现对中断请求的控制 这些中断允许控制位集成在中断允许寄存器IE A8H 中 EA ES ET1 EX1 ET0 EX0 AFHACHABHAAHA9HA8H EA CPU中断允许总控位 位地址为AFH 当EA 1时 CPU开放中断 每个中断源是允许还是禁止分别由各自的允许位确定 当EA 0 CPU关闭所有中断请求 称关中断 ES 串行口中断允许控制位 位地址为ACH 当ES 1 允许串行口中断 当ES 0 禁止串行口中断 ET1 定时器 计数器T C1的溢出中断允许控制位 位地址为ACH 当ET1 1 允许T C1中断 当ET1 0 禁止T C1中断 EX1 外部中断1的中断允许控制位 位地址为AAH 当EX1 1 允许外部中断1中断 当EX1 0 禁止外部中断1中断 ET0 定时器 计数器T C0的溢出中断允许控制位 位地址为A9H 当ET0 1 允许T C0中断 当ET0 0 禁止T C0中断 EX0 外部中断0的中断允许控制位 位地址为A8H 当EX0 1 允许外部中断0中断 当EX0 0 禁止外部中断0中断 中断允许寄存器IE的单元地址是A8H 各控制位也可位寻址 故既可以用字节传送指令也可以用位操作指令来对各个中断请求加以控制 例 开放T1的溢出中断 MOVIE 88H 或 SETBEASETBET1 2 对中断优先级的控制 MCS 51具有两个中断优先级 可由软件设置每个中断源为高优先级中断或低优先级中断 可实现二级中断嵌套 IP B8H 中断优先级寄存器 锁存各中断优先级的控制位 用户可由软件设定 PS PT1 PX1 PT0 PX0 BCHBBHBAHB9HB8H PS 串行口中断优先级控制位 当PS 1时 串行口中断被定义为高优先级中断 当PS 0 串行口中断被定义为低优先级中断 PX1 外部中断1中断优先级控制位 当PX1 1时 外部中断1中断被定义为高优先级中断 当PX1 0 外部中断1中断被定义为低优先级中断 PT0 T0中断优先级控制位 当PT0 1时 T C0中断被定义为高优先级中断 当PT0 0 T C0中断被定义为低优先级中断 PX0 外部中断0中断优先级控制位 当PX0 1时 外部中断0中断被定义为高优先级中断 当PX0 0 外部中断0中断被定义为低优先级中断 PT1 T1中断优先级控制位 当PT1 1时 T C1中断被定义为高优先级中断 当PT1 0 T C1中断被定义为低优先级中断 中断源的自然优先级顺序 MCS 51复位时 IE和IP各位被复位成 0 状态 单片机响应中断的条件为中断源有请求 中断允许寄存器IE 1 且CPU开中断 即EA 1 这样 在每个机器周期内 单片机对所有中断源都进行顺序检测 并可在任1个周期的S6期间 找到所有有效的中断请求 还对其优先级进行排队 但是 必须满足下列条件 3 中断的响应 中断响应的条件 1 无同级或高级中断正在服务 2 现行指令执行到最后1个机器周期且已结束 3 若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时 执行完该指令且紧随其后的另1条指令也已执行完 单片机在下1个机器周期的S1期间响应中断 否则 将丢弃中断查询的结果 关中断 保存断点 转入中断入口地址 把被响应的中断源所对应的中断服务程序的入口地址 中断矢量 送入PC 从而转入相应的中断服务程序 中断响应过程 中断源入口地址外部中断00003H外部中断10013H定时器 计数器T0000BH定时器 计数器T1001BH串行口中断0023H CPU从上面相应的地址开始执行中断服务程序直到遇到RETI指令为止 1 保护现场2 中断服务3 恢复现场4 开中断 4 中断的响应时间 不同的情况对中断响应的时间不同 1 最短的响应时间 需要5个机器周期 调用指令本身要用2个机器周期 从外部中断请求有效到开始执行中断服务程序的第一条指令 至少需要3个机器周期 2 如果遇到中断受阻 中断响应时间会更长一些 不同中断受阻情况 附加的等待时间为1 5个机器周期 3 若系统中只有一个中断源 则响应时间为3 8个机器周期 如果有两个以上中断源同时申请中断 则响应时间将更长 5 中断请求的撤消 1 定时器 计数器中断请求的撤消中断请求被响应后 硬件会自动清TF0或TF1 2 外部中断请求的撤消 1 跳沿方式外部中断请求的撤消是自动撤消的 2 电平方式外部中断请求的撤消 除了标志位清 0 之外 还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平 3 串行口中断请求的撤消响应串行口的中断后 CPU无法知道是接收中断还是发送中断 还需测试这两个中断标志位的状态 以判定是接收操作还是发送操作 然后才能清除 所以串行口中断请求的撤消只能用软件清除 CLRTI 清TI标志位CLRRI 清RI标志位 用P1 0接在触发器的S端作为应答线 当CPU响应中断后可使用如下指令 ANLPl 0FEHORLP1 01HCLRIE0 6 中断系统的初始化及应用 1 中断系统的初始化中断初始化是指用户对TCON SCON IE等特殊功能寄存器中的各控制位进行赋值 中断系统的初始化步骤 CPU开中断或关中断 某中断源中断请求的允许或禁止 屏蔽 设定所用中断的中断优先级 若为外部中断 则应规定低电平还是负边沿的中断触发方式 例 写出INT1为低电平触发的中断系统初始化程序 位指令 SETBEA SETBEX1 开INT1中断SETBPX1 INT1为高优先级CLRIT1 INT1低电平触发 字节指令 MOVIE 84HORLIP 04HANLTCON 0FBH 例 写出INT0为负边沿触发的中断系统初始化程序 位指令 SETBEA SETBEX0 开INT0中断SETBPX0 INT0为高优先级SETBIT0 INT0下降沿触发 字节指令 MOVIE 81HORLIP 01HORLTCON 01H 中断方式 6 3中断控制器8259A 8259A可编程中断控制器的功能 可管理8级优先权中断 通过级联最多可管理64级优先权的中断 每一个中断源都可以单独屏蔽 能向CPU提供可编程的中断类型号 多种中断优先权管理方式 完全嵌套方式自动循环方式特殊循环方式特殊屏蔽方式查询方式 一 8259A的内部结构和引脚功能 8259A由数据总线缓冲器 读 写控制逻辑 级联缓冲 比较器 中断屏蔽寄存器 中断服务寄存器 优先级处理器 中断请求寄存器和控制逻辑等电路组成 1 控制电路 根据IRR的置位情况和优先权判别器PR的判定结果 向8259A内部其它部件发出控制信号 并向CPU发出中断请求INT和接收来自CPU的中断响应INTA 2 数据总线缓冲器 双向8位三态缓冲器 构成8259A与CPU之间的数据接口 4 级联缓冲 比较器 用于多片8259之间的连接 主片8259A的CAS2 CAS0是输出线 从片8259A的CAS2 CAS0是输入线 SP EN 双功能引脚 3 读 写控制逻辑 完成来自CPU的读写命令 及与片选信号CS与A0 0或1 决定访问片内某个寄存器 7 优先权判别器PR 当IR7 IR0中有多个中断请求信号同时产生时 PR判定哪个中断请求具有最高优先权 并把它置入ISR的相应位 8 中断服务寄存器ISR 保存所有正在服务的中断源 某位 1表示对应的IRi中断正在被服务 多重中断情况下 ISR中多位被同时置 1 6 中断屏蔽寄存器IMR 存放中断屏蔽字 某位 1表示对应的IRi输入被屏蔽 5 中断请求寄存器IRR 保存从IR0 IR7来的中断请求信号 某位 1表示对应的IRi有中断请求 保存正在申请中断的状态 IR0 IR7 8个中断请求输入信号 分别接来自不同外设的中断源 高电平或上升沿表示有请求 INT 中断请求信号 输出 向CPU发中断请求 CAS2 CAS0 主从级连双向信号 可用两个或更多的8259A级连 是从片的INT输出接到主片的一个IR输入 A0 地址选择信号 用来对内部寄存器进行选择 通常接总线的A0 即8259A的内部寄存器占外设的两个地址 称为奇地址和偶地址 主从或缓冲方式 双向信号 当其为输入时 由它决定该片为主片 SP 1 或从片 SP 0 当其为输出时 8259A处于 缓冲方式 该信号用来控制双向总线驱动器的启动 EN 端 这种方式常用于多片级连的大系统中 中断响应输入信号 接收CPU响应中断后的应答信号 8259A具有非常灵活的中断管理方式 可满足使用者的不同要求 而中断优先级是中断管理的核心问题 二 8259A的优先级管理方式 1 完全嵌套方式系统复位后自动默认的方式 8259A的8个中断源在该方式下自动将IR0设置为最高级 IR7级别最低 要求在中断服务程序结束之前 执行一段程序 将要结束的中断请求的ISR相应位清 0 以便响应下一级的中断请求 2 自动嵌套 轮换 方式优先级的顺序不是固定不变的 一个设备受到中断服务后 其优先级自动降为最低 初始优先级的顺序为IR0 IR7 该方式用在系统中多个中断源优先权相同的场合 3 优先级指定轮换方式 与优先级自动轮换方式一致 但初始的最高优先级是指定的 然后再按顺序自动轮换 4 特殊全嵌套方式 级联 中断优先级按IR0 IR7顺序排列 当执行某一级中服时 可响应同级中断源提出的中断请求 从而实现中断请求的特殊嵌套 IR2的优先级大于IR5 应该打断IR5的中服 但对主片而言 它们同是一个优先级IR3 所以如果工作在正常全嵌套方式下 CPU不能执行从片IR2的中服 所以 在级联情况 应使主片工作在特殊的全嵌套方式下 在中断嵌套的过程中 CPU每响应一次中断进入中断服务程序后 执行一条STI指令 将IF置 1 否则高级中断将无法进入系统 任何一级中断处理完毕 CPU应向8259A回送EOI结束命令 以便8259A将ISR寄存器中的相应位清 0 标志本级中断结束 结束中断的处理方式 1 自动中断EOI方式 在中服程序的最后 中断返回之前 不需要用软件发送清除ISR对应位的命令 机器在中服运行之前 第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村信用社招聘考试每日一练试卷及参考答案详解(综合卷)
- 绿色金融背景下2025年商业银行信贷风险评估指标体系构建
- 2024江苏省海门市中考数学考试历年机考真题集完整附答案详解
- 2025自考之《社区护理》模拟试题附答案(达标题)
- 商业用地出租委托合同4篇
- 2025年火电电力职业鉴定测试卷及答案详解(夺冠系列)
- 2024-2025学年粮油食品检验人员试题预测试卷带答案详解(培优A卷)
- 高校教师资格证之《高等教育法规》自测题库带答案详解(精练)
- 2024年黑龙江省肇东市中考数学题库检测试题打印及参考答案详解(培优B卷)
- 孕产妇高危妊娠管理试题及答案2025年版
- 公司内部程序文件(格式模版)
- 泛光施工招标文件
- 旅游策划实务整套课件完整版电子教案课件汇总(最新)
- 小学生汉字听写大赛题库
- DB23∕T 2661-2020 地热能供暖系统技术规程
- 人工挖孔桩施工监测监控措施
- 第一框 关爱他人
- 国家职业技能标准 (2021年版) 6-18-01-07 多工序数控机床操作调整工
- 办公楼加层改造施工组织设计(100页)
- 渗透检测培训教材(1)
- 空调专业常用英文词汇
评论
0/150
提交评论