📄 扩128.asm
字号:
main: nop
lcall hy1 ;间隔亮10次
lcall hy3 ;全灭
lcall delay400ms ;延时
lcall hy4 ;全亮
lcall delay400ms ;延时
lcall hy3 ;全灭
lcall delay400ms ;延时
lcall hy4 ;全亮
lcall delay400ms
lcall hy3 ;全灭
lcall delay400ms
lcall hy2 ;从左到右亮,然后从右到左灭
lcall hy2
ljmp main ;无限循环
hy4: mov a,#0ffh ;花样4全亮
mov r6,#10
hy41: mov dptr,#0000h
hy4lp: movx @dptr,a
inc dph
djnz r6, hy4lp
ret
hy3: mov a,#00h ;花样3全灭
mov r6,#10
hy31: mov dptr,#0000h
hy3lp: movx @dptr,a
inc dph
djnz r6, hy3lp
ret
hy2: mov a,#01h ;花样2从左到右亮,然后从右到左灭
mov r6,#10
hy21: mov dptr,#0000h
hy22: mov r7,#8
hy2lp: movx @dptr,a
setb c
rlc a
lcall delay5ms
djnz r7,hy2lp
inc dph
djnz r6, hy22
lcall delay400ms
mov a,#01h
mov r6,#10
hy21a: dec dph
; mov dptr,#0000h
hy22a: mov r7,#8
hy2lpa: movx @dptr,a
clr c
rrc a
lcall delay5ms
djnz r7,hy2lpa
dec dph
djnz r6, hy22a
lcall delay400ms
ret
hy1: mov r6,#10 ;花样1间隔亮 变换
mov a,#55h
hy11: mov dptr,#0000h
mov r7,#10
hy1lp: movx @dptr,a
inc dph
djnz r7,hy1lp
lcall delay400ms
cpl a
djnz r6, hy11
ret
DELAY5MS:
MOV R3,#25 ;延时子程序(5MS)
DL5_PA: MOV R2,#100
DJNZ R2,$
DJNZ R3,DL5_PA
RET
;==============延时400毫秒
DELAY400MS:
MOV R4,#20 ;延时子程序(400MS)
DL4_PA: MOV R3,#100
DL4_PB: MOV R2,#100
DJNZ R2,$
DJNZ R3,DL4_PB
DJNZ R4,DL4_PA
RET
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -