標(biāo)題: 51單片機(jī)精準(zhǔn)延時(shí) [打印本頁(yè)]

作者: 252622979    時(shí)間: 2019-12-27 14:50
標(biāo)題: 51單片機(jī)精準(zhǔn)延時(shí)
經(jīng)過(guò)實(shí)測(cè)的12T 51單片機(jī)精準(zhǔn)延時(shí),希望對(duì)初學(xué)者有幫助
/**********************  void Delay10us() **********************
時(shí)鐘為11.0592MHz時(shí), 調(diào)用該函數(shù)延時(shí)9.77us,調(diào)用兩次延時(shí)19.53us
可以在多個(gè)Delay10us()間加入_nop_()指令, _nop_()指令延時(shí)1.08us
1 如延時(shí)30us, 如下調(diào)用實(shí)際延時(shí)30.39us:
   _nop_();
   Delay10us();
   Delay10us();
   Delay10us();
2 如延時(shí)40us, 如下調(diào)用實(shí)際延時(shí)40.14us:
   _nop_();
   Delay10us();
   Delay10us();
   Delay10us();
   Delay10us();
****************************************************************/
void Delay10us()
{
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
}

/**********************  void Delay100us() **********************
時(shí)鐘為11.0592MHz時(shí), 調(diào)用該函數(shù)延時(shí)99.83us
****************************************************************/
void Delay100us()
{
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
  Delay10us();
}

/**********************  void Delay1ms() **********************
時(shí)鐘為11.0592MHz時(shí), 調(diào)用該函數(shù)延時(shí)1000.5us
****************************************************************/
void Delay1ms()
{
  unsigned char i;

  for(i=0; i<229; i++)
  {
    _nop_();
  }
}

/**********************  void Delay10ms() **********************
時(shí)鐘為11.0592MHz時(shí), 調(diào)用該函數(shù)延時(shí)10006us
****************************************************************/
void Delay10ms()
{
  Delay1ms();  
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();
  Delay1ms();  
}

/**********************  void DelayX10ms() *********************
時(shí)鐘為11.0592MHz時(shí), 調(diào)用該函數(shù)延時(shí)N(N<=255)倍的10ms
****************************************************************/
void DelayX10ms(unsigned char nCount)
{
   while(nCount--)
   {
     Delay10ms();
   }
}












歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1