K001: CALL TIME_DELAY ;校时 JNB K3,K001 ;K3为位移键 K010:
CALL CHULI JNB 0AH,KH01
MOV 54H,7FH ;送入熄灭符 MOV 55H,7FH JMP KH02
KH01: MOV 54H,74H ;送实时值 MOV 55H,75H ;送实时值 KH02: MOV R0,#TIME_DATA CALL DISP
MOV R0,#TIME_DATA CALL TIME_DISPLAY JNB K1,K011A JNB K2,K011B JNB K3,K002 JMP K010 K011A: MOV A,42H ADD A,#01H DA A
MOV 42H,A XRL A,#24H JNZ K012A MOV 42H,#00H
K012A: MOV R1,#84H ;写时寄存器 MOV R0,42H LCALL WRITE CALL TIME_DELAY JMP K010
K011B: MOV A,42H XRL A,#00H JZ K012B
SETB C ;求补运算 CLR A
ADDC A,#99H ;加99 SUBB A,#01H ;减去减数 ADD A,42H ;加被减数 DA A ;十进制调整 MOV 42H,A ;
XRL A,#00H JNZ K012C
K012B: MOV 42H,#23H
K012C: MOV R1,#84H ;写时寄存器 MOV R0,42H LCALL WRITE CALL TIME_DELAY JMP K010
;------------------------------------------------- K002: CALL TIME_DELAY ;校分 JNB K3,K002 ;K3为位移键
K020: CALL CHULI JNB 0AH,KM01
MOV 52H,7FH ;送入熄灭符 MOV 53H,7FH JMP KM02
KM01: MOV 52H,72H ;送实时值 MOV 53H,73H ;送实时值 KM02: MOV R0,#TIME_DATA CALL DISP
MOV R0,#TIME_DATA CALL TIME_DISPLAY
JNB K1,K021A JNB K2,K021B JNB K3,K003 JMP K020
K021A: MOV A,41H ADD A,#01H DA A
MOV 41H,A XRL A,#60H JNZ K022A MOV 41H,#00H
K022A: MOV R1,#82H ;写分寄存器 MOV R0,41H LCALL WRITE CALL TIME_DELAY JMP K020
;--------------------------------------------------- K021B: MOV A,41H XRL A,#00H JZ K022B
SETB C ;求补运算 CLR A
ADDC A,#99H ;加99 SUBB A,#01H ;减去减数 ADD A,41H ;加被减数 DA A ;十进制调整 MOV 41H,A ; XRL A,#00H JNZ K022C
K022B: MOV 41H,#59H
K022C: MOV R1,#82H ;写分寄存器 MOV R0,41H LCALL WRITE CALL TIME_DELAY JMP K020
;--------------------------------------------------- K003: CALL DATE_DELAY ;校日 JNB K3,K003 ;K3为位移键
K030: CALL CHULI JNB 0AH,KR01
MOV 60H,7FH ;送入熄灭符 MOV 61H,7FH JMP KR02
KR01: MOV 60H,76H ;送实时值 MOV 61H,77H ;送实时值 KR02: MOV R0,#DATE_DATA CALL DISP
MOV R0,#DATE_DATA CALL TIME_DISPLAY JNB K1,K031A JNB K2,K031B JNB K3,K004 JMP K030 K031A: MOV A,43H ADD A,#01H
DA A
MOV 43H,A XRL A,#32H JNZ K032A MOV 43H,#00H
K032A: MOV R1,#86H ;写日寄存器 MOV R0,43H LCALL WRITE CALL DATE_DELAY JMP K030
K031B: MOV A,43H XRL A,#00H JZ K032B
SETB C ;求补运算 CLR A
ADDC A,#99H ;加99 SUBB A,#01H ;减去减数 ADD A,43H ;加被减数 DA A ;十进制调整 MOV 43H,A XRL A,#00H JNZ K032C
K032B: MOV 43H,#31H
K032C: MOV R1,#86H ;写日寄存器 MOV R0,43H LCALL WRITE CALL DATE_DELAY JMP K030
;------------------------------------------------ K004: CALL DATE_DELAY ;校月 JNB K3,K004 ;K3为位移键
K040: CALL CHULI JNB 0AH,KC01
MOV 62H,7FH ;送入熄灭符 MOV 63H,7FH JMP KC02
KC01: MOV 62H,78H ;送实时值 MOV 63H,79H ;送实时值 KC02: MOV R0,#DATE_DATA
CALL DISP
MOV R0,#DATE_DATA CALL TIME_DISPLAY JNB K1,K041A JNB K2,K041B JNB K3,K005 JMP K040 K041A: MOV A,44H ADD A,#01H DA A
MOV 44H,A XRL A,#13H JNZ K042A MOV 44H,#00H
K042A: MOV R1,#88H ;写月寄存器 MOV R0,44H LCALL WRITE CALL DATE_DELAY JMP K040
K041B: MOV A,44H XRL A,#00H JZ K042B
SETB C ;求补运算 CLR A
ADDC A,#99H ;加99 SUBB A,#01H ;减去减数 ADD A,44H ;加被减数 DA A ;十进制调整 MOV 44H,A ; XRL A,#00H JNZ K042C
K042B: MOV 44H,#12H
K042C: MOV R1,#88H ;写月寄存器 MOV R0,44H LCALL WRITE CALL DATE_DELAY JMP K040
;----------------------------------------------- K005: CALL DATE_DELAY ;校年 JNB K3,K005 ;K3为位移键