|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
初學(xué)者請教! |
| 作者:jsnjhawk 欄目:單片機 |
在使用12MHZ晶振時,一個機器周期為1us,執(zhí)行一條DJNZ指令的時間為2us,一個50ms的程序: DEL: MOV R7,#200 DEL1:MOV R6,#125 DEL2:DJNZ R6,DEL1 DJNZ R7,DEL2 RET 它的延時時間為(250+1+2)*200+1=50.30ms是怎樣算出來的? 謝謝! |
| 2樓: | >>參與討論 |
| 作者: jsnjhawk 于 2005/1/27 10:13:00 發(fā)布:
急急! 謝謝好心人,幫幫忙吧! |
|
| 3樓: | >>參與討論 |
| 作者: 興隆 于 2005/1/27 10:21:00 發(fā)布:
模擬軟件都有記時功能,不用數(shù)機器周期啦。 |
|
| 4樓: | >>參與討論 |
| 作者: Ayato 于 2005/1/27 10:22:00 發(fā)布:
有錯吧 ? 這段程序是那來的? 有錯吧 ? |
|
| 5樓: | >>參與討論 |
| 作者: jsnjhawk 于 2005/1/27 10:24:00 發(fā)布:
是錯的! 但是我不知道怎樣計算該程序的執(zhí)行時間,請指點! |
|
| 6樓: | >>參與討論 |
| 作者: Ayato 于 2005/1/27 11:12:00 發(fā)布:
暈! 暈死! 你是女的?是哥們也整個對的來,就兩句程序 如果是按你的公式來分析就應(yīng)該是這樣 DJNZ R6,DEL1 2us R6 125 那么250us 往下運行一步 +1 然后 DJNZ R7,DEL2 +2 循環(huán) 200 次 (250+1+2)*800 最后 RETI +1 不就是(250+1+2)*200+1=50.30ms 嗎 ? 暈 啊 你那程序是錯的,死循環(huán),按你意思就應(yīng)該是這樣,你自己琢磨琢磨就知道了!呵呵 |
|
| 7樓: | >>參與討論 |
| 作者: jsnjhawk 于 2005/1/27 11:16:00 發(fā)布:
謝謝! 謝謝Ayato! |
|
| 8樓: | >>參與討論 |
| 作者: Ayato 于 2005/1/27 11:26:00 發(fā)布:
上面有錯 (250+1+2)*800 這個是 (250+1+2)*200 失誤 失誤 貽笑大方了! |
|
| 9樓: | >>參與討論 |
| 作者: dengm 于 2005/1/27 18:48:00 發(fā)布:
re: DEL: MOV R7, #98 ; 1 MOV R6, #68 ; 1 DEL1: DJNZ R6, DEL1 ; 2 * (68+(98-1)* 256) DJNZ R7, DEL1 ; 2 * 98 RET ; 2 ;---------------------------------------------- ; === 50,000 us |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |