51单片机C51毫秒级(ms)精确延时

180it 2022-03-20 PM 980℃ 0条

如下程序能实现ms毫秒级的比较精确的延时

void delay_ms(unsigned int n)
{

unsigned int i=0,j=0;
for(i=0;i<n;i++)
    for(j=0;j<123;j++);

}

用keil可以看出这个延时的时间,我们先延时1ms delay_ms(1)。

进入Delayms前,sec=0.00042209s

延时后,sec=0.00142253s

可以知道delay_ms(1)实际延时0.00142253s—0.00042209s=0.00100044s≈1ms

同样如果想延时15ms的话,用delay_ms(15),实际延时0.01480903s≈15ms,延时还是挺精确的。

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

51单片机C51毫秒级(ms)精确延时