单片机的单步执行方式是怎么回事啊
说通过编程规定INT0低电平有效,然后程序
JNB P3.2 S
JB p3.2 S
RETI
望各位单片机高手指教下 谢谢了
MCS-51单片机单步工作方式
MCS-51有一种单步工作方式,所谓单步执行就是由外来脉冲控制程序的执行,使之达到来一个脉冲就执行一行指令的目的。而外来脉冲是通过按键产生的,因此实际上单片机执行是按一次键执行一条指令。单步执行是借助单片机的外部中断功能来实现的。
假定利用外部中断0来实现程序的单步执行,为此应事先作好两项准备工作:
〈1〉建立单步执行的外部控制电路,以按键产生脉冲作为外部中断0的中断请求信号,经INT0端输入,并把电路设计成不按键为低电平,按一次键产生一个正脉冲。此外还需要初始化程序中定义INT0低电平有效。
〈2〉编写外部中断0的中断服务程序:
JNB P3.2,$
JB P3.2, $
RETI
这样在没有按键的时候,INT=0,中断请求有效,单片机响应中断,但转入中断服务程序后,只能在它的第一条指令上“原地踏步”。只有按一次单步按键,产生下脉冲使INT0=1,才能通过第一指令而到第二条指令上去“原地踏步”。当正脉冲结束后,再结束第二条指令通过第三条指令返回主程序。而MCS-51的中断机制有这样一个特点,即从中断服务程序返回主程序后,至少要执行一条指令,然后才能再响应新的中断。为此单片机从上述中断0的中断服务程序返回主程序后,能且只能执行一条指令。国为这时INT0已为低电平,外部中断0请求有效,单片机就再一次中断响应,并进入中断服务程序去踏步。从而实现了主程序的单步执行。
这样控制时序不会乱掉吗?
专业PCB样板及批量生产,质量保证交期准时,可以当天下单当天发货,首次下单免48小时加急费,最低48元起,欢迎来电:邹生18820483037或加QQ:2929789374