ARM_SWIT:
;闹铃开关
CPL ARM SETB P1.2
JNB P3.3,$ RET
STOP_WATCH:
;秒表暂停
CPL STOP
JNB P3.3,$
RET
K3: MOV TEMP,P3 LCALL D10ms MOV A,P3 CJNE A,TEMP,K3
LCALL RING
MOV A,MODE_REG CJNE A,#0,K31
LJMP HM_MS
K31:CJNE A,#5,K32 LJMP RST K32:RET
HM_MS:
CPL CHANGE JNB P3.4,$
RET
RST:MOV XS_MEM,#0 MOV TS_MEM,#0 JNB P3.4,$
RET
;显示切换
;秒表复位
K4: MOV TEMP,P3
LCALL D10ms MOV A,P3 CJNE A,TEMP,K4 LCALL RING
;(时分秒加1)
MOV A,MODE_REG CJNE A,#0,K41
LCALL CONVERT_BCD RET
K41:CJNE A,#1,K42 LJMP H_INC
K42:CJNE A,#2,K43
H_INC: INC
H_MEM
LJMP M_INC K43:CJNE A,#3,K44 LJMP H1_INC K44:LJMP M1_INC
MOV A,H_MEM
CJNE A,#24,H_INC1 MOV H_MEM,#0
CONVERT_BCD
H_INC1: LCALL
M_INC: INC
JNB P3.5,H_INC1 RET
M_MEM
MOV A,M_MEM
CJNE A,#60,M_INC1 MOV M_MEM,#0
CONVERT_BCD
M_INC1: LCALL
JNB P3.5,M_INC1 RET
H1_INC: INC H_ARM
MOV A,H_ARM
CJNE A,#24,H1_INC1 MOV H_ARM,#0
CONVERT_BCD
H1_INC1:LCALL M1_INC:
INC
JNB P3.5,H1_INC1 RET
M_ARM
MOV A,M_ARM
CJNE A,#60,M1_INC1 MOV M_ARM,#0
M1_INC1:LCALL CONVERT_BCD
K5: MOV TEMP,P3
LCALL D10ms MOV A,P3 CJNE A,TEMP,K5 LCALL RING
JNB P3.5,M1_INC1 RET
MOV A,MODE_REG CJNE A,#0,K51
LCALL CONVERT_BCD RET
K51:CJNE A,#1,K52 LJMP H_DEC
K52:CJNE A,#2,K53
LJMP M_DEC K53:CJNE A,#3,K54 LJMP H1_DEC K54:LJMP M1_DEC
H_DEC: DEC H_MEM
MOV A,H_MEM
CJNE A,#0FFH,H_DEC1 MOV H_MEM,#23
CONVERT_BCD
H_DEC1: LCALL
M_DEC:DEC
JNB P3.6,H_DEC1 RET
M_MEM
MOV A,M_MEM
CJNE A,#0FFH,M_DEC1 MOV M_MEM,#59
M_DEC1: LCALL CONVERT_BCD JNB P3.6,M_DEC1
H1_DEC: DEC
H_ARM
RET
MOV A,H_ARM
CJNE A,#0FFH,H1_DEC1 MOV H_ARM,#23
H1_DEC1: LCALL CONVERT_BCD
M1_DEC:DEC
M_ARM
JNB P3.6,H1_DEC1 RET
MOV A,M_ARM
CJNE A,#0FFH,M1_DEC1 MOV M_ARM,#59
M1_DEC1:LCALL CONVERT_BCD JNB P3.6,M1_DEC1
;---------------指示灯程序------------ LED:
JNB ARM,OFF
RET
CLR P0.7
LJMP MODE_LED
OFF:SETB P0.7
MODE_LED:
MOV A,MODE_REG CJNE A,#0,LEDA
ORL P0,#03FH CLR P0.0 RET
LEDA:CJNE A,#1,LEDB ORL P0,#03FH CLR P0.1
RET
LEDB:CJNE A,#2,LEDC ORL P0,#03FH
CLR P0.2 RET
LEDC:CJNE A,#3,LEDD ORL P0,#03FH
CLR P0.3 RET
LEDD:CJNE A,#4,LEDE