熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
關(guān)鍵你這機(jī)器周期不是1us一次,可以進(jìn)入 bebug 單獨(dú)看看 delay 這段程序 ,當(dāng)i = 1000000us,花了多久 |
xuyaqi 發(fā)表于 2022-12-4 16:09 這是正確的 |
Hephaestus 發(fā)表于 2022-12-4 17:47 原來是這樣,呵呵,腦殼昏 |
long運(yùn)算時(shí)間遠(yuǎn)大于1us,所以你的代碼是正確的,但是需要極大地耐心來證明。 |
1個(gè)機(jī)器周期等于12個(gè)振蕩周期,振蕩周期也叫時(shí)鐘周期,時(shí)鐘周期即晶振的單位時(shí)間發(fā)出的脈沖數(shù), 如12MHZ=12×10的6次方,即每秒發(fā)出12000000個(gè)脈沖信號,那么發(fā)出一個(gè)脈沖的時(shí)間就是時(shí)鐘周期, 即1/12微秒;如11.0592MHZ=11.0592×10的6次方,即每秒發(fā)出11059200個(gè)脈沖信號, 那么發(fā)出一個(gè)脈沖的時(shí)間就是時(shí)鐘周期,即1/11.0592微秒)。 在51單片機(jī)中,1個(gè)機(jī)器周期等于12個(gè)振蕩周期,則在計(jì)算定時(shí)時(shí)間t時(shí): 計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t 。 |
芙蓉焊料 發(fā)表于 2022-12-4 15:19 i=1000000也是可以的,你得耐心等待。 |
建議延遲函數(shù)這樣寫,這樣是1s。(uint為unsigned int)你那種不規(guī)范。。。。。。 void delay(uint time) { uint i,j; for(i=0;i<time;i++) for(j=0;j<155;j++) ; } |
i=10000 就正常了,不應(yīng)該啊,請老師解答 |
Powered by 單片機(jī)教程網(wǎng)