📄 25s to 15s cycle.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP PIPO
ORG 0100H
MAIN:
MOV SP,#30H
MOV 40H,#00H
MOV 41H,#25H
MOV 42H,#15H
MOV 43H,#05H
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB EA
SETB ET0
SETB TR0
MOV R0,#41H
MOV R1,#41H
CYCLE:
LCALL DISP
AJMP CYCLE
PIPO:
PUSH PSW
PUSH ACC
MOV TH0,#0D8H
MOV TL0,#0F0H
INC 40H
MOV A,40H
CJNE A,#64H,RET0
MOV 40H,#00H
MOV A,@R1
DEC A
CJNE A,#1FH,KK
SUBB A,#06H
KK: MOV @R1,A
CJNE A,#0FH,KK1
SUBB A,#06H
KK1:
MOV @R1,A
CJNE A,#05H,KK2
KK2: CJNE A,#0FFH,RET0
MOV @R1,#25H
MOV R1,#42H
MOV R0,#42H
RET0:
POP ACC
POP PSW
RETI
;显示子程序
DISP:
MOV A,@R0
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,@R0
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
SETB P0.7
MOV P2,#0FFH
CLR P2.4
CLR P0.7
ACALL DELAY
SETB P0.7
RET
TABLE:
INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;0-9的段码
DELAY: MOV R3,#10H
DELAY0: MOV R4,#50H
DELAY1: DJNZ R4,DELAY1
DJNZ R3,DELAY0
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -