这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 工业控制与自动化 » 求请教下出租车计价器程序?

共1条 1/1 1 跳转至

求请教下出租车计价器程序?

菜鸟
2007-10-18 18:25:20     打赏

下面是

下面是出租车计价器程序和基本要求:

请各位大哥大姐们帮我看看下面的程序能能实现这个功能??如果不能可以帮我修改下??在这里先谢谢了!!!

有什么指点的,可以加我的QQ:495357003。谢谢了!!

1、基本要求
(1) 不同情况具有不同的收费标准。
      白天
      晚上
      途中等待(>10min 开始收费)
(2) 能进行手动修改单价
(3) 具有数据的复位功能
(4) IO 口分配的简易要求
      距离检测使用霍尔开关A44E
      白天/晚上收费标准的转换开关
      数据的清零开关
      单价的调整(最好使用“+”和“-”按键)
(5) 数据输出(采用LCM103)
      单价输出2 位
      路程输出2 位
      总金额输出3 位
(6) 按键
      启动计时开关
      数据复位(清零)
      白天/晚上转换

出租车计价器程序 

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




关键词: 请教     出租车     计价器     程序     @DPTR    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]