维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 230|回复: 2

一种可以让程序单步执行的方法(51)

[复制链接]

classn_11

发表于 2010-1-29 21:13:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我这里讲的是51单片机9 A, M/ v# o: I" ^7 e
这里是用51单片机的中断系统来实现。当然这要求其中一个中断口是空闲的。由于51的中断系统要求中断服务程序返回以后至少需要执行一条指令后才能重新进入中断,因此,可以可以将控制的正脉冲信号加到INT0引脚。通过编程规定INT0信号是低电平有效,并且中断服务程序必须在INT0引脚为高电平时才能返回。这样,这样当没有正脉冲时(INT0处于低电平),单片机总是处于中断状态,并且无法从中断服务程序返回。; K4 b6 O- L0 W6 w  t
在中断服务程序的指令:
" L( U& D1 y  X2 V1 q& x# f JMB P3.2,$ ;若INT0=0,不往下执行2 s+ ]% B2 Y2 ]7 [
JB P3.2,$ ;若INT0=1,不往下执行
* _. i" r- B( j5 g2 R: ^ RETI ;返回主程序执行一条指令- [  N$ U8 m/ A$ o0 `* s5 l
可以看出,只有当INT0出现一个正脉冲信号时,才能通过前两条指令,返回主程序并执行一条指令。由于INT0此时已经回到低电平,故重新进入中断,在第一条指令处等待下一条正脉冲信号,从而实现了用一个正脉冲信号控制单片机单步执行的操作。

手机扫码浏览

classn_11

 楼主| 发表于 2010-1-29 21:13:11 | 显示全部楼层
对初学者,很有用!!!

classn_11

 楼主| 发表于 2010-1-29 21:13:11 | 显示全部楼层
就有单片机就可以实现,模拟机的单步。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-5-5 08:22 , Processed in 0.254704 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表