第六章中断系统解析.ppt

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

第六章?????MCS-51单片机的中断系统 图 6-1 8051的中断系统 6.1 中断系统及其管理 一、 中断源及中断入口 ? 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H 二、 外部中断请求标志 1.定时/计数器控制寄存器TCON TF1 R1 TF0 R0 IE1 IT1 IE0 IT0 D0 D7 选择外中断0为边沿触发方式或电平触发方式 IT0=1表示边沿触发(下降沿),由软件置/复位 外中断0请求标志,产生中断时硬件置位,响应 后转向中断服务时由硬件清0 外中断1触发方式控制 外中断1请求标志 定时器0溢出中断申请标志,溢出时硬件置1 响应后硬件清0。也可软件清0(查询方式下) 定时器1溢出中断申请标志,与TF0类似 2.串行口控制寄存器SCON TI RI D0 D7 D1 串行口接收中断标志,方式0,每当接收到第 八位数据时硬件置‘1’,方式1,2,3且SM2=0时 收到停止位置‘1’,方式2,3且SM2=1时,收到 第九位为RB8=1,同时收到停止位,则置‘1’。 必须由软件清0 串行口发送中断标志,方式0,每发完八位数据 时硬件置‘1’,方式1,2,3时,发送停止位的开 始时置‘1’,必须在中断服务程序中由软件清0 三、 中断允许控制寄存器IE EA × × ES ET1 EX1 ET0 EX0 D0 D7 开放、禁止所有中断。EA=0,禁止 开放、禁止串行口中断 定时器1中断控制 外部中断1控制 定时器0中断控制 外中断0控制 四、中断源优先级控制寄存器IP × × × PS PT1 PX1 PT0 PX0 D0 D7 串行口中断优先级,PS=1为最高优先级 定时器1中断优先级 外部中断1优先级 定时器0中断优先级 外中断0优先级 中断优先级处理原则: 不同优先级的中断源同时申请中断时:先高后低 处理低级中断又收到高级中断请求时:停低转高 处理高级中断却收到低级中断请求时:高不睬低 同级中断源同时申请中断时:自然优先 6.2 中断响应条件及响应过程 二、 中断响应过程 1.中断响应的过程 一、 响应条件 首先,中断源有请求,中断允许寄存器IE相应位置“1” CPU中断开放(EA=1) 其次,中断请求有效。 响应中断 ? 置位相应的优先级有效触发器(防止低中断高, 允许高中断低) ? 调用硬件子程序,保护断点,清中断请 求标志(RI,TI除外)。 PC ? 中断服务程序入口地址。 CPU响应中断,保护断点,进入中断服务程序。 2.中断处理 3.中断返回 4.中断响应时间 中断处理即中断服务程序的执行,在中断服务程序中应 考虑:现场的保护(如PSW内容等)、中断请求标志TI、 RI的清除、中断的屏蔽、现场的恢复。 CPU执行中断程序直到RETI,弹出断点地址 ? PC,返回主程序 CPU确认中断,需要一个机器周期,保护断点(硬调用) 为2个机器周期,响应中断至少应有3个机器周期。 若现执行指令为RETI或访问IE、IP(1T),则其后一条指 令也要执行完毕方可响应中断,若其后为DIV(MUL), 其执行时间最长,总共花5T。 故响应时间为 3~ 8 T。 6.3 外部中断源及应用 一、 触发方式 ITx=0,电平触发。每个T采样INTx的状态,为低电平则直 接触发外中断。此方式下,中断源须持续请求,直到中断 实际产生为止,且在中断返回前,须撤除中断请求信号, 否则发生另一次中断(误中断)。 中断响应 服务 结束 撤除 适用于外部中断输入为低电平,且中断服务程序中能够 清除该中断源申请信号的情况。 ITx=1,边沿触发。在INTx端连续采样到一个T的高电平和 紧接着一个T的低电平则IEx=1,由该位申请中断,既使CPU 不能立即响应,中断标志仍保留等待响应,一旦进入中断程 序, IEx被CPU自动清除。 此情况适用于以负脉冲形式输入的外部中断请求。 二、中断程序举例 例1:利用8031外中断,实现单步操作 原理:中断返回指令 RETI。 8031执行完RETI必须返 回主程序执行一条指令 然后才能响应新的中断。 思路:只要INT0平时为低电平,且编程为电平触发方式,则 主机响应中断,进入中断服务程序,并驻留。直到INT0收到 一脉冲,才返回主程序执行一条指令,反复如此,可完成单 步执行(用以调试程序)。 程序清单: ORG 1000H CLR IT0 ;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档