多功能出租车计价器.docx
- 文档编号:6082910
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:29
- 大小:60.44KB
多功能出租车计价器.docx
《多功能出租车计价器.docx》由会员分享,可在线阅读,更多相关《多功能出租车计价器.docx(29页珍藏版)》请在冰豆网上搜索。
多功能出租车计价器
多功能出租车计价器的设计
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 出租车 计价器