EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机C51精确延时
% @+ y6 \- Y' i6 e! D9 A: a$ I6 P; a
如下程序能实现ms级的比较精确的延时:& Q5 J9 g; s4 z
void Delayms(unsigned int n)6 v* o- V+ U/ d3 ]1 S4 k4 y2 l
{ unsigned int i,j; for(j=n;j>0;j--) for(i=112;i>0;i--); } 用keil可以看出这个延时的时间,我们先延时1ms(Delayms(1))。 进入Delayms前,sec=0.00042209s ![]()
延时后,sec=0.00142253s ![]()
可以知道Delayms(1)实际延时0.00142253s—0.00042209s=0.00100044s≈1ms 同样如果想延时15ms的话,用Delayms(15),实际延时0.01480903s≈15ms,延时还是挺精确的。
/ ^: G9 D o7 z3 }+ e |