|
發(fā)布時間: 2021-1-5 18:40
正文摘要:在我的理解中按順序執(zhí)行程序的話應(yīng)該是在8那里循環(huán)250次,然后在9那里循環(huán)250*250=62500,一共就是62500+250=62750,教程里講解說62500次,我有點不是很明白,還是說7和8是被6包括在里面的,求解答 |
Y_G_G 發(fā)表于 2021-1-6 17:29 ok,謝謝啦 |
Johncui 發(fā)表于 2021-1-6 15:09 一步一步來的 你去看一下這DJNZ指令的含義就知道了,它要執(zhí)行到條件滿足了才執(zhí)行下一個指令的 |
Y_G_G 發(fā)表于 2021-1-6 08:53 他這是在6運行完直接到9嗎 |
| 在9那里循環(huán)250*250=62500次是對的,但對延時時間來說,9處的250次循環(huán)要包括(7的1T,8的2T*250 9的2T),所以總延時時間是:6處1T 7處250T 8處的500T*250 9處的2T*250 10處的2T ,所有時間加起來就是延時時間,其中T代表1個機器周期時間 |
|
循環(huán)的次數(shù)就是250*250呀,你這+250什么意思? 教材說的是"循環(huán)次數(shù)",并不是執(zhí)行時間,執(zhí)行時間是要計算上6和7, 而且,MOV指令是要一個時鐘,而DJNZ是要兩個時鐘的 整個的執(zhí)行時間是:1+250+250*250*2+250*2+2 分別對應(yīng)的是6,7,8,9,10 但一般來說,在長延時里,主要的延時都是在8和9,其它的都可以不計算在內(nèi)的,因為它占的時間是很少的,而且晶振也會有一定的誤差 以上對應(yīng)的是傳統(tǒng)的8051系統(tǒng) 而常用的STC指令執(zhí)行時間和傳統(tǒng)的8051是不一樣的 如果學匯編,你是一定要會計算這個的,當你學會計算這個之后,就可以在STC下載器那直接復(fù)制就行了
|
Powered by 單片機教程網(wǎng)