BJ5:
CJNE A,#57H,BJ6 MOV R1,#1CH MOV R0,#10H LCALL BJ00 RET BJ6:
CJNE A,#59H,BJ7 MOV R1,#1DH
MOV R0,#10H LCALL BJ00 RET BJ7:
LJMP BIJIAO
;========================= BJ00: ;是的 MOV R5,#08H BJ001:
MOVX A,@R1 CJNE A,#60H,BJ01 BJ003: MOV A,R1 ADD A,#10H MOV R1,A MOV A,R0 ADD A,#10H MOV R0,A DJNZ R5,BJ001 RET
BJ01:
LCALL BJBRAL INC R0 INC R0 INC R0
;第一组的星期一\\开了吗?
;调比较程序
INC R0
LCALL BJBRAR ;调比较程序 DEC R0 DEC R0 DEC R0 DEC R0 LJMP BJ003
;----------子程序------------- BJBRAL:
PUSH 00H MOVX A,@R0
CJNE A,RR7,BJRALRET ;RAL0=RR7?,不等返回 INC R0
MOVX A,@R0
CJNE A,RR6,BJRALRET ;RAL1=RR6?,不等返回 INC R0
MOVX A,@R0
CJNE A,RR5,BJRALRET
;RAL2=RR5?,不等返回
INC R0
MOVX A,@R0
CJNE A,RR4,BJRALRET ;RAL3=RR4?,不等返回 CLR P2.5 ;-----完全相等---开闹 SETB P2.6 ;-----完全相等---开闹
LJMP BJRALRET BJBRAR: PUSH 00H MOVX A,@R0
CJNE A,RR7,BJRALRET ;RAL0=RR7?,不等返回 INC R0
MOVX A,@R0
CJNE A,RR6,BJRALRET ;RAL1=RR6?,不等返回 INC R0
MOVX A,@R0
CJNE A,RR5,BJRALRET ;RAL2=RR5?,不等返回 INC R0
MOVX A,@R0
CJNE A,RR4,BJRALRET ;RAL3=RR4?,不等返回 SETB P2.5 CLR P2.6
;-----完全相等---关闹 ;-----完全相等---关闹
BJRALRET: POP 00H RET
;======================================== ;=======键盘======================== JP0:
SETB P3.4 SETB P3.5 SETB P3.6 SETB P3.7 JP:
JNB P3.4,JP1 ;TEST第一次检查 JNB P3.5,JP2 ;ALTEST第一次检查 JNB P3.6,SNOOZE RET ;返回MAIN JP1: ;TEST第二次检查 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.4,JP1 LJMP TESET JP2: ;ALTEST第二次检查 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.5,JP2 LJMP ALSET
SNOOZE: ;ALTEST第二次检查 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.5,SNOOZE SETB P2.5 CLR P2.6 RET
;-------TEST处理地址--------------- TESET: ;TEST处理地址 LCALL SHIJIAN ;显示时间
JNB P3.4,TESET TESET1:
MOV R3,#70H ;选定 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.5,XQ0 ;转星期? JNB P3.6,HR0 ;转时 JNB P3.7,MIN0 ;转分 JNB P3.4,TESETO ;转返回 LJMP TESET1 ;重复检查 XQ0: ;星期?二次检查 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.5,XQ0 LJMP XQ HR0: ;时二次检查 LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.6,HR LJMP TESET1 MIN0: ;分二次检查
LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.7,MIN LJMP TESET1 TESETO:
;返回二次检查
MOV R3,#00H
LCALL SHIJIAN ;显示时间 LCALL XPX ;显示星期几 JNB P3.4,TESETO LJMP RES XQ: ;星期?处理程序 INC RR8 INC RR8
LCALL XQCJM
LJMP TESET1 HR: ;时处理程序 INC RR6 INC RR6
LCALL HRCJM LJMP TESET1 MIN: ;分处理程序 INC RR4 INC RR4
LCALL MINCJM LJMP TESET1
RES:
MOV R3,#00H ;取消选定 RET ;返回MAIN
;------ALTEST处理地址--------------- ALSET: ;ALTEST处理地址 LCALL SHIJIAN LCALL XPX
JNB P3.5,ALSET ALSET1:
MOV R3,#00H LCALL SHIJIAN LCALL XPX MOV R3,#70H MOV 05H,#70H LCALL XRXS
LCALL DINGSHISHU LCALL DINGSHIZU
JNB P3.5,ALSETO
JNB P3.4,ALSETRRLL00 JNB P3.6,XQZURRLL LJMP ALSET1 XQZURRLL:
LJMP XQZURRLL00
ALSETO: ;返回二次检查