delay.asm
来自「一款用24L01给美的电器做的2.4G无线遥控器」· 汇编 代码 · 共 84 行
ASM
84 行
;--------------------------------------------------
;R=150k
;machine clock: 6MHz
;instruction period: 0.25us
;--------------------------------------------------
;-----------Variables------------
.area Delay_Data(data)
delay_times:: .ds 2
;-------------------------------
.area Delay_Code(code)
Delay_5us::
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret
;--------------------------
Delay_10us::
call Delay_5us
call Delay_5us
ret
;------------------------
Delay_2ms::
lda #2
sta delay_times
lda #0xff
sta delay_times+1
Delay_2ms_Loop:
lda delay_times+1
suba #1
sta delay_times+1
brc Delay_2ms_Loop
lda delay_times
suba #1
sta delay_times
brc Delay_2ms_Loop
ret
;--------------------------
Delay_10ms::
lda #0x12
sta delay_times
lda #0xff
sta delay_times+1
Delay_10ms_Loop:
lda delay_times+1
suba #1
sta delay_times+1
brc Delay_10ms_Loop ;9*256*0.25us=576us
lda delay_times
suba #1
sta delay_times
brc Delay_10ms_Loop ;17*576us=9.7ms
ret
Delay_100ms::
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
call Delay_10ms
ret
;-----------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?