📄 1302yybsz.asm
字号:
BXB:MOV B,#16
DIV AB
MOV @R1,A
MOV @R0,B
LCALL LF1
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
YY:MOV R6,#0E0H
NX1:MOV R5,#18H
DJNZ R5,$
DJNZ R6,NX1
RET
SX:MOV COM,#0BFh ;命令字节为BFh
MOV BYT,#8 ;多字节读出模式此模块为8 个
MOV R1,#RCV ;数据地址覆给R1
ACALL DU; 调用读出数据子程序
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
DB 0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH
DB 83H,7DH,7DH,7DH,83H,0FFH ; o
DB 7FH,7FH,01H,7FH,7FH,0FFH ; T
DB 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 ;a
DB 0EFH,0F7H,0F8H,0F7H,0F3H ;R
DB 0F1H,0EEH,0EEH,0EEH,0F1H ;O
DB 0EFH,0F7H,0F8H,0F7H,0F3H ;R
DB 0FEH,0E1H,0FEH,0FEH,0E1H ;U
DB 0F0H,0CBH,0CBH,0CBH,0F0H ;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
DT:MOV A,2BH
CJNE A,#08H,XXI
MOV A,2AH
CJNE A,#08H,WWI
MOV 2AH,#00H ;clr 2ah,是错误的!!!
MOV 2BH,#00H
RETI
XXI:LCALL YY
LCALL SX
LCALL BM
LCALL MAIN
INC 2BH
CLR A
MOV 3DH,#00H
MOV 3EH,#00H
MOV 3FH,#00H
RETI
WWI:LCALL DDF
INC 2AH
RETI
DT:JNB 20H.3,XXI
JNB 21H.3,WWI
JNB 22H.3,TTI
MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
RETI
XXI:LCALL YY
LCALL SX
LCALL BM
LCALL MAIN
INC 20H
CLR A
CLR 3DH
CLR 3EH
CLR 3FH
RETI
WWI:LCALL DDF
INC 21H
RETI
TTI:LCALL DDFF
INC 22H
RETI
DDF:MOV R2,#00H
MOV R3,#00H
WGQ_A:MOV A,R2
MOV DPTR,#HB
MOVC A,@A+DPTR
MOV 24H,A
INC R2
WGQ_B:MOV A,R3
MOV DPTR,#HB1
MOVC A,@A+DPTR
MOV 22H,A
INC R3
LCALL XIAN
CJNE R3,#56,WGQ_A
RET
DT:LCALL YY
LCALL SX
LCALL BM
LCALL MAIN
CLR A
CLR 3DH
CLR 3EH
CLR 3FH
RETI
DT:LCALL DDF
LCALL SX
LCALL BM
LCALL MAIN
CLR A
CLR 3DH
CLR 3EH
CLR 3FH
RETI
SK3: JB K3,JP ;检测按键K3
ACALL YS ;调用20ms延时消抖动
JB K3,JP ;如果K3为高电平,则是抖动
K3DD: JNB K3,K3DD ;等待K3按键释放
LCALL DU
LCALL XIANX
JB F0,WZX
SETB F0
AJMP JP
SUAN:MOV A,33H
CJNE A,#5,SS1
MOV A,34H
CJNE A,#31,RET_B
SETB 20H.1 ;20H.1 SHENRI
RET
SS1:CJNE A,#8,RET_B
MOV A,34H
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
JB 20H.4,V1
LCALL ZHENG
INC 21H
MOV A,21H
CJNE A,#08H,RET_A
SETB 20H.4
V1:LCALL ;YAOXIANSHID
INC 21H
MOV A,21H
CJNE A,#10H,RET_A
MOV 21H,#00H
MOV 20H,#00H
RET_A:RETI
;QI
DB 0FFH,0FFH,0FBH,0FFHH,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,0FFH,0C7H,0FFH,0D9H,0FFH,0DEH,7FH,0DFH,0BFH,0DFH,50H
DB 0DEH,0EFH,01DH,0F7H,0E3H,0FBH,0FBH,0FBH,0FDH,0FDH,0FEH,0FDH,0FFH,0FDH,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
;LE
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,0F180H,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
;ZH0U
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,0D0H,0BBH,0DFH,0BBH,0DFH,0BBH,0DFH,0BFH,0D0H,80H,00H
DB 0BBH,0DFH,0BBH,0DFH,0BFH,0D0H,38H,1FH,0CFH,0DFH,0F7H,0DFH,0FBH,0D0H,0FDH,0DFH
MOV DPTR,#QI
LCALL XSDF
MOV DPTR,#XI
LCALL XSDF
MOV DPTR,#KUAI
LCALL XSDF
MOV DPTR,#LE
LCALL XSDF
MOV DPTR,#XIANG
LCALL XSDF
MOV DPTR,#SHI
LCALL XSDF
MOV DPTR,#SAN
LCALL XSDF
MOV DPTR,#ZHOU
LCALL XSDF
MOV DPTR,#NIAN
LCALL XSDF
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
BXB:ANL A,#0FH ;此变位需倒位
MOV @R0,A
MOV A,3DH
RL A
RL A
RL A
RL A
ANL A,#0FH
MOV @R1,A
LCALL LF1
RET
;jiequ
MOV COM,#8Eh
MOV BYT,#1
MOV R0,#XMT
MOV XMT,#00h
LCALL XIE
MOV COM,#0BEh ;命令字节为BEh
MOV BYT,#8 ;多字节写入模式此模块为8 个
MOV R0,#Xmt; 数据地址覆给R0
MOV Xmt,#35h; 秒单元内容为59h
MOV XMT+1,#58h; 分单元内容为59h
MOV XMT+2,#23h; 时单元内容为13h
MOV XMT+3,#10h; 日期单元内容为21h
MOV XMT+4,#05h ;月单元内容为06h
MOV XMT+5,#03h; 星期单元内容为03h
MOV XMT+6,#8 ;年单元内容为00h
MOV XMT+7,#2 ;写保护单元内容为00h
LCALL XIE ; 调用写入数据子程序
CLR F0
HH:MOV P0,#0FFH
MOV P2,#0FFH
WZX:JB F0,JP
SK3:JB K3,HH ;检测按键K3
ACALL YS ;调用20ms延时消抖动
JB K3,HH ;如果K3为高电平,则是抖动
K3DD:JNB K3,K3DD ;等待K3按键释放
LCALL SX
LCALL BM
CPL F0
MOV COM,#80h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,#80H
LCALL XIE ; 调用写入数据子程序
JB F0,JP
MOV COM,#80h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,#00H
LCALL XIE ; 调用写入数据子程序
JNB F0,SK3
JP: LCALL XIANX
JB K1,SK2 ;检测按键K1
ACALL YY ;调用20ms延时消抖动
JB K1,SK2 ;如果K1为高电平,则是抖动
K1DD: JNB K1,K1DD ;等待K1按键释放
MOV COM,#82h ;命令字节为BEh
MOV BYT,#1 ;多字节写入模式此模块为8 个
MOV R0,#XMT; 数据地址覆给R0
MOV XMT,31H
LCALL XIE ; 调用写入数据子程序
AJMP JP
SK2: JB K2,SK3 ;检测按键K2
ACALL YY ;调用20ms延时消抖动
JB K2,SK3 ;如果K2为高电平,则是抖动
K2DD: JNB K2,K2DD ;等待K2按键释放
INC 45H
MOV A,45H
CJNE A,#10,VB3
MOV 45H,#00H
INC 44H
VB3:MOV A,44H
CJNE A,#03,VB4
MOV 44H,#00H
VB4:MOV A,44H
RL A
RL A
RL A
RL A
ADD A,45H
CJNE A,#36,TTV
CLR A
TTV:MOV 32H,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -