打印

请教---------延时程序

[复制链接]
1867|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlspioneer|  楼主 | 2008-1-3 12:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机是51单片机,晶振是12MHz
请问下边的程序延时是多长时间?
delay()
{ unchar i,j;
for(i=0;i<255;i++)
    for(j=0;j<255;j++)
}
不知道延时程序中定义的数据和实际延时效果之间的数据是怎么换算的。请高手指教!这些和指令周期有关系吗?和什么是关联的?

相关帖子

沙发
happystar| | 2008-1-3 18:19 | 只看该作者

re

最好看编译后的汇编,指令有1周期,2周期。。,对于51,n周期指令的时间就是你(1/晶振)*12*n秒。你可以对应汇编算一下时间。
另外,for(j=0;j<255;j++)和for(j=255;j>0;j--)编译后汇编也不一样,你可以看看。

使用特权

评论回复
板凳
ayb_ice| | 2008-1-4 09:46 | 只看该作者

计算汇编指令的执行时间

使用特权

评论回复
地板
hellomcu| | 2008-1-4 10:01 | 只看该作者

几个概念弄明白了

  时钟周期,指令周期,机器周期  
相关链接:http://shop35088126.taobao.com

使用特权

评论回复
5
农民讲习所| | 2008-1-4 10:07 | 只看该作者

不用自己手算

到KEIL中模拟运行下,就可以看到延时多上时间了。

好比有计算器了,你还去打算盘,傻啊。

使用特权

评论回复
6
computer00| | 2008-1-4 10:13 | 只看该作者

KEIL UV3更好,直接有秒表~~~可以重新计时~~~

设置个断点,就测量下。

使用特权

评论回复
7
jiangrh| | 2008-1-6 22:37 | 只看该作者

re

可用keil仿真运行一下,不要忘了把单片机型号,晶振频率等参数设好了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

40

帖子

0

粉丝