51单片机C51微秒级(ms)精确延时
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
如下程序能实现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
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
延时后,sec=0.00142253s
可以知道Delayms(1)实际延时0.00142253s—0.00042209s=0.00100044s≈1ms
同样如果想延时15ms的话,用Delayms(15),实际延时0.01480903s≈15ms,延时还是挺精确的。
用户377235 2011-12-16 10:47
用户141059 2009-2-7 08:03
用户203827 2009-1-18 22:51
用户32147 2008-11-14 13:54
用户393464 2008-11-7 22:42
用户69585 2008-11-2 21:25
用户171245 2008-11-2 16:53
huli184_389376486 2008-10-7 13:18
用户1399106 2008-10-5 18:25
用户1297334 2008-10-5 13:25