作者king53719 (偉仔)
看板ASM
標題[討論] 延時副程式
時間Sat Feb 3 02:11:51 2007
我看到一個霹靂燈的程式:我想請問延時副程式怎麼算?,有辨法改成延時三十分鐘
或六十分鐘那麼長嗎?他的全部程式如下:
=====================================
主程式
=====================================
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
1F:推 ruemann:延時那麼久?要做也是可以做啦,但用慢一點的MCU不是更好ꄠ 02/03 02:15
2F:→ ruemann:上面的延時的概念是200*250所以這個MCU相當快…… 02/03 02:17
3F:→ ruemann:一個指令週期約20us,其實挺慢的…… 02/03 02:18
4F:→ ruemann:算錯,是2us.... 02/03 02:20
5F:推 ruemann:又錯……orz...以上論說請完全忘記 02/03 02:31
==============================================================================
嗯嗯..無論無何謝謝33mruemann的回答!^______^
==========================================================================
loveflames大大,謝謝你的回答!^______^
為何沒有return,老實講,我是從書上的霹靂燈的指令寫出來的,因為我
目前還在學要怎麼寫指令,我想說先從一般的小程式看起!
我在想如果利用霹靂燈的指令,可以將led換成繼電器接到燈泡的電源端,那就可以設定開跟關的順序;
例如:一顆燈泡平均半小時壞掉,那我設定他一小時換下一顆,以此類推,所以我才想知
道要怎麼看那個延時的指令,也想知道有沒有可能可以設定延時到一個小時。
※ 編輯: king53719 來自: 124.8.131.43 (02/04 12:48)
6F:推 loveflames:你call副程式一定要ret不然主程式不會正常執行 02/05 00:13
7F:推 loveflames:至於怎麼改延時時間,我已經把us、ms跟s的換算寫出來了 02/05 00:15
8F:推 loveflames:這應該是很好換算的 02/05 00:16
===========================================================================
嗯嗯.改延時時間.我己經會算了!
從副程式返迴主程式要一個ret,我剛才看書..確實真的要..1oveflames謝謝你啊
※ 編輯: king53719 來自: 140.127.137.207 (02/05 14:03)