CH7-中断系统.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH7-中断系统

第七章 中断系统 7.1.1 什么是中断 中断的基本概念 中断是指计算机暂停主程序执行,转而为外设服务(执行中断服务程序)并在中断服务完后自动返回源程序执行的过程。 中断可以提高CPU的工作效率,使CPU可任意通过分时操作启动多个外设同时工作,并能对它们进行统一管理。 中断与子程序的区别 7.1.1 什么是中断 7.1.2 计算机引入中断的优点 7.2 中断系统的结构 中断源 中断控制 中断响应 中断请求的撤除 7.2.1中断源 中断源是指引起中断的设备或事件,或发生中断请求的源头。80C51单片机有5个中断源: 1.外部中断源 由P3.2 (INT0)端口线引入,低电平或下降沿引起。 由P3.3 (INT1)端口线引入,低电平或下降沿引起。 2.内部中断源 T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。 各个中断源的中断请求标志 TCON SCON 7.2.2 中断控制 1.中断允许寄存器IE(A8H) IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。 2.中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位。 中断优先级 单片机采用了自然优先级和人工设置高、低优先级的策略,即可以由程序员设定高优先级和低优先级,由于只有两级,必有一些中断处于同一级别,处于同一级别的,就由自然优先级确定。 开机时,每个中断都处于低优先级,我们可以用指令对优先级进行设置。中断优先级由中断优先级寄存器IP来设置。 自然优先级,由高到低 外部中断INT0 (中断入口地址0003H) 定时器计数器T0中断 (000BH) 外部中断INT1 (0013H) 定时器计数器T1中断 (001BH) 串行中断 (0023H) 7.2.3 中断响应-- 1.中断响应的条件 首先,中断源发出中断申请; 其次,EA=1,即CPU允许所有中断源申请中断; 最后,申请中断的中断源的中断允许位为1。 下列任何一种情况存在中断申请将被封锁: (1)CPU正在执行一个同级或高一级的中断服务程序 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。 2.中断响应过程 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 单片机响应中断后,自动执行下列操作: ① 置位中断优先级有效触发器,即关闭同级和低级中断; ② 调用入口地址,断点入栈,相当于LCALL指令; ③ 进入中断服务程序。 3.中断响应时间 响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)+2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。 7.2.4 中断请求的撤除 定时器溢出中断 定时器溢出中断得到响应后由硬件自动复位 串口中断 需在中断服务程序中适当的位置由用户撤除 外部中断 负边沿触发方式下:CPU响应中断后硬件自动复位 电平触发方式下:虽然可由硬件自动复位,但电平可能没有及时撤除,需使电平随中断被响应变成高 电平触发外部中断中断请求的撤除 7.3 中断系统的编程 7.3.1 中断初始化: 开相应中断,包括总中断和各相应中断; 设定所用中断的优先级,若不设定,系统默认自然优先级; 若为外部中断,规定中断的触发方式; 7.3.2 中断服务程序的编写: 主要有四部分:保护现场,处理中断的程序,恢复现场,中断返回指令RETI 编写中断服务程序应注意: 中断服务程序入口的处理; 程序中可以禁止高级中断,在保护和恢复现场时也可以关闭中断,以免造成混乱; 中断服务程序的最后一条指令必须是RETI 7.3.3 处理外部中断举例 要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 1.跳变触发:每次

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档