如何计算延时时间?

[复制链接]
 楼主| h292 发表于 2010-5-25 17:25 | 显示全部楼层 |阅读模式
如何计算下面是 10 MS的,谢谢了,STC89C52单片机,用KEIL编译的
void delay10ms()
{
for (a=100;a>0;a--)
for (b=225;b>0;b--);
}
zhangguihao 发表于 2010-5-25 17:28 | 显示全部楼层
看你接的晶振是多少。例如是12MHz的话,一个机器周期就是1us .那么你的那个循环就是225*100*1us..
每次递减是一个机器周期。但这是大概值。如果要精确,建议用定时器。
xlsbz 发表于 2010-5-25 19:39 | 显示全部楼层
算不出来!
coody 发表于 2010-5-25 20:08 | 显示全部楼层
用KEIL的话看一下反汇编
xblei 发表于 2010-5-25 21:39 | 显示全部楼层
看一下汇编会精确计算出延时时间
wangwo 发表于 2010-5-25 21:59 | 显示全部楼层
2楼说的正确,坛里这个问题问了很多遍了
numLiu 发表于 2010-5-25 22:48 | 显示全部楼层
用内嵌汇编也可以很精确的
peigang 发表于 2010-5-26 16:12 | 显示全部楼层
看一下反汇编
看一下执行了多少个机械周期
晶振是多少看一下
好像默认是24Mhz
那就是两个机械周期是1us
IVAN0821 发表于 2010-5-26 19:34 | 显示全部楼层
如果用语句while(--300);没递减一次时间是多少啊
 楼主| h292 发表于 2010-5-29 19:20 | 显示全部楼层
谢谢大家了
tominator 发表于 2010-5-29 21:49 | 显示全部楼层
这个问题我也没有搞清楚,只是把教科书上的代码拿来用,反正够用就没有深究过。真正精确定时还真不知道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://iirobot.taobao.com/ 我爱机器人群:117064297 提供机器人 智能车配件 传感器 直流电机

0

主题

247

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:http://iirobot.taobao.com/ 我爱机器人群:117064297 提供机器人 智能车配件 传感器 直流电机

0

主题

247

帖子

1

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