2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > stc单片机 11.0592 c语言 精确延迟 10us 单片机C语言精确延时值的计算.doc

stc单片机 11.0592 c语言 精确延迟 10us 单片机C语言精确延时值的计算.doc

时间:2020-05-22 17:23:39

相关推荐

stc单片机 11.0592 c语言 精确延迟 10us 单片机C语言精确延时值的计算.doc

一般如果是用循环延时使用12M的晶振要方便些,如果是定时器则是用11.0592的要方便和精确一些

关于单片机C语言的精确延时,网上很多都是大约给出延时值没有准确那值是多少,也就没有达到精确高的要求,而51hei给出的本函数克服了以上缺点,能够精确计数出要延时值且精确达到1us,本举例所用CPU为STC12C5412系列12倍速的单片机,只要修改一下参数值其它系例单片机也通用,适用范围宽。

共有三条延时函数说明如下:

函数调用分两级:一级是小于10US的延时,二级是大于10US的延时

//====================小于10US的【用1US级延时】====================

//----------微秒级延时---------

for(i=X;i>X;i--) 延时时间=(3+5*X)/12 提示(单位us, X不能大于255)

//================大于10US0;Ms--)

for(i=26;i>0;i--);

}

i=[(延时值-1.75)*12/Ms-15]/4

如想延时60US则 i=[(60-1.75)*12/6-15]/4=25.375≈26; 修改i的值=26,再调用上面的【10US级延时函数】Delay10us(6); 则就精确延时60U

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。