论坛» 综合技术» 工业控制与自动化

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

菜鸟
2007-10-18 18:25 1楼

下面是

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

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

有什么指点的,可以加我的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

共1条 1/1 1 跳转至

回复

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