第五章节80C51单片微机(1327KB).pptVIP

  • 7
  • 0
  • 约9.42千字
  • 约 61页
  • 2018-04-01 发布于未知
  • 举报
⒊ 中断响应 ? 硬件自动生成长调用指令为LCALL addr16,而addr16就是各中断源的中断矢量地址(参见表5-1)。 ◆先将程序计数器PC的内容压入堆栈进行保护,先低位地址,后高位地址,同时堆栈指针SP加2。 ◆将对应中断源的中断矢量地址装入PC,去执行中断服务程序。 ◆中断服务程序由中断矢量地址开始执行,直至遇到RETI为止。 执行RETI,一是撤销中断申请,弹出断点地址进入PC,先弹出高位地址,后弹出低位地址,同时堆栈指针SP减2,恢复原程序的断点地址执行;二是恢复中断触发器原先状态。 中断响应是有条件的,在接受中断申请时,如遇下列情况之一时,硬件生成的长调用指令“LCALL”将被封锁: ⑴ CPU正在执行同级或高一级的中断服务程序中。因为当一个中断被响应时,其对应的中断优先级触发器被置“1”,封锁了同级和低级中断; ⑵ 查询中断请求的机器周期不是执行当前指令的最后一个周期。 ⑶ 当前正在执行RETI指令或执行对IE、IP的读/写操作指令。80C51中断系统的特性规定,在执行完这些指令之后,必须再继续执行一条指令,然后才能响应中断。 中断的执行过程与调用子程序相似点: ⑴ 都是中断当前正在执行的程序,转去执行子程序或中断服务程序。 ⑵ 都是由硬件自动地把断点地址压入堆栈,然后通过软件完成现场保护。 ⑶ 执行完子程

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档