- 杂志
 搜 索: 
 论坛 » MCU应用 » 用C51单片机实现微秒级(ms)精确延时方案
广告招商
版主: renesasstk , QQMCU , renesaschina , l0p0c
 发表新贴 
 发表回复 
 用C51单片机实现微秒级(ms)精确延时方案  发表于 2008-10-31 20:50:36 [您是本帖的第237位阅读者]     [1楼] 
呢称:jpp
加我为好友

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

 

 

 

 

 

延时后,sec=0.00142253s

 

 

 

 

 

 

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

 

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


 
 RE: 用C51单片机实现微秒级(ms)精确延时方案  发表于 2008-11-12 20:15:34 [2楼] 
呢称:hejoin
加我为好友
这种方法跟编译器的各种设置方法有关,不同的编译器得到的结果也完全不同,不可靠
恒坚电器最新推出 arm4510开发版,软件使用手册 http://www.hejoin.com/HJARM/index.htm 看了就知道开发arm有多容易了 详细请查阅我们网站 www.hejoin.com
 
 RE: 用C51单片机实现微秒级(ms)精确延时方案  发表于 2008-11-16 13:32:26 [3楼] 
呢称:ytmfcelb
加我为好友
说的对,不过倒是很有创意,拓展了思维。
 
共3条 1/1 1   
   快速回复主题
  用户名 : 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容 :
 
EEPW元器件搜索  强力提供
关于我们 | 广告服务 | 企业会员服务 | 新手上路 | 联系我们 | 友情链接
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
Copyright ©2002 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备060382号