熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2021-1-5 18:40
正文摘要:在我的理解中按順序執(zhí)行程序的話應(yīng)該是在8那里循環(huán)250次,然后在9那里循環(huán)250*250=62500,一共就是62500+250=62750,教程里講解說(shuō)62500次,我有點(diǎn)不是很明白,還是說(shuō)7和8是被6包括在里面的,求解答 |
Y_G_G 發(fā)表于 2021-1-6 17:29 ok,謝謝啦 |
Johncui 發(fā)表于 2021-1-6 15:09 一步一步來(lái)的 你去看一下這DJNZ指令的含義就知道了,它要執(zhí)行到條件滿足了才執(zhí)行下一個(gè)指令的 |
Y_G_G 發(fā)表于 2021-1-6 08:53 他這是在6運(yùn)行完直接到9嗎 |
在9那里循環(huán)250*250=62500次是對(duì)的,但對(duì)延時(shí)時(shí)間來(lái)說(shuō),9處的250次循環(huán)要包括(7的1T,8的2T*250 9的2T),所以總延時(shí)時(shí)間是:6處1T 7處250T 8處的500T*250 9處的2T*250 10處的2T ,所有時(shí)間加起來(lái)就是延時(shí)時(shí)間,其中T代表1個(gè)機(jī)器周期時(shí)間 |
循環(huán)的次數(shù)就是250*250呀,你這+250什么意思? 教材說(shuō)的是"循環(huán)次數(shù)",并不是執(zhí)行時(shí)間,執(zhí)行時(shí)間是要計(jì)算上6和7, 而且,MOV指令是要一個(gè)時(shí)鐘,而DJNZ是要兩個(gè)時(shí)鐘的 整個(gè)的執(zhí)行時(shí)間是:1+250+250*250*2+250*2+2 分別對(duì)應(yīng)的是6,7,8,9,10 但一般來(lái)說(shuō),在長(zhǎng)延時(shí)里,主要的延時(shí)都是在8和9,其它的都可以不計(jì)算在內(nèi)的,因?yàn)樗嫉臅r(shí)間是很少的,而且晶振也會(huì)有一定的誤差 以上對(duì)應(yīng)的是傳統(tǒng)的8051系統(tǒng) 而常用的STC指令執(zhí)行時(shí)間和傳統(tǒng)的8051是不一樣的 如果學(xué)匯編,你是一定要會(huì)計(jì)算這個(gè)的,當(dāng)你學(xué)會(huì)計(jì)算這個(gè)之后,就可以在STC下載器那直接復(fù)制就行了 ![]() |
Powered by 單片機(jī)教程網(wǎng)