📄 delay.asm
字号:
;--------------------------------------------------
;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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -