ORG 0000H LJMP MAIN ORG 0030H MAIN: SETB EA SETB TI MOV P2,#00H MOV A,#01H LCALL XIANSHI LJMP OPEN1 OPEN1:LCALL TK CLR P2.7 CLR 31H LCALL KEY LCALL ASK2 MOV C,56H ORL C,52H ORL C,53H ORL C,54H ORL C,55H ORL C,42H ORL C,43H ORL C,44H ORL C,45H JNC OPEN1 LCALL YANSHIGS CLR 28H LCALL ASK1 LJMP OPEN1 OPEN2:JB 28H,X2 LCALL KEY LCALL ASK2 MOV C,54H ORL C,55H ORL C,44H ORL C,45H ORL C,56H ORL C,53H ORL C,43H ORL C,42H JNC X2 S2: LCALL KEY LCALL ASK2 JNB 42H,TIAO CLR P2.5 CLR 32H LCALL TK CLR 28H LCALL KEY LCALL ASK2 MOV C,54H ORL C,55H ORL C,44H ORL C,45H ORL C,56H ORL C,53H ORL C,43H JNC X2 LCALL YANSHIGS CLR 28H TIAO: LCALL ASK1 LJMP OPEN2 X2: LCALL KEY LCALL ASK2 MOV C,52H ORL C,41H JNC S2 JNB 52H,TIAO CLR P2.6 CLR 32H LCALL TK SETB 28H LCALL KEY LCALL ASK2 JNB 41H,S2 LCALL YANSHIGX SETB 28H LJMP TIAO OPEN3:JB 28H,X3 LCALL KEY LCALL ASK2 MOV C,54H ORL C,43H ORL C,55H ORL C,44H ORL C,45H ORL C,56H JNC X3 S3: LCALL KEY LCALL ASK2 JNB 43H,TIAO3 CLR P2.3 CLR 33H LCALL TK CLR 28H LCALL KEY LCALL ASK2 MOV C,54H ORL C,55H ORL C,44H ORL C,45H ORL C,56H JNC X3 LCALL YANSHIGS CLR 28H TIAO3:LCALL ASK1 LJMP OPEN3 X3: LCALL KEY LCALL ASK2 MOV C,42H ORL C,52H ORL C,53H ORL C,41H JNC S3 JNB 53H,TIAO3 CLR P2.4 CLR 33H LCALL TK SETB 28H LCALL KEY LCALL ASK2 MOV C,42H ORL C,52H ORL C,41H JNC S3 LCALL YANSHIGX SETB 28H LJMP TIAO3 OPEN4:JB 28H,X4 LCALL KEY LCALL ASK2 MOV C,44H ORL C,45H ORL C,55H ORL C,56H JNC X4 S4: LCALL KEY LCALL ASK2 JNB 44H,TIAO4 CLR P2.1 CLR 34H LCALL TK CLR 28H LCALL KEY LCALL ASK2 MOV C,45H ORL C,55H ORL C,56H JNC X4 LCALL YANSHIGS CLR 28H TIAO4: LCALL ASK1 LJMP OPEN4 X4: LCALL KEY LCALL ASK2 MOV C,41H ORL C,42H ORL C,43H ORL C,52H ORL C,53H ORL C,54H JNC S4 JNB 54H,TIAO4 CLR P2.2 CLR 34H LCALL TK SETB 28H LCALL KEY LCALL ASK2 MOV C,41H ORL C,42H ORL C,43H ORL C,52H ORL C,53H JNC S4 LCALL YANSHIGX SETB 28H LJMP TIAO4 OPEN5:JB 28H,X5 LCALL KEY LCALL ASK2 MOV C,45H ORL C,56H JNC X5 S5: LCALL KEY LCALL ASK2 JNB 45H,TIAO5 SETB P3.4 CLR 35H LCALL TK CLR 28H LCALL KEY LCALL ASK2 JNB 56H,X5 LCALL YANSHIGS CLR 28H TIAO5:LCALL ASK1 LJMP OPEN5 X5: LCALL KEY LCALL ASK2 MOV C,41H ORL C,42H ORL C,43H ORL C,44H ORL C,52H ORL C,53H ORL C,54H ORL C,55H JNC S5 JNB 54H,TIAO5 CLR P2.2 CLR 34H LCALL TK SETB 28H LCALL KEY LCALL ASK2 MOV C,41H ORL C,42H ORL C,43H ORL C,44H ORL C,52H ORL C,53H ORL C,54H JNC S5 LCALL YANSHIGX SETB 28H LJMP TIAO5 OPEN6:LCALL TK SETB P3.5 CLR 36H SETB 28H LCALL KEY LCALL ASK2 MOV C,41H ORL C,52H ORL C,53H ORL C,54H ORL C,55H ORL C,42H ORL C,43H ORL C,44H ORL C,45H JNC OPEN6 LCALL YANSHIGX SETB 28H LCALL ASK1 LJMP OPEN6 ASK1:JB P1.5,L2 MOV A,#01H LCALL XIANSHI LJMP OPEN1 L2: JB P1.4,L3 MOV A,#02H LCALL XIANSHI LJMP OPEN2 L3: JB P1.3,L4 MOV A,#03H LCALL XIANSHI LJMP OPEN3 L4: JB P1.2,L5 MOV A,#04H LCALL XIANSHI LJMP OPEN4 L5: JB P1.1,L6 MOV A,#05H LCALL XIANSHI LJMP OPEN5 L6: JB P1.0,FH MOV A,#06H LCALL XIANSHI LJMP OPEN6 FH: RET KEY:MOV P1,#0F0H MOV R7,#0FFH KEY1:DJNZ R7,KEY1 MOV A,P1 CPL A ANL A,#0F0H JZ EKEY SKEY:MOV A,#00H MOV R0,A MOV R1,A MOV R3,#0FEH SKEY2:MOV A,R3 MOV P1,A NOP NOP NOP MOV A,P1 MOV R1,A CPL A ANL A,#0F0H S123: JNZ SKEY3 INC R0 SETB C MOV A,R3 RLC A MOV R3,A MOV A,R0 CJNE A,#04H,SKEY2 EKEY: RET SKEY3:MOV A,R1 JNB ACC.4,SKEY5 JNB ACC.5,SKEY6 JNB ACC.6,SKEY7 JNB ACC.7,SKEY8 LJMP EKEY SKEY5:MOV A,#00H MOV R2,A LJMP DKEY SKEY6:MOV A,#01H MOV R2,A AJMP DKEY SKEY7:MOV A,#02H MOV R2,A LJMP DKEY SKEY8:MOV A,#03H MOV R2,A LJMP DKEY DKEY: MOV A,R0 ACALL DECODE LJMP EKEY DECODE:MOV A,R0 MOV B,#04H MUL AB ADD A,R2 ASK2:CJNE A,#0FH,C2 SETB 31H C2:CJNE A,#0EH,C3 SETB 32H C3:CJNE A,#0DH,C4 SETB 33H C4:CJNE A,#0CH,C5 SETB 34H C5:CJNE A,#0BH,C6 SETB 35H C6:CJNE A,#0AH,D6 SETB 36H D6:CJNE A,#08H,D5 CLR P3.5 D5:CJNE A,#00H,D4 SETB P2.0 D4:CJNE A,#01H,D3 SETB P2.2 D3:CJNE A,#02H,D2 SETB P2.4 D2:CJNE A,#03H,U5 SETB P2.6 U5:CJNE A,#00H,U4 CLR P3.4 U4:CJNE A,#01H,U3 SETB P2.1 U3:CJNE A,#02H,U2 SETB P2.3 U2:CJNE A,#03H,U1 SETB P2.5 U1:CJNE A,#09H,HEBING SETB P2.7 HEBING: MOV C,P2.7 ORL C,31H MOV 41H,C MOV C,P2.5 ORL C,32H MOV 42H,C MOV C,P2.3 ORL C,33H MOV 43H,C MOV C,P2.1 ORL C,34H MOV 44H,C MOV C,35H ORL C,/P3.4 MOV 45H,C MOV C,32H ORL C,P2.6 MOV 52H,C MOV C,33H ORL C,P2.4 MOV 53H,C MOV C,34H ORL C,P2.2 MOV 54H,C MOV C,35H ORL C,P2.0 MOV 55H,C MOV C,36H ORL C,/P3.5 MOV 56H,C RET TK:SETB P3.3 SETB P3.2 CLR P1.6 SETB P1.7 RET YANSHIGS: MOV B,#64H TIME1:MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 JNB TF0,$ DJNZ B,TIME1 CLR TF0 CLR TR0 CLR P1.7 SETB P1.6 CLR P3.3 RET YANSHIGX:MOV B,#64H TIME2:SETB TR0 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH CLR TF0 JNB TF0,$ DJNZ 60H,TIME2 CLR TR0 CLR P1.7 SETB P1.6 CLR P3.2 RET XIANSHI:MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI RETI TAB:DB EEH,28H,0CDH,6DH,2BH,67H,0E7H END
|