看板 ASM 關於我們 聯絡資訊
我看到一個霹靂燈的程式:我想請問延時副程式怎麼算?,有辨法改成延時三十分鐘 或六十分鐘那麼長嗎?他的全部程式如下: =====================================                主程式 ===================================== ORG 0000H        START MOV R1,#07H                          MOV A,#11111110B LEFT MOV P1,A ACALL DELAY     RL   A DJNZ R1,LEFT --------------------------------------------------------------------------- MOV A,#01111110B RIGHT MOV P1,A                             ACALL DELAY RL   A DJNZ R1,RIGHT AJMP START ====================================== ==             延時副程式                ==   ;延時0.1秒                                 DELAY MOV R6,#250 DL1 MOV R7,#200 DL2 DJNZ R7,DL2 DJNZ R6,DL1 END -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.133.241
ruemann:延時那麼久?要做也是可以做啦,但用慢一點的MCU不是更好ꄠ 02/03 02:15
ruemann:上面的延時的概念是200*250所以這個MCU相當快…… 02/03 02:17
ruemann:一個指令週期約20us,其實挺慢的…… 02/03 02:18
ruemann:算錯,是2us.... 02/03 02:20
ruemann:又錯……orz...以上論說請完全忘記 02/03 02:31
============================================================================== 嗯嗯..無論無何謝謝33mruemann的回答!^______^ ========================================================================== loveflames大大,謝謝你的回答!^______^ 為何沒有return,老實講,我是從書上的霹靂燈的指令寫出來的,因為我 目前還在學要怎麼寫指令,我想說先從一般的小程式看起! 我在想如果利用霹靂燈的指令,可以將led換成繼電器接到燈泡的電源端,那就可以設定開跟關的順序; 例如:一顆燈泡平均半小時壞掉,那我設定他一小時換下一顆,以此類推,所以我才想知 道要怎麼看那個延時的指令,也想知道有沒有可能可以設定延時到一個小時。 ※ 編輯: king53719 來自: 124.8.131.43 (02/04 12:48)
loveflames:你call副程式一定要ret不然主程式不會正常執行 02/05 00:13
loveflames:至於怎麼改延時時間,我已經把us、ms跟s的換算寫出來了 02/05 00:15
loveflames:這應該是很好換算的 02/05 00:16
=========================================================================== 嗯嗯.改延時時間.我己經會算了! 從副程式返迴主程式要一個ret,我剛才看書..確實真的要..1oveflames謝謝你啊 ※ 編輯: king53719 來自: 140.127.137.207 (02/05 14:03)