第6六篇中断系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(1)将相应的优先级状态触发器*置位,指明CPU开始处理的中断优先级别; (2)清中断标志(TI和RI除外); (3)执行一个子程序:把中断的断点地址,也就是当前程序计数器PC中的内容压入堆栈,将相应的中断服务程序的入口送给PC。 6.4.1 中断响应 *优先级状态触发器:MCS-51中断系统内部设置两个优先级状态触发器,用户不能访问,用以指明CPU开始处理的中断的优先级别。 6.4.1 中断响应 6.4.2 中断处理及中断返回 CPU执行中断服务程序之前,自动将程序计数器PC内容(断点地址)压入堆栈保护(但不保护状态寄存器PSW、累加器A和其它寄存器的内容),然后将对应的中断 矢量装入程序计数器PC,使程序转向该中断矢量地址单元中,以执行中断服务程序。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作, 一方面清除优先级状态触发器标志,表明该中断服务程序已执行完毕,另一方面把原来压入堆栈保护的断点地址 从栈顶弹出,装入程序计数器PC,使程序返回到被中断的程序断点处,以便继续执行。 注意:RETI与RET的区别 6.4.2 中断处理及中断返回 CLR EA ;关中断 PUSH A ;保护现场 PUSH R1 ; … SETB EA ;开中断,可响应更高级中断 … ;中断服务 CLR EA ;关中断 … POP R1 ;恢复现场 POP A ; SETB EA ;开中断 RETI ;中断返回 6.4.2 中断处理及中断返回 中断请求的撤除: 中断响应后系统自动清除中断标志的有: 定时器0、1产生的中断请求、由边沿触发产生的外部中断请求; 中断响应后系统不能自动清除中断标志的有: 串行口中断、由电平触发产生的外部中断请求;其中,串行口中断的中断标志必须通过软件清除,电平触发产生的外部中断的中断标志则由输入口的电平决定。 6.4.2 中断处理及中断返回 3、外部中断的响应时间 MCS-51单片机在每个机器的S5P2期间对INT0和INT1进行检测,如果发现有中断请求,又能满足响应的条件,便在下一个机器周期的S1状态开始 应答,单片机首先执行一个内部硬件子程序,这个子程序本身占用两个机器周期,因此从外部发出中断请求信号到执行中断服务程序的第一条指令至少需要三个完整的机器周期。 3、外部中断的响应时间 讨论如下: (1) 如果现行的机器周期是本指令的最后一个周期,又无前述的其他响应条件所阻止,CPU马上响应,需要三个机器周期。 (2)如果现行的机器周期不是本指令的最后一个机器周期,则可能会增加1~3个周期,因为MCS-51单片机指令最长执行时间为4个机器周期,这样响应时间为4~6个机器周期。 3、外部中断的响应时间 (3)如果CPU正在执行的是RETI或是访问IE、IP寄存器的指令,则单片机需要再执行一条其他指令才会响应中断。这条指令可能是1~4个机器周期,所以这种情况下,可能会增加5个机器周期。 所以,一个单级外部中断,单片机响应时间为3~8个机器周期。 MCS-51单片机中断系统应用举例 利用MCS-51单片机的外部中断实现系统的单步操作。 解:一般单片机的开发系统都有单步运行用户程序的功能。在调试程序时,每按一次单步执行键,CPU就执行一条用户程序的指令,之后进入暂停等待状态,必要时还显示累加器中的内容和下条指令的地址。这是利用单片机的外部中断,配上简单硬件(如下图),再经适当编程实现的。 下图中,INT0设为电平触发方式,INT0引脚平时为低电平,单片机处于中断服务中。用户一次按键出现一个正脉冲。CPU在中断服务程序中检测到一个正脉冲便返回主程序执行一条用户程序指令,又得响应中断,等待用户按键,实现了单步操作。 例 1 利用MCS-51单片机的外部中断实现系统的单步操作 图5-8 例 1 利用MCS-51单片机的外部中断实现系统的单步操作 初始化程序为:? SETB???? EA???? ;CPU开中断 SETB??? PX0??? ;置为高中断优先级 CLR?? ?? IT0???? ;设INT0为电平触发 SETB??? EX0????;允许INT0中断 例 1 利用MCS-51单片机的外部中断实现系统的单步操作 中断服务程序?: ┋ ; HIGH: JNB P3.2,HIGH ;等待引脚为高电平 LOW: JB? P3.2,LOW ;再等待引脚为低电平 RETI?? ??????? ;中断返回 显示必要的数据 第六章 中断系统 什么是中断? 为什么需要中断? 有哪些中断源? 如何进行中断控制? 如何处理中断? 如何使用中断? 6.1 概述 中断技术使计算机具有对

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档