中断嵌套的概念 主程序 程序1 程序2 中断 中断 片机原理与运用
子程序 事件11 子程序 事件22 中断嵌套的概念: 主程序 中断 中断
四、MCS-51中断的响应过程 CPU每个机器周期都需要顺序检查每个中断源,当检测到有 中断请求时,能否响应,还要看下述情况是否存在: (1)CPU正处理相同级别或更高级别的中断; (2)正在执行指令,还未到最后一个机器周期; (3)正在执行的指令是RET或访问IP、I指令,则执行完上 述指令后,再执行一条指令后,才会响应新中断
四、MCS-51中断的响应过程 CPU每个机器周期都需要顺序检查每个中断源,当检测到有 中断请求时,能否响应,还要看下述情况是否存在: (1)CPU正处理相同级别或更高级别的中断; (2)正在执行指令,还未到最后一个机器周期; (3)正在执行的指令是RETI或访问IP、IE指令,则执行完上 述指令后,再执行一条指令后,才会响应新中断
日常生活中的中断与单片机中断的比较: 某同学 单片机 过程说明 正在看书 执行主程序 有人找出去中断信号 暂停看书 暂停执行主程序 书中作记号当前PC入栈 出去做事 执行中断程序 回来继续看返回主程序
日常生活中的中断与单片机中断的比较: 某同学 单片机 过程说明 正在看书 执行主程序 有人找出去 中断信号 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 出去做事 执行中断程序 中断服务 回来继续看 返回主程序 中断返回
响应过程:(假设已使某中断请求标志置1) (1)先使相应优先级状态触发器置1; (2)执行一个硬件子程序的调用, 1)硬件清零相应中断请求标志(TI、R除外) 2)将当前PC内容压入堆栈—保护断点; 3)将中断服务子程序入口地址送PC转移。 返回过程:(RET执行后) (1)使相应优先级状态触发器清0。 (2)从堆栈中弹出栈顶的两个字节内容送PC恢复断点。二 (3)CPU接着中断处继续执行原程序
响应过程:(假设已使某中断请求标志置1) (1)先使相应优先级状态触发器置1; (2)执行一个硬件子程序的调用, 1)硬件清零相应中断请求标志(TI、RI除外) 2)将当前PC内容压入堆栈——保护断点; 3)将中断服务子程序入口地址送PC——转移。 返回过程:(RETI执行后) (1)使相应优先级状态触发器清0。 (2)从堆栈中弹出栈顶的两个字节内容送PC——恢复断点。 (3)CPU接着中断处继续执行原程序
注意:1)保护断点与保护现场以及恢复断点与恢复现场的区别。 2)外部中断响应时间在3~8个机器周期之间 利用外部中断实现单步操作 在主程序中: 8031 CLR TO SETB EA SETB PXO SETB EXO 在中断服务子程序中: INB P3.2. s 片机原 JB P3.2. S RETI
注意:1)保护断点与保护现场以及恢复断点与恢复现场的区别。 2)外部中断响应时间在3 ~ 8个机器周期之间。 利用外部中断实现单步操作: 8031 INT0 +5v 在主程序中: CLR IT0 SETB EA SETB PX0 SETB EX0 ……… 在中断服务子程序中: JNB P3.2 , $ JB P3.2 , $ RETI