日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 題目:MCS-51單片機,使用 6MHz 晶振,一個機器周期為 2us,計算出下列程序的延時時間。DEL: MOV R5, #100DEL0: MOV R6, #200DEL1: MOV R7, #248DEL2: DJNZ R7, DEL2 DJNZ R6, DEL1 DJNZ R5, DEL0 RET最

題目:MCS-51單片機,使用 6MHz 晶振,一個機器周期為 2us,計算出下列程序的延時時間。

DEL: MOV R5, #100
DEL0: MOV R6, #200
DEL1: MOV R7, #248
DEL2: DJNZ R7, DEL2
DJNZ R6, DEL1
DJNZ R5, DEL0
RET


最佳答案: 題目中的答案是錯的。應(yīng)該是:19 960 606 us。
本題目的程序,共有三重循環(huán),耗時的正確計算方法,可見下圖。




后記:
能夠精確計算程序的執(zhí)行時間,是匯編語言的長處。而用C語言編寫程序,執(zhí)行的時間只能進行估算和測試。
但是有很多網(wǎng)友,都把這兩者弄混了:
  在用C語言編程的時候,偏要追問程序執(zhí)行時間的計算公式;
  在用匯編語言編程的時候,卻采用簡略的時間計算方法。
特別是現(xiàn)在這道題,要求精確算出 us 量級的數(shù)值,很明顯是應(yīng)該采用精確的計算方法。多數(shù)網(wǎng)友卻馬虎的很!采用了簡略的算法。如果這是考試題,顯然會掛科一批人。
精確的計算方法,其實并不難,看看插圖,劃分出幾個循環(huán)結(jié)構(gòu)的圈,逐“層”計算即可。

如果用簡易的估算方法,只是計算主要的循環(huán)體(本題僅為2T)的循環(huán)耗時時間,過程如下:

100 * 200 * 248 * 2T = 9 920 000 T

如:T = 2us,則延時時間為:19 940 000 us 。

這個數(shù)字和精確計算的結(jié)果相比,誤差約為千分之一。這個算法,在實際應(yīng)用方面,是完全可以的。

但是,這個簡易的算法,精度僅在 10ms 的等級,如果作為理論分析來用,誤差還是相當(dāng)大的。

另外,用 keil 軟件進行單步調(diào)試的時候,所耗用所機器周期和時間, keil 都能夠十分清晰給出,它要比 Proteus 軟件的效果好得多。
對于本題目,做而論道提出的答案,完全得到了驗證,可見插圖所示。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉