📄 02.20.asm
字号:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP WAISEV
ORG 000BH
LJMP T0SEV
ORG 001BH
LJMP T1SEV
ORG 0030H
MAIN:MOV SP,#60H
MOV TMOD,#11H
MOV TH0,#0F4H
MOV TL0,#48H
MOV 44H,#70H
MOV 45H,#0B0H
MOV 46H,#0D0H
MOV 47H,#0E0H
MOV 32H,#00H
MOV 33H,#00H
MOV 75H,#00H
MOV 76H,#00H
MOV 77H,#00H
MOV IP,#09H
SETB EA
SETB EX0
SETB ET1
SETB ET0
MOV P3,#0E4H
START: MOV 30H,#00H
L0: NOP
NOP
JB F0,L1
LCALL DISPLAY
AJMP L0
L1: MOV A,30H
MOV DPH,75H
MOV DPL,76H
LCALL DISPLAY
MOVC A,@A+DPTR
MOV R2,A
CJNE A,#00H,NEXT1
MOV 30H,#00H
MOV 12H,#00H
MOV 13H,#00H
MOV 14H,#00H
MOV 15H,#00H
MOV 16H,#00H
MOV 32H,#00H
MOV 33H,#00H
CLR TR1
SJMP START
NEXT1: MOV A,R2
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR1
SJMP D1
SING: DEC A
CLR C
RLC A
MOV 22H,A
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV TH1,A
MOV 21H,A
MOV A,22H
ADD A,#1
MOVC A,@A+DPTR
MOV TL1,A
MOV 20H,A
MOV P2,A
SETB ET1
SETB TR1
D1: LCALL DELAY
CLR TR1
INC 30H
LJMP L0
DELAY: MOV R7,#03
D2: MOV R4,#200
D3: MOV R3,#123
D30: DJNZ R3,D30
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
DISPLAY:PUSH ACC
PUSH DPH
PUSH DPL
MOV A,R0
MOV DPTR,#LED
MOVC A,@A+DPTR
MOV P1,A
POP DPL
POP DPH
POP ACC
RET
T1SEV: CLR TR1 ; 没有保护现场?
MOV TL1,20H
MOV TH1,21H
CPL P3.0
SETB TR1
RETI
T0SEV: PUSH ACC
PUSH PSW
SETB RS1
CLR RS0
CLR TR0
CJNE R6,#0,GOON
MOV R0,#40H
MOV R1,#44H
GOON: INC R2
CJNE R2,#111,BRET
MOV R2,#0
INC R5
CJNE R5,#3,BRET
MOV R5,#0
INC R3
MOV 32H,R3
CJNE R3,#60,BRET
MOV 32H,#0
MOV R3,#0
INC R4
MOV 33H,R4
BRET:MOV B,#10
MOV A,32H
DIV AB
MOV 42H,A
MOV 43H,B
MOV B,#10
MOV A,33H
DIV AB
MOV 40H,A
MOV 41H,B
MOV A,@R1
ADD A,@R0
MOV P0,A
INC R6
INC R0
INC R1
CJNE R6,#4,GO
MOV R6,#0
GO: MOV TH0,#0F4H
MOV TL0,#48H
POP PSW
POP ACC
SETB TR0
RETI
WAISEV: LCALL D10ms
LCALL KEYIN
JNZ LKOUT
LJMP KEND
LKOUT:MOV 30H,#00H
MOV 12H,#00H
MOV 13H,#00H
MOV 14H,#00H
MOV 15H,#00H
MOV 16H,#00H
MOV 32H,#00H
mov 33h,#00h
MOV 75H,#00H
MOV 76H,#00H
MOV A,#00H
CLR TR0
MOV P0,#00H
MOV R1,#0EFH
MOV R6,#00H
CONU:MOV P3,R1
MOV A,P3
JB ACC.5,LONE
MOV A,#00H
LJMP LKP
LONE:JB ACC.6,LTWO
MOV A,#03H
LJMP LKP
LTWO:JB ACC.7,NEXT
MOV A,#06H
LKP: ADD A,R6
PUSH ACC
WKFE:LCALL KEYIN
JNZ WKFE
POP ACC
LJMP KJMP
NEXT:INC R6
MOV A,R1
CJNE R6,#2,K1
RR A
K1: JNB ACC.1,KND
RR A
MOV R1,A
LJMP CONU
D10ms: MOV 71H,#100
LOOP1: MOV 70H,#47
LOOP0: DJNZ 70H,LOOP0
NOP
DJNZ 71H,LOOP1
MOV 70H,#48
LOOP4: DJNZ 70H,LOOP4
RET
KEYIN: MOV P3,#0E4H
MOV A,P3
CPL A
ANL A,#0E0H
RET
KND: MOV 75H,DPH
MOV 76H,DPL
SETB TR0
SETB F0
SETB ET0
KEND: MOV R5,#01H
RETI
KJMP: MOV DPTR,#KEYSEV
MOV 77H,A
ADD A,77H
ADD A,77H
JMP @A+DPTR
KEYSEV:LJMP KEY0
LJMP KEY1
LJMP KEY2
LJMP KEY3
LJMP KEY4
LJMP KEY5
LJMP KEY6
LJMP KEY7
LJMP KEY8
KEY0: CLR F0
CLR ET0
MOV R0,#16
LJMP KEND
KEY1: MOV DPTR,#ONE
MOV R0,#1
LJMP KND
KEY2: MOV DPTR,#TWO
MOV R0,#2
LJMP KND
KEY3: MOV DPTR,#THREE
MOV R0,#3
LJMP KND
KEY4: MOV DPTR,#FOUR
MOV R0,#4
LJMP KND
KEY5: MOV DPTR,#FIVE
MOV R0,#5
LJMP KND
KEY6: MOV DPTR,#SIX
MOV R0,#6
LJMP KND
KEY7: MOV DPTR,#SEVEN
MOV R0,#7
LJMP KND
KEY8: MOV DPTR,#EIGHT
MOV R0,#8
LJMP KND
LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H
DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
ONE: DB 04H,82H,01H,81H,94H,84H,0B4H,0A4H,04H ;生日快乐
DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
DB 00H
TWO: DB 04h,01h,64H,84H,92H,91H,81H,93H,61H,54H ;康定情歌
DB 62H,82H,92H,91H,81H,92H,64H,62h
DB 82h,92h,91h,81h,93h,61h,54h,82h
DB 62h,51h,61h,51h,41h,52h,24h,92H
DB 54H,82H,64H,52H,42h,94H,82H,62H
DB 51H,61H,51H,41H,52H,24H,04H
DB 00H
THREE: DB 04H,01H,18h,44h,54h,66H,72H,64H,44H,58H,44H,24H ;同一首歌
DB 4fH,18H,44H,54H,64H,62H,72H,84H,44H
DB 76H,62H,84H,52H,62H,5CH,68H,84H,0B4H
DB 0A6H,98H,84H,82H,92H,0A4H,92H,82H,6fH
DB 76H,72H,84H,94H,84H,72H,62H,58H,34H,32H
DB 22H,14H,24H,4fH,0b8H,98H,76H,82H,98H
DB 0A4H,0A2H,0A2H,0A4H,92H,82H,6fH,0b8H,98H
DB 76H,82H,98H,24H,22H,22H,94H,72H,62H,5fH
DB 18H,44H,54H,66H,72H,64H,42H,42H,56H,52H,54H,52H,42H
DB 24H,2cH,38H,36H,22H,14H,94H,84H,52H,52H,76H,72H,74H,62H,52H,4fH
DB 9cH,01h,0B8H,01h,0B3H,0BFH,04H
DB 00H
FOUR: DB 04h,01h,61h,81h,94h,92h,0b1h,0a1h,91h,81h,64h ;一剪梅
DB 21h,41h,54h,52h,61h,51h,41h,31h,24h
DB 22h,22h,64h,51h,41h,32h,42h,32h,21h,11h,24h,02H
DB 22h,44h,21h,41h,52h,52h,61h,71h,61h,51h,64h,02H
DB 61h,81h,94h,81h,61h,54h,41h,51h,64h,51h,61h,24h
DB 02h,32h,31h,21h,14h,11h,11h,42h,32h,24h,24h,24h
DB 02h,22h,94h,82h,61h,81h,61h,81h,94h,82h,52h,52h
DB 61h,81h,61h,51h,64h,41h,21h,24h,61h,51h,64h,81h
DB 91h,61h,51h,64h,02h,62h,22h,94h,82h,61h,81h,61h
DB 41h,21h,24h,61h,51h,64h,81h,91h,61h,51h,64h,04h
DB 62h,22h,94h,82h,61h,81h,61h,81h,94h,81h,51h,52h
DB 61h,81h,61h,51h,51h,64h,41h,21h,24h,41h,21h,24h
DB 61h,51h,64h,61h,51h,64h,01h,62h,84h,12h,24h,04H,00H
FIVE: DB 04H,01h,82h,52h,42h,31h,21h,12h,82h,52h,61h,51h ;东方红
DB 42h,41h,21h,51h,61h,51h,41h,51h,41h,31h,21h
DB 12h,02h,12h,82h,81h,91h,52h,02h,42h,41h,21h
DB 52h,02h,82h,82h,91h,0b1h,91h,81h,42h,41h,21h
DB 52h,02h,82h,52h,42h,31h,21h,12h,82h,52h,61h
DB 51h,42h,41h,21h,51h,61h,51h,41h,51h,41h,31h
DB 21h,12h,02h,12h,04H,00H
SIX: DB 04H,01H,96H,82H,64H,84H,0B4H,92H,82H,98H,64H,82H ;时世上只有妈妈好
DB 92H,84H,64H,42H,22H,82H,62H,58H,56H,62H
DB 84H,82H,92H,64H,54H,48H,86H,62H,52H,42H
DB 22H,42H,1FH,96H,82H,64H,84H,0B4H,92H,82H
DB 98H,64H,82H,92H,84H,64H,42H,22H,82H,62H
DB 58H,56H,62H,84H,82H,92H,64H,54H,48H,86H
DB 62H,52H,42H,22H,42H,1FH,04H,00H
SEVEN: DB 04H,01H,96H,82H,66H,52H,42H,42H,52H,62H,26H,14H,12H,22H ;精忠报国
DB 44H,42H,52H,62H,82H,52H,72H,68H,96H,82H,66H,52H
DB 42H,52H,52H,62H,28H,14H,12H,22H,44H,42H,52H,62H
DB 82H,52H,72H,68H,96H,82H,66H,52H,42H,52H,52H,62H
DB 28H,54H,52H,62H,84H,82H,62H,52H,42H,22H,12H,28H
DB 96H,82H,66H,52H,42H,52H,52H,62H,28H,54H,52H,62H
DB 84H,82H,62H,52H,42H,22H,12H,28H,44H,54H,64H,74H
DB 94H,0B4H,94H,62H,82H,92H,0B2H,92H,82H,68H,54H,52H
DB 62H,84H,82H,92H,82H,62H,62H,52H,68H,94H,0B4H,94H
DB 62H,82H,92H,0B2H,92H,82H,68H,52H,52H,52H,62H,82H
DB 82H,82H,92H,0AFH,0A4H,04H,88H,9FH,04H,00H
EIGHT: DB 04H,01H,02H,12H ;月亮代表我的心
DB 46H,62H,84H,02H,42H
DB 36H,62H,84H,02H,82H
DB 94H,0A4H,0B6H,94H
DB 92H,8BH,62H,52H
DB 46H,42H,44H,62H,52H
DB 46H,42H,44H,52H,62H
DB 56H,42H,24H,52H,62H
DB 5CH
DB 02H,62H,82H
DB 66H,52H,44H,84H
DB 3CH,22H,32H
DB 26H,32H,26H,12H
DB 6CH,84H
DB 66H,52H,44H,84H
DB 3CH,22H,32H
DB 46H,42H,44H,52H,62H
DB 5CH,02H,12H
DB 46H,62H,86H,42H
DB 36H,62H,86H,82H
DB 96H,0A2H,0B6H,92H
DB 92H,82H,88H,62H,52H
DB 46H,42H,44H,62H,52H
DB 46H,42H,44H,52H,62H
DB 56H,22H,34H,42H,52H
DB 4CH,04H
DB 00
TABLE: DB 0FBH,08H,0FBH,92H,0FCH,0EH,0FCH,4BH
DB 0FCH,0AFH,0FDH,0CH,0FDH,36H,0FDH,80H
DB 0FDH,0C3H,0FEH,07H,0FEH,30H,0FEH,70H
DB 0FEH,89H,0FEH,0B0H,0FEH,0D4H,0FEH,0F5H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -