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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機中C語言延時函數(shù)

          單片機中C語言延時函數(shù)

          作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          單片機C語言延時程序計算2009-11-02 22:15單片機C語言延時程序用C語言寫出來程序非常的簡練,它是一種模塊化的語言,一種比匯編更高級的語言,但是就是這樣一種語言也還是有它不足之處:它的延時很不好控制,我們常常很難知道一段延時程序它的精確延時到底是多少,這和匯編延時程序沒法比。但有時后寫程序又不得不要用到比較精確的延時,雖然說可以用混合編程的方式解決,但這種方式不是每個人都能掌握,且寫起來也麻煩。所以,通過測試我給大家提供一個延時子程序模塊,并以此給一個出我們經(jīng)常用到的延時的數(shù)據(jù)表格。(注意:表格中的數(shù)據(jù)只適合我的延時模塊,對其他的延時程序不適用,切忌!?。。。。。?!別到時候延時不對來罵我)

          延時模塊:其中問號代表要填的數(shù),要延時多少,到表格中去找數(shù)據(jù),然后填上就OK!切忌3條FOR語句不能顛倒順序

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

          void Delay()
          {
          unsigned char a,b,c;
          for(a=0;afor(b=0;bfor(c=0;c}

          數(shù)據(jù)表如下
          //
          延時時間 a的值 b的值 c的值 延時誤差(us)
          10us 1 1 1 -0.5
          20us 1 1 8 0
          30us 1 1 15 +0.5
          40us 2 1 9 0
          50us 1 1 28 0
          60us 1 1 35 +0.5
          70us 1 1 42 +1
          80us 1 1 48 0
          90us 1 1 55 +0.5
          100us 1 1 61 -0.5
          200us 1 1 128 0
          300us 3 1 63 +1.5
          400us 2 1 129 0
          500us 5 1 63 +0.5
          600us 6 1 63 0
          700us 7 1 63 -0.5
          800us 1 3 175 +0.5
          900us 9 1 63 -1.5
          1ms 1 3 219 -1.5
          2ms 2 3 220 +3
          3ms 3 3 220 +3
          Xms X 3 220 +3
          (X的范圍為2到255)

          基本上我們平時用到的延時都在這里了,每種延時的誤差都很小,最大也不過3us,有的甚至沒有誤差,已經(jīng)很精確了,如果想延時1秒鐘,你可以連續(xù)調(diào)用延時250ms的程序4次,總共延時誤差12us,這樣的誤差已經(jīng)不算誤差了,用匯編語言編寫還達(dá)不到這個程度。

          現(xiàn)在你不再為延時不精確擔(dān)憂了,參照表中的數(shù)據(jù)寫延時,想延時多少就能延時多少。

          再次重申:此表格是根據(jù)我的延時模塊編寫,這也是大多數(shù)朋友都習(xí)慣用的一個模塊,如果你用其他模塊或是改動了我的模塊,延時都不準(zhǔn)的,不信大家可以試試!??!



          關(guān)鍵詞: 單片機C語言延時函

          評論


          技術(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); })();