51单片机用c语言怎么写延时函数?

[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。

}

[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。

}
楼主想问Delay函数实现的延时是怎样计算的是吗,看程序应该是51单片机的延时程序

这个程序有三层循环,循环的总次数为
每次循环都有一次条件判断(如“k>0”)和一次只减(如“k--”),即每次循环消耗两个机器周期
那么花费的总的机器周期即为
对于51单片机12M晶振的话一个周期是1us,那么延时时间

这段程序有可能是精确延时到10ms,这是因为调用这个函数及执行完这个函数分别要压栈和出栈,另外i,j,k也有一个赋初值的过程...所以各种因素叠加到一起延时就是10ms了

其实楼上说的挺好的,如果你想看具体的延时过程可以仿真一下,在keil中对比C语言汇编前后的代码你会理解的更透彻

}

我要回帖

更多关于 单片机c语言延时程序计算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信