51延时函数

void delayms(unsigned char x)                         //0.14mS延时程序
{
  unsigned char i;                                    //定义临时变量
  while(x--)                                          //延时时间循环
  {
    for (i = 0; i<13; i++) {}                         //14mS延时
  }
}

void Delay1ms(unsigned int i) 
{ 
unsigned char j,k; 
do{ 
  j = 10; 
  do{ 
   k = 50; 
   do{ 
    _nop_(); 
   }while(--k);     
  }while(--j); 
}while(--i); 

} 
void Delay()                                          //定义延时子程序
{ uint DelayTime=30000;                               //定义延时时间变量
  while(DelayTime--);                                 //开始进行延时循环
  return;                                             //子程序返回
}

在提供的代码中,定义了三个延时函数:`delayms`、`Delay1ms` 和 `Delay`。这些函数用于在程序中实现时间延迟的功能。

1. `delayms(unsigned char x)` 是一个用于产生短暂延时的函数。它的参数 `x` 表示延时的时间,单位为毫秒。函数通过在循环中执行空操作来实现延时。具体地,循环体中的 `for` 循环执行13次,每次都没有实际操作,从而达到一定的延时。整个函数被循环执行 `x` 次,实现总体的延时效果。

2. `Delay1ms(unsigned int i)` 是一个用于产生较长延时的函数。它的参数 `i` 表示延时的时间,单位为毫秒。函数主要采用嵌套循环的方式来实现延时,通过嵌套的 `do-while` 循环,控制不同的计数器来实现精确的延时效果。

3. `Delay()` 是一个定义了固定延时时间的子程序。在函数内部定义了一个 `uint` 类型的变量 `DelayTime`,用于表示延时的时间。函数通过一个循环,不断减小 `DelayTime` 的值,从而达到一定的延时效果。

需要根据具体的应用场景和需求来选择合适的延时函数,并根据需要进行相应的调整和使用。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值