在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機延時匯編語言計算方法

            單片機延時匯編語言計算方法

            作者: 時間:2016-11-25 來源:網絡 收藏
            我們用匯編語言單片機延時10ms的程序(用的是12MHz晶振的 MCS-51),可以編寫下面的程序來實現(xiàn):
            MOV R5,#5 ①
            D1: MOV R6,#4 ②
            D2: MOV R7,#248 ③
            DJNZ R7,$ ④
            DJNZ R6,D2 ⑤
            DJNZ R5,D1 ⑥
            RET ⑦
            這個延時程序共有七條指令,現(xiàn)在就每一條指令執(zhí)行的次數(shù)和所耗時間進行分析:
            第一條, MOV R5,#5 在整個程序中只執(zhí)行一次,且為單周期指令,所以耗時1μs,
            第二條, MOV R6,#4 看⑥的指令可知,只要R5-1不為0,就會返回執(zhí)行這條指令,共執(zhí)行了R5次,共耗時5μs,
            第三條, MOV R7,#248 同第二條類似,只要R6-1不為0,就會返回執(zhí)行這條指令,同時受到外部循環(huán)R5的控制,共耗時R5*R6*1=20μs,
            第四條, DJNZ R7,$ 只要R7-1不為0,就執(zhí)行這條指令,同時受到外部循環(huán)的控制,由于該指令是雙周期指令,共耗時為R7*R6*R5*2=9920μs,
            第五條, DJNZ R6,D2 只要R6-1不為0,就反復執(zhí)行此條指令(內循環(huán)R6次),又受外循環(huán)R7的控制,共耗時R6*R5*2=40μs,
            第六條, DJNZ R5,D1 只要R5-1不為0,就反復執(zhí)行此條指令,耗時為R5*2=10μs,
            第七條, RET 此指令為雙周期指令,耗時為2μs,
            我們也要考慮在調用子程序時用到LCALL指令,耗時2μs,最后可以得到總的延時為:1+5+20+9920+40+10+2=9998μs=10ms
            我們可以總結延時總時間的公式:
            延時總時間=[(2*一層循環(huán)次數(shù)+3)*二層循環(huán)次數(shù)+3]*三層循環(huán)次數(shù)+3
            注意此公式只適用于三層以內的循環(huán)


            評論


            技術專區(qū)

            關閉