单片机-第5章中断系统.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 MCS-51的中断系统 5.1 中断的基本概念 1.中断的定义 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。 2、中断的作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 3、中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的,对CPU而言,中断事件是由外部产生,具有随机性、不可知性。 4、CPU如何识别中断申请:CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。 5.2 MCS-51的中断系统 2、串行口控制寄存器SCON (98H) TI:串行口发送中断申请标志位 RI:串行口接收中断申请标志位 =0:没有串行口发送/接收中断申请; =1:有串行口发送/接收中断申请。 注:由硬件自动置位,必须由用户在中断服务程序中用软件清0。 3、中断允许控制寄存器IE (0A8H) 4、中断优先级控制寄存器IP (0B8H) 三、中断响应 2、中断响应的过程 中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询, CPU查询到某一中断源后,使相应的“优先级激活触发器”置位用以阻断同级或低级中断。 中断响应:在中断允许条件下响应中断。断点入栈→撤除中断标志→关闭低同级中断允许→中断入口地址送PC。 这些工作都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。 中断返回:执行中断返回RETI指令,它将清除“优先级激活触发器”, →断点出栈→开放中断允许→返回原程序。 最短的响应时间为3个机器周期 1)中断请求标志位查询占1个机器周期。 2)硬件子程序调用指令LCALL的执行,需要2个机器周期。 最长的响应时间为8个机器周期 1)发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,当前指令执行完最长需2个机器周期。 2)接着再执行一条指令,按最长指令来算,需4个机器周期。 3)硬件子程序调用指令LCALL的执行,需要2个机器周期。 如果已在处理同级或更高级中断,响应时间无法计算。 4、中断请求的撤除 外部中断请求的撤除 外部中断请求的两种触发方式(电平触发和负边沿触发)的中断请求撤除的方法是不同的。 边沿触发方式:CPU在前一机器周期采到 int0 / int1引脚为高,后一机器周期采到为低才认为是一次中断请求,即依靠CPU两次检测int0/int1上的负边沿触发电平状态而置位外部中断标志位IE0或IE1 。CPU 可记忆申请、可由硬件自动撤除中断申请。 电平触发方式:int0/int1引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,虽然CPU在响应中断时能由硬件自动复位IE0或IE1,但引脚上的低电平仍会使已经复位的IE0或IE1再次置位,产生重复中断的错误。两种方案解决。 在中断处理程序的最后、返回主程序之前,对外中断 信号进判断、等待,只有当外信号消失后再返回主 程序; MCS-51的中断请求的撤除方法 二、处理外部中断举例 例1:要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 1.跳变触发:每次跳变引起一次中断请求。 2、电平触发: (1)软件等待按键释放。 (2)硬件清除中断信号。 例2: 通过外部中断控制八盏灯循环点亮。 解:通过P1口扩展八盏灯,在/INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是:依次点亮八盏灯中的一盏。采用边沿触发。 中断程序设计: 如果程序设计检测次序是P1.0、P1.1、P1.2、P1.3口,优先级按顺序排列,如果同时有多个键被按下,可根据实际要求设定为 1、仅仅只响应最优先中断;2、按优先级顺序依次执行各个中断。 CLOSE: JNB ACC.3, KEY 0 ; 查询0号键 JNB ACC.2, KEY 1 ; 查询1号键 JNB ACC.1, KEY 2 ; 查询2号键 JNB ACC.0,KEY 3 ;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档