微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机的单步执行方式是怎么回事啊

单片机的单步执行方式是怎么回事啊

时间:10-02 整理:3721RD 点击:
书上说通过中断中实现单步执行方式
说通过编程规定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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top