第5章单片机中断解说.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复位后,IP各位均为0,即所有的都是低优先级中断,IP可进行字节寻址和位寻址。 例:定义外部中断源INT0为最高级,其他为低级,初始化如下 1)SETB PX0 CLR PT0 CLR PX1 CLR PT1 CLR PS CLR PT2 2)MOV IP , #01H * * 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:T2的优先级最低,它的入口地址为002BH * * C语言设置51单片机的4个中断源,使他们的优顺序为/INT1, T1,/INT0,T0 PT1 = 1; PX1 = 1; * * 89C52单片机的中断优先级有三条原则: CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。同级n个中断源同时来到时,依据查询规则(高到低):/INT0,T0,/INT1,T1,串行口PS,T2 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。 为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。 * * 通常优先级的确定: 高级:T0,T1 低级:/INT0,/INT1,串行口PS 如此可保证定时/计数器的精度 * * 5.4 89C52单片机中断处理过程 一、中断响应条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 同时满足时,CPU才有可能响应中断。 5.4.1 中断响应条件和时间 * * 中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令(长调用指令),转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 * * 遇以下任一条件,硬件将受阻,不产生LCALL指令(长调用指令): CPU正在处理同级或高优先级中断; 当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断; 正在执行的指令为RETI(中断返回)或任何访问IE或IP寄存器的指令。即只有在这些指令后面在至少再执行一条指令时才能接受中断请求。 中断查询在每个机器周期中重复执行。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。 * * 二、中断响应时间 5.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 * * 5.4.3中断处理 响应后从中断服务程序的第一条指令开始到返回指令 过程如下: 关中断-保护现场-开中断-中断服务-关中断-恢复现场-开中断-中断返回-断点地址由堆栈弹入PC 保护现场:主程序用到的,中断服务程序也要用到的寄存器都要保护起来,如PSW、工作寄存器、专用寄存器 保护现场和恢复现场时,为不使现场信息受到破坏,则应关中

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档