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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 單片機匯編延時程序的理解

          單片機匯編延時程序的理解

          作者: 時間:2012-08-20 來源:網(wǎng)絡(luò) 收藏

          這樣,我們就可以算算這個子累計進行了多少個周期,然后乘以1微秒,就算出它占用的時間,也就是的時長了!

          第一句:DELAY: MOV R7,#250 ;執(zhí)行了一次,沒有任何語句跳轉(zhuǎn)給它,單周期。1

          第二句:D1: MOV R6,#250 ;執(zhí)行了250次,全部是第四句跳過來的,單周期。250

          第三句:D2: DJNZ R6,D2 ;原地執(zhí)行了250次,從第二句順延(第二句執(zhí)行完,沒有其它跳轉(zhuǎn)的話肯定要執(zhí)行第三句)過來250次,也就是250*250=62500次,雙周期*2。125000

          第四句:DJNZ R7,D1 ; 從第三句順延過來250次,雙周期*2。500

          總計:1+250+125000+500=1257501次,乘以1微秒,換算約為0.13秒。

          我們可以通過調(diào)整R6、R7的數(shù)值來調(diào)整的長度。事實上,8位計算機中,R6之類的工作寄存器地址最大只能放下255的十進制數(shù)值,因此要通過上述達到更長的是辦不到的。

          那怎么辦呢?

          我們可以再增加一個R4,讓上述的最多可以循環(huán)255遍,這樣,0.13秒的200多倍就是30秒上下了,不夠的話再增加循環(huán),又可以擴大200多倍,當然,工作寄存器的數(shù)量是有限的,因此這個延時程序也是有限的,如果還不夠用怎么辦呢,就目前我所學的知識,只能在母程序里面設(shè)置循環(huán)了,也就是讓這個子程序在母程序里面繼續(xù)循環(huán)


          上一頁 1 2 下一頁

          關(guān)鍵詞: 理解 程序 延時 匯編 單片機

          評論


          相關(guān)推薦

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