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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中1S延時(shí)程序的編寫(xiě)

          單片機(jī)中1S延時(shí)程序的編寫(xiě)

          作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
          大家在用單片機(jī)電路設(shè)計(jì)時(shí)經(jīng)常會(huì)用到延時(shí),有些地方不用考慮太精確的延時(shí)時(shí)間,但有些場(chǎng)合卻必須對(duì)延時(shí)時(shí)間“斤斤計(jì)較”!今天就和大家討論一下關(guān)于延時(shí)程序的編寫(xiě)。

          在單片機(jī)延時(shí)程序中應(yīng)考慮所使用晶振的頻率,在51系列的單片機(jī)中,我們常用的是11.0592MHz和12.0000MHz的晶振,在AVR單片機(jī)上常用的有8.000MHz和4.000MH的晶振,而MSP430系列單片機(jī)中卻采用兩個(gè)時(shí)鐘輸入。

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

          這里以51單片機(jī)為例,介紹單片機(jī)延時(shí)程序的編寫(xiě)。我們通常采用122.0000MHz的晶振,那么一個(gè)機(jī)器周期就是1us,我們看下面這個(gè)程序(注意程序的注釋):

          DELAY: MOV R5,#8 ;1個(gè)機(jī)器周期。1+[1+(1+2*255)*244+2*244]*8+2*8 us

          D1:MOV R6,#244 ;1個(gè)機(jī)器周期。1+(1+2*255)*244+2*244 us

          D2: MOV R7,#255 ;1個(gè)機(jī)器周期。1+2*255 us

          DJNZ R7,$ ;2個(gè)機(jī)器周期。

          DJNZ R6,D2 ;2個(gè)機(jī)器周期。

          DJNZ R5,D1 ;2個(gè)機(jī)器周期。

          RET;2個(gè)機(jī)器周期。

          上面這個(gè)程序的延時(shí)時(shí)間為:

          1+[1+(1+2*255)*244+2*244]*8+2*8+2 us=1001401us=1.001403us。

          當(dāng)然,此類延時(shí)程序也可以采用定時(shí)中斷進(jìn)行編寫(xiě),詳細(xì)程序請(qǐng)大家自己編寫(xiě)。希望大家能在單片機(jī)設(shè)計(jì)中大步發(fā)展!



          關(guān)鍵詞: 單片機(jī)1S延時(shí)程

          評(píng)論


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