MOV A,33H XRL A,43H JNZ TO-END MOV A,32H XRL A,42H JNZ TO-END MOV A,31H XRL A,41H JNZ TO-END MOV A,30H XRL A,40H JNZ TO-END SETB F0 SETB P1.7 TO-END:POP A RET
******************************************************* 存时间与闹钟
******************************************************* WORD11:MOV R5,#00H INC R5
CJNE R5,#05H,RET11 MOV R5,#00H RET11:LJMP JZKEY WORD10:MOV R5,#00H INC R5
CJNE R5,#05H,RET10 MOV R5,#00H RET10:LJMP JZKEY
WORD9:CJNE R5,#01H,RET9 ACALL GEWEI RET9:RET
WORD8:CJNE R5,#01H,RET8 ACALL GEWEI RET8:RET
WORD7:CJNE R5,#01H,RET7 ACALL GEWEI RET7:RET
WORD6:CJNE R5,#01H,RET6 ACALL GEWEI RET6:RET
WORD5:CJNE R5,#01H,RR5 ACALL GEWEI LJMP RET5
RR5:CJNE R5,#02H,RET5 ACALL SHIWEI RET5:RET
WORD4:CJNE R5,#01H,RR4 ACALL GEWEI LJMP RET4
RR4:CJNE R5,#02H,RRR4 ACALL SHIWEI LJMP RET4
RRR4:CJNE R5,#03H,RET4 ACALL BAIWEI RET4:RET
WORD3:CJNE R5,#01H,RR3 ACALL GEWEI LJMP RET3
RR3:CJNE R5,#02H,RRR3 ACALL SHIWEI LJMP RET3
RRR3:CJNE R5,#03H,RET3
27
ACALL BAIWEI RET3:RET
WORD2:CJNE R5,#01H,RR2 ACALL GEWEI LJMP RET2
RR2:CJNE R5,#02H,RRR2 ACALL SHIWEI LJMP RET2
RRR2:CJNE R5,#03H,RET2 ACALL BAIWEI RET2:RET
WORD1:CJNE R5,#01H,RR1 ACALL GEWEI LJMP RET1
CJNE R5,#02,RRR1 ACALL SHIWEI LJMP RET1
CJNE R5,#03,RRRR1 ACALL BAIWEI LJMP RET1 RRRR1:ACALL QIANWEI RET1:RET
GEWEI:MOV A,B XOR A,#0AH JZ CLK9 MOV R0,#30H MOV @R0,R2 LJMP RETG CLK9:MOV R0,#40H MOV @R0,#R2 RETG:RET
SHIWEI:MOV A,B XOR A,#0AH JZ CLK5 MOV R0,#31H MOV @R0,R2 LJMP RETS CLK5:MOV R0,#41H MOV @R0,#R2 RETS:RET
BAIWEI:MOV A,B XOR A,#0AH JZ CLK6 MOV R0,#32H MOV @R0,R2 LJMP RETH CLK6:MOV R0,#42H MOV @R0,#R2 RETH:RET
QIANWEI:MOV A,B XOR A,#0AH JZ CLK7 MOV R0,#33H MOV @R0,R2 LCALL WRTC LJMP RETK CLK7:MOV R0,#43H MOV @R0,#R2 RETK:RET
****************************************** 代码显示程序
****************************************** DISPLAY2:ACALL DELAY
28
PUSH A
MOV R3,#01H MOV R0,#3EH MOV A,R3 SWAP A LOOP-COD:CLR C OR A,@RO MOV P1,A INC R0 MOV A,R3 SWAP A RLC A
JC LOOP-COD POP A RET
**************************************** 键盘扫描
***************************************** JZKEY:MOV P1,#70H MOV A,P1 CPL A
ANL A,#0E0H MOV R2,A JZ JZKEY MOV P1,#0FH MOV A,P1 CPL A
ANL A,#0FH MOV R3,A JZ JZKEY LCALL DELAY WAIT:MOV A,P1 CLP P
ANL A,#8FH JNZ WAIT MOV A,R2 MOV R2,#02H MOV R4,#03H CLR C RLC A KEY1:RLC A JC KEY2 DEC R2
DJNZ R4,KEY1 LJMP JZKEY KEY2:MOV A,R3 MOV R3,#00H MOV R4,#04H CLR C KEY3:RRC A JC KEY4 INC R3
DJNZ R4,KEY3 KEY4:MOV A,R3 CLR C RLC RLC
ADD A,R2 MOV B,A MOV R2,A XRL A,#0AH JZ KEY5 MOV R2,A
29
MOV B,A XRL A,#0BH JZ KEY6 MOV R2,A XRL A,#09 JZ NUM9 MOV R2,A XRL A,#08 JZ NUM8 MOV R2,A XRL A,#07 JZ NUM7 MOV R2,A XRL A,#06 JZ NUM6 MOV R2,A XRL A,#05 JZ NUM5 MOV R2,A XRL A,#04 JZ NUM4 MOV R2,A XRL A,#03 JZ NUM3 MOV R2,A XRL A,#02 JZ NUM2 MOV R2,A XRL A,#01 JZ NUM1 MOV R2,A XRL A,#00 JZ NUM0
KEY5:MOV R1,#00H MOV R5,#10H ACALL DELAY DJNZ R5,KEY5 JNB P1.6,RIN0
RINO:CJNE R2,#10,KE5RET MOV A,R1 CPL A MOV R1,A SETB F0
LJMP WORD10 KE5RET:LJMP JZKEYD JZKEYD:RET KET6:SETB F0
LJMP WORD11 LJMP JZKEYD NUM0:JBC F0,WORD0 LJMP JZKEYD NUM1:JBC F0,WORD1 LJMP JZKEYD NUM2:JBC F0,WORD2 LJMP JZKEYD NUM3:JBC F0,WORD3 LJMP JZKEYD NUM4:JBC F0,WORD4 LJMP JZKEYD NUM5:JBC F0,WORD5 LJMP JZKEYD NUM6:JBC F0,WORD6 LJMP JZKEYD
30
NUM7:JBC F0,WORD7 LJMP JZKEYD NUM8:JBC F0,WORD8 LJMP JZKEYD NUM9:JBC F0,WORD9 LJMP JZKEYD
DELAY:MOV R7,#18H;延时10ms TM:MOV R6,#FFH TM6:DJNZ R6,TM6 DJNZ R7,TM RET
***************************************** 时钟数据读取
***************************************** TRALD:MOV R3,#03H LCALL RDRTC RDRTC:CLR CE NOP
CLR SCLK NOP
SETB CE NOP
MOV A,#BFH MOV R2,#8 RDRTC0:CLR SCLK RRC A
MOV P2.1,A NOP
SETB SCLK
DJNZ R2,RDRTC0 MOV R0,#2EH RDRTC1:MOV R2,#8 RDRTC2:CLR SCLK NOP
MOV C,P2.1 RRC A
SETB SCLK
DJNZ R2,RDRTC2 MOV @R0,A INC R0
DJNZ R3,RDRTC1 CLR CE RET
******************************************* 时钟写入
******************************************* WRTC:CLR CE NOP
CLR SCLK NOP
SETB CE NOP
MOV A,#0BEH MOV R2,#8 WRTC0:CLR SCLK RRC A
MOV P2.1,C NOP
SETB SCLK DJNZ R2,WRTC0 MOV R0,#3EH MOV R3,#7 WRTC1:MOV A,@R0
31