[51单片机] 下面程序为什么将TIME数值设置较大,延时反而短呢

[复制链接]
1546|13
 楼主| 2012CMD 发表于 2015-7-1 15:38 | 显示全部楼层 |阅读模式
使用仿真软件proteus进行的仿真,
如图,如果将MOV TIME,#080H这句数值给为更大的,延时反而变短,而设置成7FH或者00H就是延时最大,
使用keil调试发现一切也都是正常的啊



本帖子中包含更多资源

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

×
lyjian 发表于 2015-7-1 18:16 | 显示全部楼层
你怎么判断延时变短了?
 楼主| 2012CMD 发表于 2015-7-1 22:41 来自手机 | 显示全部楼层
lyjian 发表于 2015-7-1 18:16
你怎么判断延时变短了?

debug调试时发现没问题,可是proteus仿真却闪烁的更快
lyjian 发表于 2015-7-1 22:45 | 显示全部楼层
2012CMD 发表于 2015-7-1 22:41
debug调试时发现没问题,可是proteus仿真却闪烁的更快


仿真看到的结果就不要太当真了

评分

参与人数 1威望 +2 收起 理由
2012CMD + 2

查看全部评分

lyjian 发表于 2015-7-1 22:46 | 显示全部楼层
2012CMD 发表于 2015-7-1 22:41
debug调试时发现没问题,可是proteus仿真却闪烁的更快


仿真看到的结果就不要太当真了
李冬发 发表于 2015-7-2 00:21 | 显示全部楼层
51的TIMER是增计数的。
lyjian 发表于 2015-7-2 07:58 | 显示全部楼层
李冬发 发表于 2015-7-2 00:21
51的TIMER是增计数的。

都没看清楚楼主说什么
gxl117 发表于 2015-7-2 08:49 来自手机 | 显示全部楼层
本来就是这样呀,六楼已经说了,51是增计数,溢出中断的。
 楼主| 2012CMD 发表于 2015-7-2 09:10 | 显示全部楼层
本帖最后由 2012CMD 于 2015-7-2 09:11 编辑
lyjian 发表于 2015-7-1 22:45

仿真看到的结果就不要太当真了

额,,仿真是不可信,但是没想到这简单的也靠不住啊,不知道我自己根据指令手册写的这段程序有没错误????
 楼主| 2012CMD 发表于 2015-7-2 09:14 | 显示全部楼层
gxl117 发表于 2015-7-2 08:49
本来就是这样呀,六楼已经说了,51是增计数,溢出中断的。

大锅,问的不是这个啊
ayb_ice 发表于 2015-7-2 10:39 | 显示全部楼层
延时程序写错了,TIME应该放下面

lb:
MOV R0,#0xxH
DJNZ R0,$DJNZ TIME,lb
 楼主| 2012CMD 发表于 2015-7-2 13:43 来自手机 | 显示全部楼层
ayb_ice 发表于 2015-7-2 10:39
延时程序写错了,TIME应该放下面

lb:

时间不同而已吧,你那个TIME*R0,我这个TIME+R0?
linqing171 发表于 2015-7-2 13:44 | 显示全部楼层
程序跑的太快了,以至于灯闪的看不清了. 中间加个大的演示.
mov R0,#0x50
loop1:
mov R1,#40
loop2:
djnz r1,loop2
djnz r0,loop1

评分

参与人数 1威望 +1 收起 理由
2012CMD + 1

查看全部评分

ayb_ice 发表于 2015-7-2 15:49 | 显示全部楼层
2012CMD 发表于 2015-7-2 13:43
时间不同而已吧,你那个TIME*R0,我这个TIME+R0?

加的效果远不如*明显

评分

参与人数 1威望 +1 收起 理由
2012CMD + 1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

80

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部