×
单片机 > 单片机程序设计 > 详情

AVR单片机微秒级和毫秒级延时函数

发布时间:2020-05-28 发布时间:
|
在用单片机IO口模拟总线时序时老是碰到问题,自己总结了一下大多数是因为我们的延时不准确造成的,所以自己调了两个延时函数,我板子上用的是AT Mega128的单片机和16MHz的晶振,用示波器看了这两个函数产生的波形还挺准确的,希望大家能用得上 ^_^

 

//16MHz晶振   时间范围:1-65535us

void Delay_us(unsigned int us)
{
   unsigned int i;
  i = us/2;
  i--;
  asm("nop"); asm("nop");
    for(;i!=0;i--)      
    {
          asm("nop");     asm("nop");     asm("nop");
          asm("nop");     asm("nop");     asm("nop");
          asm("nop");     asm("nop");     asm("nop");
    }
   
}

//16MHz晶振   时间范围:1-65535ms 

void Delay_Ms(unsigned int t)
 
    for(;t>0;t--)      
          Delay_us(1100);
}

关键字:AVR单片机  微秒级  毫秒级  延时函数

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
msp430的中断优先级和中断嵌套(及容易理解错误的说明)