<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 8051單片機精確延時程序

          8051單片機精確延時程序

          作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          各種教材都喜歡用for循環(huán)再嵌套一個for循環(huán)來實現(xiàn)延時,下列是通過定時器來延時;

          本文引用地址:http://www.ex-cimer.com/article/201611/320673.htm

          delay(t)表示延時t ms;

          也可以通過定時器中斷的方式來延時,但是每次延時的時間非常有限,對于11.0592MHz的晶振,每次中斷延時只有約71ms.

          延時函數(shù)

          void delay(unsigned int t)//延時t ms

          {

          TMOD=0x01;//設(shè)置工作模式

          TR0=1; //啟動定時器0

          ET0=0x00;//禁止定時中斷

          while(t!=0)//循環(huán)次數(shù)t

          {

          TH0=0xFC;

          TL0=0x66;//設(shè)置計數(shù)初值

          while(TF0!=1);//查詢計數(shù)器溢出標(biāo)志位

          TF0=0;//溢出后清零

          t--;

          }

          }

          此外,還用excel制作了一個計算計數(shù)初值的的小工具,輸入晶振和需要延時的最小單位,就自動計算出計算初值,并轉(zhuǎn)換為16進制(用DEC2HEX函數(shù))

          各種教材都喜歡用for循環(huán)再嵌套一個for循環(huán)來實現(xiàn)延時,下列是通過定時器來延時;

          delay(t)表示延時t ms;

          也可以通過定時器中斷的方式來延時,但是每次延時的時間非常有限,對于11.0592MHz的晶振,每次中斷延時只有約71ms.

          延時函數(shù)

          void delay(unsigned int t)//延時t ms

          {

          TMOD=0x01;//設(shè)置工作模式

          TR0=1; //啟動定時器0

          ET0=0x00;//禁止定時中斷

          while(t!=0)//循環(huán)次數(shù)t

          {

          TH0=0xFC;

          TL0=0x66;//設(shè)置計數(shù)初值

          while(TF0!=1);//查詢計數(shù)器溢出標(biāo)志位

          TF0=0;//溢出后清零

          t--;

          }

          }

          此外,還用excel制作了一個計算計數(shù)初值的的小工具,輸入晶振和需要延時的最小單位,就自動計算出計算初值,并轉(zhuǎn)換為16進制(用DEC2HEX函數(shù))



          關(guān)鍵詞: 8051單片機精確延

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();