C语言编程时,延时函数125次=1ms(书本上是这样的,不懂),是怎样得来的?

来源:百度知道 编辑:UC知道 时间:2024/05/19 11:30:55
void Delay (unsigned int i)
{unsigned int j;
for (;i>0;i--)
for(j=0;j<125;j++)
{;}} 如i=600
计算延时时间=600x125x8us=600ms 想知道为啥会是八个机器周期呢,我问题困扰我好久了,希望知道的朋友帮忙解释下,非常感谢!!

就看楼主你用的晶振是多大的!如果你用的是12M的晶振,一个机器周期为T=12/f=1微秒,你的延时程序循环600*125=75000次,即75000微秒,就是75毫秒。

我想是通过程序的汇编代码再结合机器指令的执行周期分析出具体延时多长时间的吧。

尽信书,不如无书。还有,你说的是不是单片机编程?如果是的话,你大概是断章取义书上的意思了。