📄 1302yybsz.asm
字号:
ORG 0000H
AJMP MA
ORG 0013H
AJMP DT
ORG 0030H
BTT DATA 50H
BYT DATA 51H
COM DATA 52H
RCV DATA 30H
XMT DATA 38H
IO BIT P1.5
DCLK BIT P1.6
RST BIT P1.4
K1 BIT P1.0 ;定义按键K1
K2 BIT P1.1 ;定义按键K2
K3 BIT P1.2
K4 BIT P1.3
;/////////////////////////////////////////////////
MA:LCALL DYS
MOV P2,#0FFH
MOV P0,#0FFH
MOV P1,#0FFH ;端口初始化
CLR A
MOV R0,#20H
DD:MOV @R0,A
INC R0
CJNE R0,#5FH,DD
LCALL DYS
MOV COM,#8Eh
MOV BYT,#1
MOV R0,#XMT
MOV XMT,#00h
LCALL XIE
LCALL DYS
SETB EA
SETB EX1
CLR IT1
CLR F0
KDD:JB K3,KDDX
LCALL YY
JB K3,KDDX
LCALL ZFJ
KDDX:JB K2,KDDY
LCALL YY
JB K2,KDDY
LCALL SJF
KDDY:JB K1,KDD
LCALL YY
JB K1,KDD
LCALL FJF
AJMP KDD
ZFJ:JNB K3,ZFJ
JNB F0,TTZ
SETB EA
SETB EX1
CLR IT1 ;NO
MOV COM,#80h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,#00H
LCALL XIE ; 调用写入数据子程序
CLR F0
MOV P0,#0FFH
MOV P2,#0FFH
AJMP KDD
TTZ:CLR EA
CLR EX1
SETB IT1 ;YES
MOV COM,#80h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,#80H
LCALL XIE ; 调用写入数据子程序
SETB F0
MOV P0,31H
MOV P2,32H
AJMP KDD
SJF:JNB K2,SJF
INC 31H
MOV A,31H
CJNE A,#0AH,CX1
MOV 31H,#10H
LCALL XIE1
AJMP ZUZ
CX1:CJNE A,#1AH,CX2
MOV 31H,#20H
LCALL XIE1
AJMP ZUZ
CX2:CJNE A,#2AH,CX3
MOV 31H,#30H
LCALL XIE1
AJMP ZUZ
CX3:CJNE A,#3AH,CX4
MOV 31H,#40H
LCALL XIE1
AJMP ZUZ
CX4:CJNE A,#4AH,CX5
MOV 31H,#50H
LCALL XIE1
AJMP ZUZ
CX5:CJNE A,#5AH,CXZ
MOV 31H,#00H
CXZ:LCALL XIE1
ZUZ:LCALL XIANX
RET
FJF:JNB K1,FJF
INC 32H
MOV A,32H
CJNE A,#0AH,FCX1
MOV 32H,#10H
LCALL XIE2
AJMP ZUZ
FCX1:CJNE A,#1AH,FCX2
MOV 32H,#20H
LCALL XIE2
AJMP ZUZ
FCX2:CJNE A,#24H,FCX3
MOV 32H,#00H
FCX3:LCALL XIE2
AJMP ZUZ
XIE2:MOV COM,#84h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,32H
LCALL XIE ; 调用写入数据子程序
RET
XIE1:MOV COM,#82h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,31H
LCALL XIE ; 调用写入数据子程序
RET
SUAN:MOV A,34H
CJNE A,#5,SS1
MOV A,33H
CJNE A,#49,RET_B ;在编码中31在16进制中10进制49
SETB 20H.1 ;20H.1 SHENRI
RET
SS1:CJNE A,#8,RET_B
MOV A,33H
CJNE A,#5,SS2
SETB 20H.2 ;20H.2 ZHOUNINA
RET
SS2:CJNE A,#7,RET_B
SETB 20H.3 ;20H.3 QIXI
RET_B:RET
;////////////////////////////////////////
DT:LCALL SX
LCALL BM
LCALL SUAN
JB 20H.1,SHEN
JB 20H.2,ZHOU
JB 20H.3,QIXI
LCALL MAIN
MOV 3DH,#00H
MOV 3EH,#00H
MOV 3FH,#00H
RETI
SHEN:JB 20H.4,V1
JB 20H.5,V22
LCALL SXXXX
CJNE A,#0EH,RET_A
SETB 20H.4
V1:LCALL DDF
INC 21H
MOV A,21H
CJNE A,#1BH,RET_A
SETB 20H.5
CLR 20H.4
V22:LCALL DDFF
INC 21H
MOV A,21H
CJNE A,#2AH,RET_A
MOV 21H,#00H
MOV 20H,#00H
RET_A:RETI
ZHOU:JB 20H.4,V2
LCALL SXXXX
CJNE A,#0EH,RET_A
SETB 20H.4
V2:MOV DPTR,#NIAN
LCALL XSDF
MOV DPTR,#WOKAO
LCALL XSDF
MOV DPTR,#SAN
LCALL XSDF
MOV DPTR,#SHI
LCALL XSDF
MOV DPTR,#XIANG
LCALL XSDF
INC 21H
MOV A,21H
CJNE A,#1CH,RET_V
MOV 21H,#00H
MOV 20H,#00H
RET_V:RETI
QIXI:JB 20H.4,V3
LCALL SXXXX
CJNE A,#0EH,RET_A
SETB 20H.4
V3:MOV DPTR,#LEE
LCALL XSDF
MOV DPTR,#KUAI
LCALL XSDF
MOV DPTR,#XI
LCALL XSDF
MOV DPTR,#QI
LCALL XSDF
INC 21H
MOV A,21H
CJNE A,#1CH,RET_C
MOV 21H,#00H
MOV 20H,#00H
RET_C:RETI
SXXXX:LCALL SX
LCALL BM
LCALL MAIN
INC 21H
MOV A,21H
RET
;/////////////////////////////////
DDF:MOV R2,#00H
MOV R3,#00H
WGQ_A:MOV A,R2
MOV DPTR,#HB
MOVC A,@A+DPTR
MOV 22H,A
INC R2
WGQ_B:MOV A,R3
MOV DPTR,#HB1
MOVC A,@A+DPTR
MOV 24H,A
INC R3
LCALL XIAN
CJNE R3,#56,WGQ_A
RET
DDFF:MOV R2,#00H
MOV R3,#00H
WGQ_A1:MOV A,R2
MOV DPTR,#TA
MOVC A,@A+DPTR
MOV 22H,A
INC R2
MOV A,R3
MOV DPTR,#TA1
MOVC A,@A+DPTR
MOV 24H,A
INC R3
LCALL XIAN
CJNE R3,#56,WGQ_A1
RET
MAIN:MOV R0,#40H
MOV R1,#46H
MOV R7,#06H
WA:MOV 3FH,@R0
MOV 3EH,@R1
LCALL SZ
INC R0
INC R1
INC 23H
MOV A,23H
CJNE A,#02H,WO
LCALL MAOH
WO:CJNE A,#04H,WOR
LCALL MAOH
WOR:DJNZ R7,WA
MOV 23H,#00H
RET
SZ:MOV A,3FH
MOV DPTR,#CB
MOVC A,@A+DPTR
MOV R3,A
MOV A,3EH
MOV DPTR,#CB
MOVC A,@A+DPTR
MOV R2,A
MOV R4,#05H
ETA:MOV A,R3
MOV DPTR,#SZQ
MOVC A,@A+DPTR
MOV 22H,A
INC R3
MOV A,R2
MOV DPTR,#SZQ
MOVC A,@A+DPTR
MOV 24H,A
INC R2
LCALL XIAN
DJNZ R4,ETA
LCALL K
RET
BM:MOV R0,#40H
MOV R1,#41H
MOV 3DH,30H
MOV A,30H
LCALL BXB
MOV 3DH,31H
MOV A,31H
LCALL BXB
MOV 3DH,32H
MOV A,32H
LCALL BXB
MOV 3DH,33H
MOV A,33H
LCALL BXB
MOV 3DH,34H
MOV A,34H
LCALL BXB
MOV 35H,36H
MOV 3DH,35H
MOV A,35H
LCALL BXB
RET
BXB:MOV B,#16
DIV AB
MOV @R1,A
MOV @R0,B
LCALL LF1
RET
XIANX:MOV P0,31H
MOV P2,32H
RET
XIAN:MOV P0,24H
MOV P2,22H
LCALL YS
RET
K:MOV P0,#0FFH
MOV P2,#0FFH
LCALL YS
RET
YS:MOV R6,#10H
NX:MOV R5,#18H
DJNZ R5,$
DJNZ R6,NX
RET
DYS:MOV R6,#0FFH
NX1:MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,NX1
RET
YY:MOV R6,#0E0H
NX2:MOV R5,#18H
DJNZ R5,$
DJNZ R6,NX2
RET
SX:MOV COM,#0BFh ;命令字节为BFh
MOV BYT,#8 ;多字节读出模式此模块为8 个
MOV R1,#RCV ;数据地址覆给R1
ACALL DU; 调用读出数据子程序
RET
MAOH:MOV P0,#0FFH
MOV P2,#0FFH
LCALL YS
MOV P0,#0FBH
MOV P2,#0BDH
LCALL YS
MOV P0,#0FFH
MOV P2,#0FFH
LCALL YS
MOV P0,#0FFH
MOV P2,#0FFH
LCALL YS
RET
XIE:LCALL WSK
S1:MOV A,@R0
MOV BTT,#08H
S2:RRC A
MOV IO,C
NOP
SETB DCLK
NOP
CLR DCLK
DJNZ BTT,S2
INC R0
DJNZ BYT,S1
NOP
CLR RST
RET
DU:LCALL WSK
D1:CLR A
CLR C
MOV BTT,#08H
D2:CLR DCLK
NOP
MOV C,IO
RRC A
SETB DCLK
NOP
CLR DCLK
DJNZ BTT,D2
MOV @R1,A
INC R1
DJNZ BYT,D1
NOP
CLR RST
RET
WSK:CLR RST
NOP
CLR DCLK
NOP
SETB RST
NOP
MOV A,COM
MOV BTT,#08H
SO:RRC A
MOV IO,C
NOP
SETB DCLK
NOP
CLR DCLK
NOP
DJNZ BTT,SO
NOP
RET
LF1:INC R0
INC R0
INC R1
INC R1
RET
XSDF:MOV 28H,#00H
MOV 29H,#01H
MOV R7,#16
QS:MOV A,28H
MOVC A,@A+DPTR
MOV 22H,A
MOV A,29H
MOVC A,@A+DPTR
MOV 24H,A
INC 28H
INC 28H
INC 29H
INC 29H
LCALL XIAN
DJNZ R7,QS
RET
;HAPPY BIRTHDAY
HB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,3FH,0DFH,0E1H,0DFH,3FH,0FFH ; Y
DB 0FFH,9FH,6FH,6FH,6FH,01H,0FFH ;P
DB 0FFH,9FH,6FH,6FH,6FH,01H,0FFH ; P
DB 0FFH,0E1H,97H,77H,97H,0E1H,0FFH ; A
DB 0FFH,01H,0EFH,0EFH,0EFH,01H,0FFH ; H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
HB1:DB 0FFH,3FH,0DFH,0E1H,0DFH,3FH,0FFH ; Y
DB 0FFH,0E1H,97H,77H,97H,0E1H,0FFH ; A
DB 0FFH,83H,7DH,7DH,7DH,01H,0FFH ; D
DB 0FFH,01H,0EFH,0EFH,0EFH,01H,0FFH ; H
DB 0FFH,7FH,7FH,01H,7FH,7FH,0FFH ; T
DB 0FFH,9DH,6BH,67H,6FH,01H,0FFH ; R
DB 0FFH,0FFH,7DH,01H,7DH,0FFH,0FFH ; I
DB 0FFH,93H,6DH,6DH,6DH,01H,0FFH ; B
;TO Aurora
TA:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 83H,7DH,7DH,7DH,83H,0FFH,0FFH ; o
DB 7FH,7FH,01H,7FH,7FH,0FFH,0FFH ; T
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH
TA1:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FEH,0F1H,0EDH,0EEH,0F1H,0FFH ;a
DB 0EFH,0F7H,0F8H,0F7H,0F3H,0FFH ;R
DB 0F1H,0EEH,0EEH,0EEH,0F1H,0FFH ;O
DB 0EFH,0F7H,0F8H,0F7H,0F3H,0FFH ;R
DB 0FEH,0E1H,0FEH,0FEH,0E1H,0FFH ;U
DB 0F0H,0CBH,0CBH,0CBH,0F0H,0FFH ;A
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH
SZQ:DB 83H,7DH,7DH,7DH,83H,0FFH,0FDH,01H,0BDH,0FFH,9DH,6DH,6DH,75H,79H,93H,6DH,6DH,6DH,6DH,0F7H,01H,0B7H,0D7H,0E7H,73H,6DH,6DH,6DH,1DH,73H,6DH,6DH,6DH,83H,3FH,41H,7FH,7FH,7FH,93H,6DH,6DH,6DH,93H,83H,6DH,6DH,6DH,9DH
CB:DB 00H,05H,0AH,0FH,14H,19H,1EH,23H,28H,2DH
QI:
DB 0FFH,0FFH,0FBH,0FFH,0FBH,0E3H,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH
DB 80H,03H,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FFH,0FFH
XI:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0C7H,0FFH,0D9H,0FFH,0DEH,0FFH,0DFH,7FH,0DFH,0BFH,5FH
DB 0EFH,0DEH,0F7H,01DH,0FBH,0E3H,0FBH,0FBH,0FDH,0FDH,0FDH,0FEH,0FDH,0FFH,0FFH,0FFH
KUAI:
DB 0FFH,0FFH,0FFH,0FDH,0FEH,0FCH,0E0H,0F9H,0EEH,0F3H,0EEH,0EFH,0EEH,09FH,00H,07FH
DB 0EEH,8FH,0EEH,0F3H,0EEH,0FDH,0F2H,0FEH,0EFH,0FFH,00H,00H,0FFH,0FFH,0F1H,0FFH
LEE:
DB 0FFH,0FFH,0FFH,0FFH,0FDH,0E3H,0BDH,0CFH,3DH,0BFH,3DH,0FFH,0BDH,0FFH,0A0H,03H
DB 9DH,0FDH,0DDH,0FBH,0DDH,0B7H,0DDH,1FH,0C0H,0CFH,0FDH,0E7H,0FFH,0FBH,0FFH,0FFH
XIANG:
DB 0FFH,0FFH,0FFH,0FFH,80H,00H,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,80H,00H
DB 0FFH,0FFH,0F6H,7FH,0F5H,0FFH,0F3H,0FFH,00H,00H,0F4H,0FFH,0F7H,03FH,0F7H,0DFH
SHI:
DB 0FFH,0FFH,0FFH,0FBH,0FFH,0F1H,80H,0CFH,0BEH,0BFH,0BEH,0FFH,0BEH,0FFH,0BEH,8FH
DB 80H,0F3H,0FFH,0FDH,0FFH,0F6H,0FFH,0FBH,0DCH,01H,8DH,0FFH,7DH,0FFH,0FDH,0FFH
SAN:
DB 0FFH,0FFH,0FFH,0FBH,0DFH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH
DB 0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DFH,0FBH,0FFH,0FFH
WOKAO:
DB 0FFH,0FFH,0FFH,0FFH,80H,01H,0BFH,0FEH,0BDH,0FDH,0ADH,07H,0ADH,6FH,81H,6FH
DB 0ADH,6FH,0ADH,07H,0BDH,0FFH,0BFH,0FFH,80H,0FH,0FFH,0F3H,0FFH,0FDH,0FFH,0FEH
NIAN:
DB 0FFH,0FFH,0FFH,0DFH,0BFH,0DFH,0BBH,0DFH,0BBH,0DFH,0BBH,0DFH,0BFH,0DFH,80H,00H
DB 0BBH,0DFH,0BBH,0DFH,0BFH,0DFH,38H,1FH,0CFH,0DFH,0F7H,0DFH,0FBH,0DFH,0FDH,0DFH ;cuowu
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -