第3.1 单片机中断.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通常优先级的确定: 高级:T0,T1 低级:/INT0,/INT1,串行口 如此可保证定时/计数器的精度 * * 3.1.4 89C52单片机中断处理过程 一、中断响应条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 同时满足时,CPU才有可能响应中断。 3.1.4.1 中断响应条件和时间 * * 中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 * * 遇以下任一条件,硬件将受阻,不产生LCALL指令: CPU正在处理同级或高优先级中断; 当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断; 正在执行的指令为RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。 中断查询在每个机器周期中重复执行。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。 * * 二、中断响应时间 3.1.4.2响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)+2个周期(长调用LCALL) (2)最长时间 若当前指令是RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。 * * 将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。 根据中断源类别,在硬件控制下内部自动形成LCALL指令,即把程序计数器PC的内容压入堆栈保存(但不自动保存PSW内容),再将相应的中断服务程序的入口地址送入PC。 程序转向该中断的矢量地址,以转至中断服务程序对应的入口地址,执行中断服务程序。 中断响应过程 中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。 * * 中断源入口地址: /INT0:0003H T0:000BH /INT1:0013H T1:001BH 串行口中断:0023H T2:002BH * * 3.1.4.3中断处理 响应后从中断服务程序的第一条指令开始到返回指令 过程如下: 关中断-保护现场-开中断-中断服务-关中断-恢复现场-开中断-中断返回-断点地址由堆栈弹入PC 保护现场:主程序用到的,中断服务程序也要用到的寄存器都要保护起来,如PSW、工作寄存器、专用寄存器 保护现场和恢复现场时,为不使现场信息受到破坏,则应关中断,使CPU暂不响应其他中断 * * 3.1.4.4中断请求撤销 CPU响应中断请求,转向中断服务程序执行,在其执行中断返回指令(RETI)之前,中断请求信号必须撤除,否则将会再一次引起中断而出错。 中断请求撤除的方式有三种: 1.由单片微机内部硬件自动复位。 对于T0、T1 的溢出中断和采用跳变触发方式的外部中断请求,在CPU响应中断后,由内部硬件自动清除中断标志TF0和TF1、 IE0和IE1,而自动撤除中断请求。 5.2 中断响应过程 * * 2.采用软件清除中断请求 对于串行中断请求和定时/计数器2的溢出和捕获中断请求,在CPU响应中断后,必须在中断服务程序中通过软件清除RI、TI、TF2和EXF2这些中断标志,才能撤除中断,即硬件置位,软件清除。 3.软硬件结合的方法对中断请求的撤除 采用电平触发方式的外部中断请求,中断撤销是自动的,但中断请求信号的低电平可能继续存在,在以后机器周期采样时又会把已清零的IE0、IE1标志重新置1,再次申请中断。为保证在CPU中断响应后、执行返回指令前,撤除中断请求,应该采取措施保证在中断响应后把中断请求信号从低电平强制变为高电平。 5.2 中断响应过程 * * 3.1.4.5 中断返回 RETI指令的具体功能是: 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序; 将相应中断优先级状态触发

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档