找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3533|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)精準(zhǔn)延時(shí)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85865 發(fā)表于 2019-12-27 14:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
經(jīng)過實(shí)測的12T 51單片機(jī)精準(zhǔn)延時(shí),希望對初學(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();
   }
}







分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表