標(biāo)題:
匯編:51單片機模塊化軟件延時
[打印本頁]
作者:
liuchao626
時間:
2022-7-12 22:36
標(biāo)題:
匯編:51單片機模塊化軟件延時
ORG 0000H
PUSH PSW
PUSH ACC
PUSH B
LCALL DELAY1US
POP PSW
POP ACC
POP B
RET
DELAY1US: NOP
RET
DELAY100US: PUSH R7
MOV R7,#100
LOOP: NOP
DJNZ R7,LOOP
POP R7
RET
DELAY1MS: PUSH R7
PUSH R6
MOV R6,#10
LOOP1: MOV R7,#100
NOP
LOOP2: DJNZ R6,LOOP2
DJNZ R7,LOOP1
POP R6
POP R7
RET
復(fù)制代碼
有錯的地方,歡迎大家猛烈批評指正。
作者:
光說不練
時間:
2022-7-13 15:36
1微秒估計懸,RET占2個周期。第一個設(shè)計為5微秒或10微秒比較合理。
作者:
liuchao626
時間:
2022-7-13 18:18
光說不練 發(fā)表于 2022-7-13 15:36
1微秒估計懸,RET占2個周期。第一個設(shè)計為5微秒或10微秒比較合理。
感謝大哥指教了,感激不盡
作者:
yzwzfyz
時間:
2022-7-28 11:35
51單片機中,R0-R7對應(yīng)的RAM地址可以是00H-07H,也可以是08H-0FH,10H-17H,18H-1FH。
共4套方案,由PSW中的RS1、RS0選擇決定,上電時RS1、RS0=00,所以默認(rèn)R0-R7對應(yīng)的地址是00H-07H。
PUSH R6,會讓CPU無從選擇哪一個地址的內(nèi)容壓入堆棧。
所以,51指令中沒有 PUSH、POP R0-R7的指令。
PUSH R6 可以改為 PUSH 06H(默認(rèn)狀態(tài)下時)替代。
能看出這個問題的人,絕對極少。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1