原创 51单片机C51微秒级(ms)精确延时

2011-12-17 22:38 2337 9 9 分类: MCU/ 嵌入式

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


 


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


 


 


void Delayms(unsigned int n)


{


    unsigned int i,j;


    for(j=n;j>0;j--)


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


}


 


 


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


进入Delayms前,sec=0.00042209s


 


 


 


facfc7ab-d9c0-418f-b35a-2e2bbe8ab691.jpg


 


 


延时后,sec=0.00142253s


 


 


 


5905ec73-aa8f-4a1e-a24d-8b121c080e55.jpg


 


 


 


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


 


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

51

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条