LCALL HMS_DIS NEXT24:CJNE A, #3, KEY2 MOV S22,#0 LCALL KEY_SJ LJMP KEY_MAIN KEY2:AJMP KEY_SJ DAY_P:SETB F0 LCALL T100MSD LCALL T100MSD MOV LEDDAY_PL, #0AH MOV LEDDAY_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL T100MSD LCALL PA_DIS LP1: JB S3, KEY11 MOV A, #1 DA A MOV NIGHT_PRICE,A CJNE A, #99H,KEY21 MOV NIGHT_PRICE,#0 KEY21:JB S4, KEY22 LCALL T10MSD JB S4, KEY22 MOV A, NIGHT_PRICE ADD A, #99H DA A MOV NIGHT_PRICE,A CJNE A, #00H, KEY22 MOV NIGHT_PRICE,#99H KEY22:JB S1, KEY23 ACALL T10MSD JB S1, KEY23 WAIT15:JNB S1, WAIT15 INC S11 MOV A, S11 CJNE A, #1, NEXT41 LCALL DAY_P NEXT41:CJNE A, #2,NEXT42 LCALL NIG_P NEXT42:CJNE A, #3,NEXT43 LCALL MID_P NEXT43:CJNE A, #4, KEY23 MOV S11, #0 简易出租车计价器设计
LCALL T100MSD MOV LEDNIG_PL, #0AH MOV LEDNIG_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL T100MSD LCALL PA_DIS JB S3, KEY21 LCALL T10MSD JB S3, KEY21 MOV A, #1 ADD A, NIGHT_PRICE MOV MIDWAY_PRICE, #00H CJNE A, #100, KEY31 MOV MIDWAY_PRICE, #0 KEY31: JB S4, KEY32 LCALL T10MSD JB S4, KEY32 MOV A, MIDWAY_PRICE ADD A, #99H DA A MOV MIDWAY_PRICE,A CJNE A, #00H, KEY32 MOV NIGHT_PRICE,#99H KEY32: JB S1, KEY33 ACALL T10MSD JB S1, KEY33 WAIT18: JNB S1, WAIT18 INC S11 MOV A, S11 CJNE A, #1, NEXT51 LCALL DAY_P NEXT51: CJNE A, #2,NEXT52 LCALL NIG_P NEXT52: CJNE A, #3,NEXT53 LCALL MID_P NEXT53: CJNE A, #4, KEY33 MOV S11, #0 LJMP KEY_DJ KEY33: JB S2, KEY34 LCALL T10MSD JB S2, KEY34 WAIT31:JNB S2, WAIT31 LJMP KEY_MAIN - 16 -
LJMP KEY_DJ KEY23:JB S2, KEY24 LCALL T10MSD JB S2, KEY24 WAIT30:JNB S2, WAIT30 LJMP KEY_MAIN KEY24: AJMP NIG_P MID_P: SETB F0 ;调用定时延时标志位 LCALL T100MSD MOV LEDW_PL, #0AH MOV LEDW_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL PA_DIS JB S3, KEY31 LCALL T10MSD JB S3, KEY31 MOV A, MIDWAY_PRICE ADD A, #1 DA A MOV MIDWAY_PRICE,A CJNE A, #99H, KEY31 MOV HOUR, #0 KEY41: JB S4, KEY42 MOV A, HOUR ADD A, #99H DA A MOV HOUR,A CJNE A, #99H, KEY42 MOV HOUR, #23H KEY42: JB S1, KEY43 ACALL T10MSD JB S1, KEY43 WAIT21: JNB S1, WAIT21 INC S11 MOV A, S11 CJNE A, #1,NEXT61 LJMP HOU_T NEXT61: CJNE A, #2,NEXT62 LJMP MIN_T NEXT62: CJNE A, #3,KEY43 MOV S11, #0 LJMP KEY_SJ KEY43: JB S2, KEY44 LCALL T10MSD 简易出租车计价器设计
KEY34: AJMP MID_P HOU_T: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD MOV LEDHL, #0AH MOV LEDHH, #0AH LCALL HMS_DIS1;直接调用显示,不经过拆分 LCALL T100MSD LCALL T100MSD MOV SEC, #0 LCALL HMS_DIS JB S3, KEY41 MOV A, HOUR ADD A, #1 DA A MOV HOUR,A CJNE A, #24H, KEY41 MOV MIN, #59H KEY52: JB S1, KEY53 ACALL T10MSD JB S1, KEY53 WAIT24: JNB S1, WAIT24 INC S11 MOV A, S11 CJNE A, #1,NEXT71 LCALL HOU_T NEXT71: CJNE A, #2,NEXT72 LCALL MIN_T NEXT72: CJNE A, #3,KEY53 SETB TR0 MOV S11, #0 LJMP KEY_SJ KEY53: JB S2, KEY54 LCALL T10MSD JB S2, KEY54 WAIT33: JNB S2, WAIT33 LJMP KEY_MAIN KEY54: AJMP MIN_T TOTIME: PUSH PSW PUSH ACC MOV TH0, #3CH MOV TL0, #0B0H INC MS100 MOV A, MS100 CJNE A, #10,RETURN - 17 -
JB S2, KEY44 WAIT32: JNB S2, WAIT32 LJMP KEY_MAIN KEY44: AJMP HOU_T MIN_T: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD MOV LEDML, #0AH MOV LEDMH, #0AH LCALL HMS_DIS1;直接调用显示,不经过拆分 LCALL T100MSD LCALL T100MSD MOV SEC, #0 LCALL HMS_DIS JB S3, KEY51 MOV A, MIN ADD A, #1 DA A MOV MIN, A CJNE A, #60H, KEY51 MOV MIN, #0 KEY51: JB S4, KEY52 MOV A, MIN ADD A, #99H DA A MOV MIN, A CJNE A, #99H, KEY52 TO: PUSH PSW PUSH ACC MOV A,#1 ADD A,M100 MOV M100,A MOV A, M100 CJNE A, #100,RETURN1 MOV M100,#0 INC 21H MOV A,21H CJNE A, #0AH, RETURN1 ;已经到了1公里 MOV 21H,#0 MOV A, #1 ADD A, DISTANCE DA A MOV DISTANCE,A MOV A, PRICE ADD A, COUNTL 简易出租车计价器设计
MOV MS100,#0 MOV A, SEC ADD A, #1 DA A MOV SEC,A CJNE A,#60H,RETURN MOV SEC,#0 MOV A, #1H ADD A, MIN DA A MOV MIN,A CJNE A,#60H, RETURN MOV MIN,#0 MOV A, #1H ADD A, HOUR DA A MOV HOUR,A CJNE A, #24H,RETURN MOV HOUR,#0 RETURN: POP ACC POP PSW RETI ADD A, COUNTL DA A MOV COUNTL,A CJNE A, #10H, RETURN2 MOV COUNTL, #0 MOV A, #1 ADD A, COUNTH DA A MOV COUNTH,A CJNE A, #99H,RETURN2 MOV COUNTH,#0 RETURN2: POP ACC POP PSW RETI HMS_DIS:PUSHACC PUSHPSW SETBRS1 MOV R0,#SEC ;时分秒的拆分(三个字节) MOV R1,#LEDSL MOV R6,#03H LOOP1:MOV A, @R0 MOV B, A ANL A, #0FH - 18 -
DA A MOV COUNTL,A CJNE A, #10H,RETURN1 MOV COUNTL,#0 MOV A, #1 ADD A, COUNTH DA A MOV COUNTH,A CJNE A, #99H, RETURN1 MOV COUNTH,#0 RETURN1: POP ACC POP PSW RETI TOSTART: PUSH PSW PUSH ACC MOV TH1, #3CH MOV TL1, #0B0H DJNZ 22H, RETURN2 ;1S未到返回 MOV 22H, #0AH MOV A, #1 ADD A, 23H DA A MOV 23H, A CJNE A, #60H, RETURN2 MOV 23H, #0 MOV A, #1 ADD A, 24H DA A MOV 24H,A CJNE A, #10H, RETURN2 MOV 24H, #0 MOV A, START_PRICE CP_DIS:PUSH ACC PUSH PSW SETB RS1 MOV R0,#COUNTH ; MOV R1,#LEDCOUNT2 MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA ANL A, #0FH 简易出租车计价器设计
MOV @R1,A DEC R1 MOV A, B SWAPA ANL A, #0FH MOV @R1,A DEC R1 DEC R0 DJNZR6,LOOP1 POP PSW POP ACC HMS_DIS1: PUSH ACC PUSH PSW MOV R7,#06H MOV R0,#LEDSL LOOP: MOVA, @R0 MOVDPTR,#TAB MOVCA,@A+DPTR MOV SBUF,A BK: JBCTI,NEXT SJMPBK NEXT: DECR0 DJNZR7,LOOP CLRRS1 POPPSW POPACC RET MOV @R1,A DEC R1 MOV A,LEDDANJIAL ;送单价低位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI MOV A, LEDDANJIAH ;送单价高位 MOV DPTR,#TAB MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI POP PSW POP ACC RET - 19 -
MOV @R1,A MOV LEDCOUNT1,COUNTL MOV A,LEDCOUNT1 ;送总金额低位 MOV DPTR,#TAB MOVC A, @A+DPTR MOV SBUF,A JNB TI,$ CLR TI MOV A,LEDCOUNT2 ;送总金额中位 MOV DPTR,#TAB MOVC A,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI, $ CLR TI MOV A,LEDCOUNT3 ;送总金额高位 MOV DPTR,#TAB MOVC A,@A+DPTR MOVSBUF,A JNB TI,$ CLR TI CLR RS1 MOV SBUF,#0FEH ;送短线(短线的字型码是0FEH) JNB TI, $ CLR TI MOV R0,#PRICE;单价拆分(两个字节) MOV R1,#LEDDANJIAL MOV R6,#03H MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA ANL A, #0FH JNB TI,$ CLR TI MOV R0,#DISTANCE MOV R1,#LEDDISTANCEL MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A 简易出租车计价器设计
DP_DIS:PUSH ACC PUSH PSW SETB RS1 MOV R0,#PRICE ;单价的拆分(一个字节) MOV R1,#LEDDANJIAL MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA ANL A, #0FH MOV @R1,A DEC R1 MOV A,LEDDANJIAL ;送单价低位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI MOV A,LEDDANJIAH ;送单价高位 MOV DPTR,#TAB MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI MOV SBUF,#0FEH ; JNB TI, $ CLR TI MOV SBUF,#0FEH ;送短线 PUSH PSW MOV A,LEDDAY_PL ;白天单价 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI MOV A, LEDDAY_PH MOV DPTR,#TAB MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ - 20 -