多功能出租车计价器.docx

上传人:b****5 文档编号:11794132 上传时间:2023-04-02 格式:DOCX 页数:29 大小:60.44KB
下载 相关 举报
多功能出租车计价器.docx_第1页
第1页 / 共29页
多功能出租车计价器.docx_第2页
第2页 / 共29页
多功能出租车计价器.docx_第3页
第3页 / 共29页
多功能出租车计价器.docx_第4页
第4页 / 共29页
多功能出租车计价器.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

多功能出租车计价器.docx

《多功能出租车计价器.docx》由会员分享,可在线阅读,更多相关《多功能出租车计价器.docx(29页珍藏版)》请在冰豆网上搜索。

多功能出租车计价器.docx

多功能出租车计价器

多功能出租车计价器的设计

1.基本要求

(1)不同情况具有不同的收费标准。

●白天

●晚上

●途中等待(>10min开始收费)

(2)能进行手动修改单价。

(3)具有数据的复位功能。

(4)IO口分配的简易要求。

●距离检测使用霍尔开关A44E

●白天/晚上收费标准的转换开关

●数据的清零开关

●单价的调整(最好使用+和-按键)

(5)数据输出(采用LCM103)。

●单价输出2位

●路程输出2位

●总金额输出3位

(6)按键。

●启动计时开关

●数据复位(清零)

●白天/晚上转换

2.发挥部分

(1)能够在掉电的情况下存储单价等数据。

(2)能够显示当前的系统时间。

(3)语音播报数据信息。

DAY_PRICEEQU6FH

NIGHT_PRICEEQU6EH

MIDWAY_PRICEEQU6DH

START_PRICEEQU6CH

COUNTLEQU6BH

COUNTHEQU6AH

M100EQU69H;外部中断次数

DISTANCEEQU68H;行车距离

MS100EQU67H

SECEQU66H

MINEQU65H

HOUREQU64H

LEDSLEQU63H;时分钞显示缓冲区

LEDSHEQU62H

LEDMLEQU61H

LEDMHEQU60H

LEDHLEQU5FH

LEDHHEQU5EH

LEDDANJIALEQU5DH;总额,单价显示缓冲区

LEDDANJIAHEQU5CH

LINE_EQU5BH

LEDCOUNT1EQU5AH

LEDCOUNT2EQU59H

LEDCOUNT3EQU58H

LEDDANJIA2LEQU57H;路程,单价显示缓冲区

LEDDANJIA2HEQU56H

LINE__EQU55H

LINE___EQU54H

LEDDISTANCELEQU53H

LEDDISTANCEHEQU52H

LEDDAY_PLEQU51H;中途,晚上,白天显示缓冲区

LEDDAY_PHEQU50H

LEDNIG_PLEQU4FH

LEDNIG_PHEQU4EH

LEDW_PLEQU4DH

LEDW_PHEQU4CH

S1BITP1.0

S2BITP1.1

S3BITP1.2

S4BITP1.3

S11EQU4BH

S22EQU4AH

S33EQU49H

S44EQU48H

M1EQU47H

H1EQU46H

M2EQU45H

H2EQU44H

PRICEEQU43H

ORG0000H

AJMPMAIN

ORG0003H

AJMPTO

ORG000BH

AJMPTOTIME

ORG001BH

AJMPTOSTART

ORG0030H

MAIN:

MOVSP,#70H

MOVTMOD,#11H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#3CH

MOVTL1,#0B0H

MOV22H,#0AH

SETBEA

SETBTR0

SETBEX0

SETBIT0

SETBET0

SETBET1

MOVR7,#34

MOVR0,#69H

LOOPL:

MOV@R0,#0

DECR0

DJNZR7,LOOPL

MOVCOUNTL,#00H;起步价

MOVCOUNTH,#05H

MOVDAY_PRICE,#25H;白天价格初始化

MOVNIGHT_PRICE,#30H;晚上价格初始化

MOVMIDWAY_PRICE,#10H;中途等待初始化

MOVSTART_PRICE,#50H;起步价初始化

MOVS11,#0

MOVS22,#0

MOVS33,#0

MOVS44,#0

MOVDISTANCE,#02H

MOVHOUR,#12H

KEY_MAIN:

SETBTR0

ACALLHMS_DIS

ACALLT100MSD

ACALLT100MSD

ACALLT100MSD

JBS1,KEY_MAIN

ACALLT10MSD

JBS1,KEY_MAIN

JNBS1,$

SJMPWAI1

WA1:

JBS1,K1

ACALLT10MSD

JBS1,K1

WAIT1:

JNBS1,WAIT1

MOVR0,#LEDDANJIAL

MOVR2,#6

CLRA

MOVCOUNTL,A

MOVCOUNTH,A

MOVM100,A

MOVDISTANCE,A

BK1:

MOV@R0,A

DECR0

DJNZR2,BK1

MOVPRICE,DAY_PRICE;起动初始化

MOVCOUNTL,#00H;起步价

MOVCOUNTH,#05H

LCALLCP_DIS;总金额和单价显示

K1:

JBS2,K2

ACALLT10MSD

JBS2,K2

WAIT2:

JNBS2,WAIT2

INCS22

MOVA,S22

CJNEA,#1,NEXT1

LCALLPA_DIS

LJMPKEY_DJ

NEXT1:

CJNEA,#2,NEXT2

CLRTR0

LCALLHMS_DIS

LJMPKEY_SJ

NEXT2:

CJNEA,#3,K2

MOVS22,#0

K2:

JBS3,K3

ACALLT10MSD

JBS3,K3

WAIT3:

JNBS3,WAIT3

INCS33

MOVA,S33

CJNEA,#1,NXT1

LCALLDP_DIS

NXT1:

CJNEA,#2,NXT2

CLRC

MOVA,M2

SUBBA,M1

MOVM1,A

MOVA,H2

SUBBA,H1

MOVH1,A

NXT2:

CJNEA,#3,K3

MOVS33,#0

LCALLCP_DIS

K3:

JBS4,BK_KEY_MAIN

ACALLT10MSD

JBS4,BK_KEY_MAIN

WAIT4:

JNBS4,WAIT4

INCS44

MOVA,S44

CJNEA,#1,NT1

MOVPRICE,DAY_PRICE

LCALLCP_DIS

NT1:

CJNEA,#2,NT2

MOVPRICE,NIGHT_PRICE

LCALLCP_DIS

NT2:

CJNEA,#3,NT3

MOVPRICE,MIDWAY_PRICE

SETBTR1

LCALLCP_DIS

NT3:

CJNEA,#4,BK_KEY_MAIN

MOVS44,#0

LJMPKEY_MAIN

BK_KEY_MAIN:

LJMPWA1

KEY_DJ:

JBS1,KY1

ACALLT10MSD

JBS1,KY1

WAIT5:

JNBS1,WAIT5

INCS11

MOVA,S11

CJNEA,#1,NEXT11

LJMPDAY_P

NEXT11:

CJNEA,#2,

NEXT12

LCALLNIG_P

NEXT12:

CJNEA,#3,KY1

LCALLMID_P

MOVS11,#0

LJMPKEY_MAIN

KY1:

JBS2,KY2

ACALLT10MSD

JBS2,KY2

WAIT6:

JNBS2,WAIT6

INCS22

MOVA,S22

CJNEA,#1,NEXT13

LCALLPA_DIS

LJMPKEY_DJ

NEXT13:

CJNEA,#2,NEXT14

CLRTR0

LCALLHMS_DIS

LCALLKEY_SJ

NEXT14:

CJNEA,#3,KY2

MOVS22,#0

LJMPKEY_MAIN

KY2:

AJMPKEY_DJ

KEY_SJ:

JBS1,KEY1

ACALLT10MSD

JBS1,KEY1

WAIT7:

JNBS1,WAIT7

INCS11

MOVA,S11

CJNEA,#1,NEXT21

LCALLHOU_T

NEXT21:

CJNEA,#2,NEXT22

LCALLMIN_T

NEXT22:

CJNEA,#3,KEY1

MOVS11,#0

LJMPKEY_MAIN

KEY1:

JBS2,KEY2

ACALLT10MSD

JBS2,KEY2

WAIT8:

JNBS2,WAIT8

INCS22

MOVA,S22

CJNEA,#1,NEXT23

LCALLPA_DIS

LJMPKEY_DJ

NEXT23:

CJNEA,#2,NEXT24

CLRTR0

LCALLHMS_DIS

NEXT24:

CJNEA,#3,KEY2

MOVS22,#0

LCALLKEY_SJ

LJMPKEY_MAIN

KEY2:

AJMPKEY_SJ

DAY_P:

SETBF0

LCALLT100MSD

LCALLT100MSD

MOVLEDDAY_PL,#0AH

MOVLEDDAY_PH,#0AH

LCALLPA_DIS1

LCALLT100MSD

LCALLT100MSD

LCALLPA_DIS

LP1:

JBS3,KEY11

MOVA,#1

ADDA,DAY_PRICE

DAA

MOVDAY_PRICE,A

MOVA,DAY_PRICE

CJNEA,#99H,KEY11

MOVDAY_PRICE,#0

KEY11:

JBS4,KEY12

LCALLT10MSD

JBS4,KEY12

MOVA,DAY_PRICE

ADDA,#99H

DAA

MOVDAY_PRICE,A

CJNEA,#00H,KEY12

MOVA,#99H

KEY12:

JBS1,KEY13

ACALLT10MSD

JBS1,KEY13

WAIT11:

JNBS1,WAIT11

INCS11

MOVA,S11

CJNEA,#1,

NEXT31

LCALLDAY_P

NEXT31:

CJNEA,#2,NEXT32

LCALLNIG_P

NEXT32:

CJNEA,#3,NEXT33

LCALLMID_P

NEXT33:

CJNEA,#4,KEY13

MOVS11,#0

KEY13:

JBS2,KEY14

LCALLT10MSD

JBS2,KEY14

WAIT12:

JNBS2,WAIT12

LJMPKEY_MAIN

KEY14:

AJMPDAY_P

NIG_P:

SETBF0;调用定时延时标志位

LCALLT100MSD

LCALLT100MSD

MOVLEDNIG_PL,#0AH

MOVLEDNIG_PH,#0AH

LCALLPA_DIS1

LCALLT100MSD

LCALLT100MSD

LCALLPA_DIS

JBS3,KEY21

LCALLT10MSD

JBS3,KEY21

MOVA,#1

ADDA,NIGHT_PRICE

DAA

MOVNIGHT_PRICE,A

CJNEA,#99H,KEY21

MOVNIGHT_PRICE,#0

KEY21:

JBS4,KEY22

LCALLT10MSD

JBS4,KEY22

MOVA,NIGHT_PRICE

ADDA,#99H

DAA

MOVNIGHT_PRICE,A

CJNEA,#00H,KEY22

MOVNIGHT_PRICE,#99H

KEY22:

JBS1,KEY23

ACALLT10MSD

JBS1,KEY23

WAIT15:

JNBS1,WAIT15

INCS11

MOVA,S11

CJNEA,#1,

NEXT41

LCALLDAY_P

NEXT41:

CJNEA,#2,NEXT42

LCALLNIG_P

NEXT42:

CJNEA,#3,NEXT43

LCALLMID_P

NEXT43:

CJNEA,#4,KEY23

MOVS11,#0

LJMPKEY_DJ

KEY23:

JBS2,KEY24

LCALLT10MSD

JBS2,KEY24

WAIT30:

JNBS2,WAIT30

LJMPKEY_MAIN

KEY24:

AJMPNIG_P

MID_P:

SETBF0;调用定时延时标志位

LCALLT100MSD

MOVLEDW_PL,#0AH

MOVLEDW_PH,#0AH

LCALLPA_DIS1

LCALLT100MSD

LCALLPA_DIS

JBS3,KEY31

LCALLT10MSD

JBS3,KEY31

MOVA,MIDWAY_PRICE

ADDA,#1

DAA

MOVMIDWAY_PRICE,A

CJNEA,#99H,KEY31

MOVMIDWAY_PRICE,#00H

CJNEA,#100,KEY31

MOVMIDWAY_PRICE,#0

KEY31:

JBS4,KEY32

LCALLT10MSD

JBS4,KEY32

MOVA,MIDWAY_PRICE

ADDA,#99H

DAA

MOVMIDWAY_PRICE,A

CJNEA,#00H,KEY32

MOVNIGHT_PRICE,#99H

KEY32:

JBS1,KEY33

ACALLT10MSD

JBS1,KEY33

WAIT18:

JNBS1,WAIT18

INCS11

MOVA,S11

CJNEA,#1,

NEXT51

LCALLDAY_P

NEXT51:

CJNEA,#2,NEXT52

LCALLNIG_P

NEXT52:

CJNEA,#3,NEXT53

LCALLMID_P

NEXT53:

CJNEA,#4,KEY33

MOVS11,#0

LJMPKEY_DJ

KEY33:

JBS2,KEY34

LCALLT10MSD

JBS2,KEY34

WAIT31:

JNBS2,WAIT31

LJMPKEY_MAIN

KEY34:

AJMPMID_P

HOU_T:

SETBF0;调用定时延时标志位

LCALLT100MSD

LCALLT100MSD

MOVLEDHL,#0AH

MOVLEDHH,#0AH

LCALLHMS_DIS1;直接调用显示,不经过拆分程序

LCALLT100MSD

LCALLT100MSD

MOVSEC,#0

LCALLHMS_DIS

JBS3,KEY41

MOVA,HOUR

ADDA,#1

DAA

MOVHOUR,A

CJNEA,#24H,KEY41

MOVHOUR,#0

KEY41:

JBS4,KEY42

MOVA,HOUR

ADDA,#99H

DAA

MOVHOUR,A

CJNEA,#99H,KEY42

MOVHOUR,#23H

KEY42:

JBS1,KEY43

ACALLT10MSD

JBS1,KEY43

WAIT21:

JNBS1,WAIT21

INCS11

MOVA,S11

CJNEA,#1,NEXT61

LJMPHOU_T

NEXT61:

CJNEA,#2,NEXT62

LJMPMIN_T

NEXT62:

CJNEA,#3,KEY43

MOVS11,#0

LJMPKEY_SJ

KEY43:

JBS2,KEY44

LCALLT10MSD

JBS2,KEY44

WAIT32:

JNBS2,WAIT32

LJMPKEY_MAIN

KEY44:

AJMPHOU_T

MIN_T:

SETBF0;调用定时延时标志位

LCALLT100MSD

LCALLT100MSD

MOVLEDML,#0AH

MOVLEDMH,#0AH

LCALLHMS_DIS1;直接调用显示,不经过拆分程序

LCALLT100MSD

LCALLT100MSD

MOVSEC,#0

LCALLHMS_DIS

JBS3,KEY51

MOVA,MIN

ADDA,#1

DAA

MOVMIN,A

CJNEA,#60H,KEY51

MOVMIN,#0

KEY51:

JBS4,KEY52

MOVA,MIN

ADDA,#99H

DAA

MOVMIN,A

CJNEA,#99H,KEY52

MOVMIN,#59H

KEY52:

JBS1,KEY53

ACALLT10MSD

JBS1,KEY53

WAIT24:

JNBS1,WAIT24

INCS11

MOVA,S11

CJNEA,#1,NEXT71

LCALLHOU_T

NEXT71:

CJNEA,#2,NEXT72

LCALLMIN_T

NEXT72:

CJNEA,#3,KEY53

SETBTR0

MOVS11,#0

LJMPKEY_SJ

KEY53:

JBS2,KEY54

LCALLT10MSD

JBS2,KEY54

WAIT33:

JNBS2,WAIT33

LJMPKEY_MAIN

KEY54:

AJMPMIN_T

TOTIME:

PUSHPSW

PUSHACC

MOVTH0,#3CH

MOVTL0,#0B0H

INCMS100

MOVA,MS100

CJNEA,#10,RETURN

MOVMS100,#0

MOVA,SEC

ADDA,#1

DAA

MOVSEC,A

CJNEA,#60H,RETURN

MOVSEC,#0

MOVA,#1H

ADDA,MIN

DAA

MOVMIN,A

CJNEA,#60H,RETURN

MOVMIN,#0

MOVA,#1H

ADDA,HOUR

DAA

MOVHOUR,A

CJNEA,#24H,RETURN

MOVHOUR,#0

RETURN:

POPACC

POPPSW

RETI

TO:

PUSHPSW

PUSHACC

MOVA,#1

ADDA,M100

MOVM100,A

MOVA,M100

CJNEA,#100,RETURN1

MOVM100,#0

INC21H

MOVA,21H

CJNEA,#0AH,RETURN1;已经到了1公里

MOV21H,#0

MOVA,#1

ADDA,DISTANCE

DAA

MOVDISTANCE,A

MOVA,PRICE

ADDA,COUNTL

DAA

MOVCOUNTL,A

CJNEA,#10H,RETURN1

MOVCOUNTL,#0

MOVA,#1

ADDA,COUNTH

DAA

MOVCOUNTH,A

CJNEA,#99H,RETURN1

MOVCOUNTH,#0

RETURN1:

POPACC

POPPSW

RETI

TOSTART:

PUSHPSW

PUSHACC

MOVTH1,#3CH

MOVTL1,#0B0H

DJNZ22H,RETURN2;1S未到返回

MOV22H,#0AH

MOVA,#1

ADDA,23H

DAA

MOV23H,A

CJNEA,#60H,RETURN2

MOV23H,#0

MOVA,#1

ADDA,24H

DAA

MOV24H,A

CJNEA,#10H,RETURN2

MOV24H,#0

MOVA,START_PRICE

ADDA,COUNTL

DAA

MOVCOUNTL,A

CJNEA,#10H,RETURN2

MOVCOUNTL,#0

MOVA,#1

ADDA,COUNTH

DAA

MOVCOUNTH,A

CJNEA,#99H,RETURN2

MOVCOUNTH,#0

RETURN2:

POPACC

POPPSW

RETI

HMS_DIS:

PUSHACC

PUSHPSW

SETBRS1

MOVR0,#SEC;时分秒的拆分(三个字节)

MOVR1,#LEDSL

MOVR6,#03H

LOOP1:

MOVA,@R0

MOVB,A

ANLA,#0FH

MOV@R1,A

DECR1

MOVA,B

SWAPA

ANLA,#0FH

MOV@R1,A

DECR1

DECR0

DJNZR6,LOOP1

POPPSW

POPACC

HMS_DIS1:

PUSHACC

PUSHPSW

MOVR7,#06H

MOVR0,#LEDSL

LOOP:

MOVA,@R0

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

BK:

JBCTI,NEXT

SJMPBK

NEXT:

DECR0

DJNZR7,LOOP

CLRRS1

POPPSW

POPACC

RET

CP_DIS:

PUSHACC

PUSHPSW

SETBRS1

MOVR0,#COUNTH;

MOVR1,#LEDCOUNT2

MOVA,@R0

MOVB,A

ANLA,#0FH

MOV@R1,A

DECR1

MOVA,B

SWAPA

ANLA,#0FH

MOV@R1,A

MOVLEDCOUNT1,COUNTL

MOVA,LEDCOUNT1;送总金额低位

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,LEDCOUNT2;送总金额中位

MOVDPTR,#TAB

MOVCA,@A+DPTR

CPLACC.4

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,LEDCOUNT3;送总金额高位

MOVDPTR,#TAB

MOVCA,@A+D

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1