⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 出租车计价器程序.txt

📁 本题目是设计多功能出租车计价器。具体要求如下: (1)自动记录(日、夜)单价、总额、里程、耗时、实时时钟。 (2)多位八段数码管分屏显示(日、夜)单价、总额、里程、耗时、实时时钟 (3)自动
💻 TXT
字号:
出租车计价器程序 
[ 2005-7-18 20:22:40 | By: 星宇 ] 
  
ORG 0000H

          Z8279 EQU 0FF82H
          D8279 EQU 0FF80H

INII8279: MOV DPTR,#Z8279
          MOV A, #0D1H
          MOVX @DPTR,A
WAIT:     MOVX  A, @DPTR
          JB   ACC.7, WAIT
      MOV A,#00H   
      MOVX @DPTR,A
      MOV A,#2AH
      MOVX @DPTR,A                                 8279初始化;

    
      MOV A,#00H
 
      PUSH PSW
      PUSH DPH
      PUSH DPL
      PUSH ACC
KK:   MOV DPTR,#Z8279
      MOVX A,@DPTR
      ANL A,#07H
      JNZ READ
      MOV A,#00H
      SJMP KK         是否有键按下;
                
READ: MOV A,#40H
      MOVX @DPTR,A
      MOV DPTR,#D8279
      MOVX A,@DPTR

      CJNE A,#0EH,KK       是否是开车键0E


   
      POP ACC
      POP DPL
      POP DPH
      POP PSW
      MOV R4,#00H
AG:   MOV A,#00H        再次启动
 
    
TT:
      
        MOV R6,#8
        DL3: MOV R7,#200
DL2:  MOV R5,#250
DL1: NOP
  
        DJNZ R5,DL1        
        DJNZ R7,DL2 
        DJNZ R6,DL3        产生一个延时
        ADD A,#01H        路程自动加一

        PUSH ACC
        MOV DPTR,#Z8279                    
 MOVX A,@DPTR
 ANL A,#07H
 JNZ READ1
       SJMP GO1
READ1:MOV A,#40H
      MOVX @DPTR,A
      MOV DPTR,#D8279
      MOVX A,@DPTR
      CJNE A,#0FH,GO1       是否是停车键0F
      LJMP OVER

GO1:
      POP ACC
PUSH  ACC
PUSH  ACC
      MOV B,#100
      DIV AB
      MOV 76H,A
      MOV A,#10
      XCH A,B
      DIV AB        数值转换为非压缩BCD码
  
      MOV 74H,B
      MOV 75H,A
      MOV 77H,#00H
POP   ACC 
      CJNE  A,#2,LL
LL:   JC L2

      SUBB A,#2 
      MOV B,#2
      MUL AB
      ADD A,#5
      MOV R3,A
      AJMP L4
L2:   MOV A,#5        有路程算出票价


L4:   MOV B,#100
      DIV AB
      MOV 72H,A
      MOV A,#10
      XCH A,B        数值转换为非压缩BCD码
      DIV AB

      MOV 70H,B
      MOV 71H,A
      MOV 73H,#0

 
DISLED: PUSH DPH       显示
        PUSH DPL

        MOV DPTR, #Z8279
        MOV A,#90H
        MOVX @DPTR,A
        MOV R0,#70H
        MOV R7,#08H  
        MOV DPTR,#D8279
DL0:    MOV A,@R0
        ADD A,#0CH
        MOVC A,@A+PC
        MOVX @DPTR,A
        INC R0
        DJNZ R7,DL0
        POP DPL
        POP DPH
        POP ACC

        AJMP TT                                             
LEDSEG:DB 3FH,06H,5BH,4FH,66H,6DH
       DB 7DH,07H,7FH,6FH,77H,7CH
       DB 39H,5EH,79H,71H
OVER:  
               如果停车把路程和票价以压          缩的BCD码保存起来
        MOV R1,#70H       
 MOV R0,#60H

BC: MOV A,R0
 MOV R3,#4
        ADD A,R4
 MOV R0,A

       
TOG1: 
 MOV B,@R1
        ANL B,#0FH
        INC R1
 MOV A,@R1
 ANL A,#0FH
 SWAP A
        ORL A,B
 
        MOV @R0,A
 INC R1
 INC R0
 DJNZ R3,TOG1
 INC R4
 INC R4
 INC R4
 INC R4

WAIT1: 
        MOV DPTR,#Z8279
 MOVX A,@DPTR
 ANL A,#07H
 JNZ READ2     
        SJMP GO2
READ2:  MOV A,#40H
        MOVX @DPTR,A
        MOV DPTR,#D8279
        MOVX A,@DPTR
        CJNE A,#0EH,GO2       等待再次拉客
        LJMP AG        等待是否回放
GO2:    CJNE A,#07H,WAIT1
        AJMP HFF
 
HFF: MOV R0,#60H
HF1: MOV R4,#4
 MOV R1,#70H
HF:
   
 MOV A,R0
 MOV A @R0
 MOV B,@R0
        ANL A,#0FH
 MOV @R1,A
 ANL B,#0F0H
 MOV A,B
 SWAP A
 INC R1
 MOV @R1 A
 INC R0
 INC R1
       DJNZ R4,HF
 MOV A,R0 


DISLED1: PUSH ACC
  PUSH DPH
         PUSH DPL
            
        MOV DPTR,#Z8279
        MOV A,#90H
        MOVX @DPTR,A
        MOV R0,#70H
        MOV R7,#08H  
        MOV DPTR,#D8279
DL:     MOV A,@R0
        ADD A,#0BH
        MOVC A,@A+PC
        MOVX @DPTR,A
        INC R0
        DJNZ R7,DL
 
 
 POP DPL
 POP DPL
 
LJMP DD
LEDSEG1:DB 3FH,06H,5BH,4FH,66H,6DH
       DB 7DH,07H,7FH,6FH,77H,7CH
       DB 39H,5EH,79H,71H

DD:    MOV DPTR,#Z8279
       MOVX A,@DPTR
       ANL A,#07H
       JNZ READ4
       SJMP DD
READ4: MOV A,#40H
       MOVX @DPTR,A
       MOV DPTR,#D8279
       MOVX A,@DPTR
       CJNE A,#07H,AGG
       POP ACC
       MOV R0,A
       AJMP HF1     
AGG:   LJMP AG       等待再次拉客
      
 END 

 
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -