【摘要】:3)不存在更高级或同级中断正在被处理。2)执行长调用指令把断点压入堆栈,并把中断源入口地址装入程序计数器PC。程序执行到中断返回指令时,中断服务结束。
1.中断响应的条件
CPU在每个机器周期内顺序查询每个中断源,其响应中断的条件为:
1)有中断源发出中断请求。
2)总中断EA及中断源允许位为1。
3)不存在更高级或同级中断正在被处理。
4)若正在执行返回指令RET、RETI或执行IE、IP访问指令时,执行完后至少要再执行一条其他指令,才能响应中断。
2.中断响应的过程
单片机响应中断后内部硬件自动完成以下操作:
1)把该中断所对应的内部优先级状态触发器置位,以阻止同级或低级中断。(www.xing528.com)
2)执行长调用指令把断点压入堆栈,并把中断源入口地址装入程序计数器PC。
3)硬件清除中断标志IE0、IE1、TF0、TF1,以免重复响应。
4)PC转向相应的中断服务程序。
3.中断服务
在中断服务程序中首先是保护现场,把程序状态字PSW、工作寄存器、特殊功能寄存器等信息通过软件方法入栈保护。其中硬件不能清除的中断标志TI、RI,需用软件清除,低电平触发的外部中断请求信号也需通过外部方法撤除。程序执行到中断返回指令时,中断服务结束。
4.中断返回
最后的中断返回指令RETI功能是:自动把内部优先级状态触发器清零,从堆栈中弹出两个字节的PC值,回到原先程序的断点位置继续往下执行程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。