几个延时子程序

发布者:暮烟微雨最新更新时间:2016-07-28 来源: eefocus关键字:延时子程序 手机看文章 扫描二维码
随时随地手机看文章
/**************************************

  延时时间为:8*i+10 us
要求延时1ms i=124时 延时为1002us  误差2us  
        2ms i=249时 延时为2002us  误差2us
**************************************/

void delay(unsigned char i)
 {
  for(;i>0;--i);
 
 }

/**************************************
  延时时间为:6*i+11 us
要求延时1ms i=165时 延时为1001us  误差1us  
        2ms i=331时 延时为1997us  误差3us

**************************************/

void delay(unsigned char i)
 {
  while(i--);
 
 }

/**************************************
  延时时间为:2*i+5 us

**************************************/

void delay(unsigned char i)
 {
  while(--i);
 
 }

以上如果加上了n个_nop_(),需将i换为(i+n);

/**************************************
  延时时间为:20us*t+13us
**************************************/
void delay_20us(unsigned int t) 

  unsigned char j; 
  for(;t>0;t--) 
  for(j=4;j>0;j--);
}

/**************************************
  延时时间为:50us*t+13us
**************************************/
void delay_50us(unsigned int t) 

  unsigned char j; 
  for(;t>0;t--) 
  for(j=19;j>0;j--);
}

/**************************************
  延时时间为:100us*t+13us
**************************************/
void delay_100us(unsigned int t) 

  unsigned char j; 
  for(;t>0;t--) 
  for(j=44;j>0;j--);
}

/**************************************
  延时时间为:978count*n+21us
  要求延时1ms count=1时 延时为999us  误差1us  
          2ms count=2时 延时为1977us 误差23us
**************************************/
void delay1ms(int count)
{
  int x,y;
  for(x=0;x   for(y=0;y<120;y++);
}

关键字:延时子程序 引用地址:几个延时子程序

上一篇:C语言程序执行的第一条指令,并不在 main 函数中
下一篇:[C51代码]广告灯的循环移动

推荐阅读最新更新时间:2024-03-16 15:02

PIC单片机C语言延时程序和循环子程序
很多朋友说C中不能精确控制延时时间,不能象汇编那样直观。 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来。 一般的我们都用 for(x=100;--x;){;}此句等同与x=100;while(--x){;}; 或for(x=0;x 100;x++){;} 来写一个延时函数。 在这里要特别注意:X=100,并不表示只运行100个指令时间就跳出循环。 可以看看编译后的汇编: x=100;while(--x){;} 汇编后: movlw 100 bcf 3,5 bcf 3,6 movwf_delay l2 decfsz _delay goto l2 return 从代码可以看出总的
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved