MCS-51单片机单步工作方式
假定利用外部中断0来实现程序的单步执行,为此应事先作好两项准备工作:
本文引用地址:https://www.eepw.com.cn/article/201611/317458.htm〈1〉建立单步执行的外部控制电路,以按键产生脉冲作为外部中断0的中断请求信号,经INT0端输入,并把电路设计成不按键为低电平,按一次键产生一个正脉冲。此外还需要初始化程序中定义INT0低电平有效。
〈2〉编写外部中断0的中断服务程序:
JNB P3.2,$
JB P3.2,$
RETI

这样在没有按键的时候,INT=0,中断请求有效,单片机响应中断,但转入中断服务程序后,只能在它的第一条指令上“原地踏步”。只有按一次单步按键,产生下脉冲使INT0=1,才能通过第一指令而到第二条指令上去“原地踏步”。当正脉冲结束后,再结束第二条指令通过第三条指令返回主程序。而MCS-51的中断机制有这样一个特点,即从中断服务程序返回主程序后,至少要执行一条指令,然后才能再响应新的中断。为此单片机从上述中断0的中断服务程序返回主程序后,能且只能执行一条指令。国为这时INT0已为低电平,外部中断0请求有效,单片机就再一次中断响应,并进入中断服务程序去踏步。从而实现了主程序的单步执行。
评论