单片机 【各种延时函数】

 1 void Delay()
 2   {
 3     #if MAIN_Fosc == 11059200
 4          _nop_();
 5     #elif MAIN_Focs == 11058200
 6         _nop_();
 7     #elif MAIN_Focs == 11058200
 8         _nop_();
 9     #endif
10 
11   
12   }
 1  void Delay_Ms(INT16U ms)      //typedef unsigned int INT16U
 2   {
 3     INT16U i;
 4     do{
 5          i = MAIN_Fosc/96000;            //#define MAIN_Focs    11059200UL  (UL ---> unsigned long)
 6          while(--i);  //8个机器周期
 7     
 8     }while(--ms)
 9   
10   }
灵活的延时函数
 1 void delay(uint z)
 2  {
 3   uint x,y;
 4   for(x=z;x>0;y--);
 5   {
 6     for(y=114;y>0;y--); //1ms延时
 7   }
 8  
 9  
10  }

 

posted @ 2018-04-04 09:51  Justice-V  阅读(972)  评论(0)    收藏  举报