




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第五章1单片机的中断系统 第一节中断的基本概念第二节mcs 51单片机中断系统第三节中断系统的应用 2 第一节中断的基本概念 1 数据传送方式程序控制方式无条件传送方式 输入输出操作完全取决于程序的安排 而不管外设的状态 程序查询方式 先查询外设的当前状态 获得端口信息 i o操作完全由cpu控制 缺点 浪费cpu时间 效率低 中断传送方式cpu不必定时查询接口状态 接口在数据发送或接收数据准备好后通知cpu cpu通过执行一个中断服务程序来完成数据传送 接口没有准备好时 cpu继续执行主程序 提高cpu工作效率 dma directmemoryaccess 直接存储器存取方式i o设备在dma接口控制下直接把成块信息送到主存储器 或从主存储器取出成块信息送给i o设备 中间不经cpu参与 比中断 查询方式更加提高了cpu的利用率 3 第一节中断的基本概念 2 中断概念 cpu在正常运行程序时 由于cpu以外某一事件的发生 引起cpu暂停正在运行的程序 而转到为该事件的发生预先安排好的服务程序中去执行 4 3 中断源 可由硬件或软件引起 引起中断的事件 msc 51具有多个中断源 51子系列有5个中断源 2个外部中断 2个定时中断和1个串行中断 a 外中断 外部信号引起 共2个 即 外部中断 0 中断请求信号由引脚int0 p3 2 引入 外部中断 1 中断请求信号由引脚int1 p3 3 引入 外部中断请求有两种信号形式 低电平触发方式和负跳脉冲触发方式 负跳脉冲触发方式 负跳信号有效 即cpu在连续两个周期对引入端intx采样 如果前周期为高电平 后一周期为低电平 则为有效的负跳脉冲触发方式的外中断申请 低电平触发方式 低电平有效 只要cpu在每机器周期s5p2期间从引入端intx采样到低电平 就进入外中断 第一节中断的基本概念 5 b 定时器 计数器中断 内部计数器计数溢出 溢出标志位tfx作为单片机接受中断请求标志 信号来源 内部 定时 和外部 计数 芯片内部有两个定时器 计数器 tf0 tf1 发生计数溢出就可以达到申请中断请求 c 串行中断 串行数据传送 发送和接收 的需要而设置 串行口接收或发送 ti ri 完一组串行数据时 就可以产生一个中断请求 第一节中断的基本概念 6 中断源入口地址 7 ie 中断允许控制寄存器 tcon 定时控制寄存器 scon 串行口控制寄存器 ip 中断优先级控制寄存器 第二节mcs 51单片机的中断系统 与中断控制有关的控制寄存器有四个 8 1 中断允许控制寄存器ie用户软件设置寄存器地址为a8h 2 ex0 exl 外部中断允许控制位 int0 int1 ex0 exl 0禁止外中断ex0 exl l允许外中断 1 ea 中断允许总控制位 ea 0中断总禁止 禁止所有中断 即不响应任何中断请求 ea 1中断总允许 总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置 通过设置相关寄存器 达到控制中断工作的目的 一 中断控制寄存器 9 4 es 串行中断允许控制位es 0禁止串行中断es 1允许串行中断 结论 mcs 51通过中断允许控制寄存器对中断的允许实行两级控制 以ea位作为总控制位 以各中断源的中断允许位作为分控制位 mcs 51单片机复位后 ie 00h 因此中断系统处于禁止状态 单片机在中断响应后不会自动关闭中断 因此在转中断服务程序后 应使用有关指令禁止中断 即以软件方式关闭中断 3 et0 etl 定时 计数中断允许控制位 t0 t1 et0 etl 0禁止定时 或计数 中断et0 etl 1允许定时 或计数 中断 10 1 ie0 ie1 外部中断请求标志 硬件自动设置cpu采样到intx端有效的中断请求后 iex位由硬件自动置 1 在中断响应期间 要转向中断服务程序时 由硬件自动清零 2 定时器控制寄存器tcon寄存器地址为88h 11 2 定时器控制寄存器tcon寄存器地址为88h 4 tr0 tr1 定时器启动标志位 12 3 串行口控制寄存器scon 只有两位与中断有关 寄存器地址为98h 1 ti 串行口发送中断标志位 当cpu将一个数据写入发送缓冲器时 就启动发送 当最后一个数据位发送完后 ti由硬件自动置位 向cpu发中断申请 进行中断服务程序时 ti要由软件清0 软件查询时 ti可作为状态位使用 2 ri 串行口接收中断标志位 cpu接收数据时 当接收到最后一个数据位后 ri由硬件自动置位 并向cpu发中断申请 进行中断服务程序时 ri要由软件清0 软件查询时 ri可作为状态位使用 13 4 中断优先级控制寄存器ip用户软件设置寄存器地址为b8h px0 外部中断0优先级设定位pxl 外部中断l优先级设定位pt0 定时中断0优先级设定位ptl 定时中断l优先级设定位ps 串行中断优先级设定位对应位置1 优先级为高 置0 优先级为低 14 5 中断优先级控制原则和控制逻辑具有两级优先级 其中断优先级的控制原则是 1 低优先级中断请求不能打断高优先级的中断服务 但高优先级中断可以中断低优先级的中断服务 从而实现中断嵌套 2 如果一个中断请求已被响应 则同级的其他中断服务将被禁止 即同级不能嵌套 3 如果同级的多个中断请求同时出现 则按cpu查询次序确定哪个中断请求被响应 其查询次序为 外部中断0 定时中断0 外部中断1 定时中断1 串行中断 15 中断嵌套流程图 中断优先级 当多个中断源请求中断服务 那么cpu响应这些中断就有一个先后顺序 称之为中断优先级 优先级高 则cpu先响应 优先级低 则cpu不影响高级中断 平级 平级 16 8051的中断系统 17 6 中断初始化和中断控制寄存器状态逻辑设置 用户通过tcon scon ie和ip四个控制寄存器来使用中断系统 这四个控制寄存器都是既可进行字节寻址又可进行位寻址的 因此对位状态的设置既可以使用字节操作指令又可以使用位操作指令 字节操作指令 movie 81h ea es et1 ex1 et0 ex0位操作指令 setbeasetbex0 对中断的使用是在程序初始化时设置的 如果不包括优先级控制 外中断初始化共有3项内容 中断总允许 外中断允许和中断方式设定 定时中断则只有两项内容 没有中断方式控制 18 二 中断响应过程 中断响应 在满足cpu中断响应条件后 cpu对中断源中断请求的回答 1 中断响应基本条件 来中断 开中断 a 有中断源发出中断申请 中断采样s5p2 中断查询s6 中断采样 采样主要针对外中断请求信号进行 对芯片引脚 int0和 int1进行采样 电平方式或是脉冲方式 中断查询 由cpu测试tcon和scon中各标志位的状态 以确定有没有中断请求发生以及是哪一个中断请求 中断请求是随机发生 要求cpu不停地重复进行查询 b 中断总允许位ea 1c 各个中断源相应的允许位置1 即es et1 ex1 et0 ex0 19 中断响应可能会被阻止或被延迟 中断响应是有条件的 并不是查询到的所有中断请求都能被立即响应 当存在下列情况之一时 中断响应被封锁 a cpu正处在为一个同级或高级的中断服务中 b 查询中断请求的机器周期不是当前指令的最后一个机器周期 即当前指令完成前 不会响应任何中断请求 c 当前指令是返回指令 ret retl 或访问ie ip的指令 mcs 5l中断系统规定 在执行完这些指令之后 还应再继续执行一条指令 然后才能响应中断 以上三个条件称为中断封锁条件 20 3 中断响应过程 如果满足中断响应条件且不存在中断封锁情况 则cpu进入中断响应周期 完成以下工作 a 将响应的优先级状态触发器置1 b 由硬件清除相应的中断请求标志位 tfx iex 但串行中断标志位必须手动清除 c 执行一条由硬件生成的长调用指令lcall 其格式为lcalladdrl6 这里的addrl6就是程序存储器中相应中断区的入口地址 该指令将自动把断点地址 当前pc值 压入堆栈保护起来 然后将对应的中断入口地址装入pc 使程序转向该中断入口地址 去执行中断服务程序 注意 中断服务程序入口地址仅间隔8个字节 因此通常在这些入口地址处存放一条无条件转移指令 以控制程序转到用户安排好的中断服务程序地址去执行 21 4 中断响应时间 从中断请求产生到cpu转到相应的中断服务程序的入口地址所需的时间 1 基本响应时间 3个机器周期 1 查询中断标志 1个机器周期 2 转去执行中断服务程序 2个机器周期 2 额外的处理时间 0 5个机器周期 reti指令 2个机器周期 mul或div指令 4个机器周期 b 最长响应时间为8个机器周期查询中断标志位时 刚好开始执行 ret retl 或访问ie ip的指令 最长需要2个机器周期 单片机要求必须再继续执行一条指令 然后才能响应中断 若再执行的最长是4个机器周期的指令 mulab 再加上执行lcall的2个机器周期 总共是8个机器周期 a mcs 51单片机所需最短响应时间为3个机器周期 中断请求标志位请求占1个机器周期 每个机器周期的s5p2期间查询中断标志位 若此时恰好是正在执行指令的最后一个机器周期 中断立即会在该机器周期结束后被响应 硬件自动产生lcall指令 耗费2个机器周期 因此总共3个机器周期 22 结论 一般的中断响应时间都是3 8个机器周期 但是如果出现同级或是高级中断正在响应或是服务中 则响应时间无法计算 一般应用中 中断响应时间无需计算 只有在精确定时的应用场合 才需要计入中断响应时间 保证定时的精确 23 三中断服务程序中断都是在运行主程序时发生的 是主程序的随机事件 是否允许发生以及如何发生 都应该在主程序中预先设置 这就是中断初始化 中断服务程序 从入口地址开始执行一直到返回指令reti为止 需注意的问题 2 开中断和关中断a 在中断处理程序中 关中断 禁止响应其他一切中断 无中断嵌套b 要保持中断嵌套 就要分别在现场保护和现场恢复前后 加上关中断和开中断 避免现场被破坏 1 现场保护和现场恢复所谓现场 指中断时刻 单片机存储单元中的数据或状态 一定是主程序和中断程序都用到的且不能被修改的存储单元 现场保护 位于中断处理程序首部 push操作数现场恢复 位于中断处理程序尾部 pop操作数 24 org0000hljmpmainorg0013hljmpexint1org0050hexint1 clrea 关中断pushaccpushpsw 现场保护setbea 开中断中断服务程序clrea 关中断poppswpopacc 现场恢复setbea 开中断reti 中断返回org0100hmain 25 3 中断返回中断处理程序后最后一条指令必须是中断返回指令reti 执行该指令时 a 将 优先级状态触发器 复位为0 b 从堆栈栈顶弹出断点地址 装入pc 从而返回主程序 org0000hljmpmainorg0050hmain lcallsub sjmp sub reti 能正确运行吗 org0000hljmpmainorg0003hljmpsubmain sjmp sub ret 能正确运行吗 26 中断服务程序与子程序调用的区别 27 四 中断请求的撤消 中断响应后 tcon和scon中的中断请求标志应该及时清除 否则就意味着中断请求继续存在 处理不当 会造成中断的重复查询和响应 因此就存在一个中断请求的撤消的问题 负脉冲方式外部中断请求的撤消 两项内容 a 外中断标志位iex清 0 中断响应后 硬件自动把标志位iex清 0 b 外中断请求信号的撤消 对于脉冲方式 脉冲信号过后就消失 因此 负脉冲方式外部中断请求的撤消是自动的 定时中断请求的撤消 一项内容 定时溢出标志位tfx清 0 中断响应后 硬件自动把标志位tfx清 0 即定时中断请求的撤消是自动的 28 串行中断软件撤消 一项内容 标志位清 0 中断响应后 需要先分别测试ti和ri的状态 只有一个串行中断入口地址 判断完是接收操作还是发送操作后 再软件清 0 低电平方式外部中断请求的撤消 电平方式外部中断 中断标志的撤消是自动的 但中断请求信号的低电平可能继续存在 在以后的机器周期采样时 又会把清 0 的iex标志位置 1 因此其中断请求撤消也分为两项内容 a 外中断标志位iex清 0 中断响应后 硬件自动把标志位iex清 0 b 外中断请求信号的撤消 把中断信号引脚从低电平强制改为高 为此需要增加硬件电路和软件程序 29 第三节中断系统的应用 中断控制就是对4个与中断有关的专用寄存器tcon scon ie和ip进行管理和控制 管理和控制的项目有 1 cpu中断的开放与关闭 2 某中断源中断请求的允许与禁止 3 各中断源优先级别的设定 4 外部中断请求的触发方式 中断管理与控制程序一般包含在主程序当中 在中断响应过程中 断点的保护是由硬件电路来实现的 用户在编写中断服务程序时 主要需考虑现场的保护与恢复 当存在中断嵌套时 在保护和恢复现场前要关中断 在保护和恢复现场后要根据需要开中断 30 中断服务程序的一般格式 clrea 关中断pushpsw pusha 保护现场 setbea 开中断 中断服务程序 clrea 关中断 popa 恢复现场poppsw setbea 开中断reti 返回 31 例 硬件电路如图 通过8051单片机的p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人车辆质押合同(标准版)
- 借用合同(标准版)
- 学校超市租赁合同(标准版)
- 2025年全国“安全生产月”知识考试试题与参考答案
- 2025年防雷减灾试题及答案
- 安全员考及答案1 建筑
- 空勤安全员考及答案1
- 肉菜市场施工组织设计
- 关于委托开发的合同格式样本
- 3中宫收紧教学设计-2025-2026学年小学书法苏少版六年级上册-苏少版
- 退休教师国庆节活动方案
- CA6140普通车床进给系统的数控化改造
- 生物性资产管理办法
- 低效林改造管理办法
- 体重控制健康宣教
- 中学生自我管理课件
- 小学保护洱海教学课件
- 2025食品安全考试题目及答案
- 地铁车站装修安全文明施工专项方案及措施
- 金属冶炼安全培训课件
- 特巡警无人机培训课件
评论
0/150
提交评论