出租车计价器流程图

合集下载

2010_出租车计价器解析

2010_出租车计价器解析

一、方案设计1.1 功能要求1. 用前4位数码管实时显示里程数(Z),单位为公里,最后一位为小数位;用后4位数码管时时显示金额数(J),单位为元,最后一位为小数位。

2. 规定出租车单程价格为2元/公里,往返则价格为1.5元/公里;单程/往返分别由“单程”按键和“往返”按键设定。

3. 车速<5公里/小时的时间累积为总等待时间T(分钟),每5分钟等待时间相当于里程数增加1公里。

4. 起步公里数为3公里,价格为8元;若实际运行大于3公里,按“设计任务2”计算价格。

5. 必须充分利用比赛指定的硬件平台上的资源进行设计。

6. 用单片机控制电机转动,并用光电传感器检测转盘转动模拟车速,车速与转盘转速成正比。

转盘转速为5转/秒对应车速为5公里/小时,转盘转速为50转/秒对应车速为50公里/小时,依此类推。

7. 要求公里数检测误差不超过±10%。

8. 到达目的地后,按“暂停”键,计价器可暂停计价。

9. 按“清除”键,计价器能将记录数据(里程、等待时间与价格等)自动清0。

10.按“查询”键,能自动显示总等待时间T,再按下该键回到显示里程数、金额状态。

1.2系统工作原理及其组成出租车计价是根据车所行驶的路程以及乘客乘车的方式综合决定的。

出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。

即可计算得到车轮旋转几周出租车能行驶一公里的路程。

因此,使用槽型光耦的目的就是方便地计量车轮旋转的圈数。

可在车轮转轴涂上白色条纹,其余部分涂成黑色,发光管照射转轴。

当转轴转动时,反光与不反光交替出现,所以槽型光耦间断地接收光的反射信号,输出电脉冲。

再经过整形电路,输出标准TTL信号。

输出的脉冲信号被接入到STC89C52单片机系统中,通过计算接收到的脉冲个数,计算出当前所行驶的路程。

同时,根据不同的收费标准,选择相应的起步价、单价等收费标准进行计算。

HD 7279管理键盘和数码显示,通过键盘能够实现启动、暂停、停止计价器、切换显示当前的行驶里程和需支付的车费。

基于单片机的出租车计价系统设计PPT

基于单片机的出租车计价系统设计PPT
设计简介
计价器是由计数器对里程的累计乘以单价, 加上起步价。设计中用霍尔传感器发出方波 信号,并用P3.4口把方波信号接受回来(计 数器计数)。用LCD分别显示公里数和当前 价钱。
主要使用的元器件
设计主要使用的元器件有: STC89C52单片机、霍尔传感器 、 MAX232及九针串口、LCD1062液晶显示屏 以及按键等器件。
VSS VDD VL RS
R/W
E
P0.0 8 D0
P0.1 P0.2
9 10
D1 D2
P0.3 11 D3
P0.4
P0.5 P0.6
12 13 14
D4 D5
D6
EA/VPP RD/P3.7 RW/P3.6
ALE/PRDG RSEN
31 17 16 30 29
P0.7 VCC GND
15 16
D7 BLA BLK
VCC
15
C B
VCC
R? R ES2
C1 03 1 0μ 1 00
1 0K
P33 1 3 P32 1 2
P35 1 5 P34 1 4
C1 01 3 0P
EA 3 1
19
1 1. 0 59 K Y2
18
3 0P
C1 02
RET 9
P37 1 7 P36 1 6
INT1 INT0
T1 T0
EA/VP
MAX232与单片机的接口电路图
LCD1602与单片机STC89C52硬件接 口电路图
P1.0 1
P1.1 P1.2
2 3
4
5
6
7
8
10
11 12
13
霍尔传感器信号发出

EDA简易出租车计价器设计

EDA简易出租车计价器设计

程后自动归零。
(4) 译码显示模块
Page 4
该模块经过8选1选择器将计费数据(4位BCD码)、
计时数据(2位BCD码)、计程数据(2位BCD码)动态
显示输出。其中计费数据jifei4~jifei1送入显示译码模块进
行译码,最后送至以百元、十元、元、角为单位对应的数
码管上显示,最大显示为999.9元;计时数据送入显示译
码模块进行译码,最后送至以分为单位对应的数码管上显
示,最大显示为59分;计程数据送入显示译码模块进行译
码,最后送至以公里为单位的数码管上显示,最大显示为
99公里。其系统组成框图如图2.1所示。
Page 5
时钟信 分频器 计费


等待信


计时
公里脉




计费/
计程
复位
Page 6
3 出租车计费器的层次化设计方案
(1) 分频模块 分频模块对频率为240Hz的输入脉冲进行分频,产生频率为16Hz、 15Hz、1Hz的3种频率。该模块产生频率信号用于计费,每个1Hz脉 冲为0.1元计费控制,15Hz为1.5元的计费控制,16Hz信号1.6元计费 控制。 (2) 控制模块 计价器控制模块主要完成对计价器状态的控制。
Page 3
(3) 计量模块
计量模块完成计价、计时和计程功能。
计价部分:行程在3公里内,而且等待累计时间小于2分钟,起步费为
10元;3公里外以每公里按1.6元计费,等待累计时间超过2分钟按每分钟1.5
元计费。
计时部分:计算乘客的等待累计时间。计时器的量程为59分钟,满量
程后自动归零。
计程部分:计算乘客所行驶的公里数。计程器的量程为99千米, 满量

出租车公司工作人员的计价器操作指南

出租车公司工作人员的计价器操作指南

出租车公司工作人员的计价器操作指南在出租车行业中,计价器是工作人员必备的工具之一。

精确的计价器操作不仅能够为乘客提供公平的计费,也是保护公司和司机权益的重要手段。

本指南旨在帮助出租车公司工作人员掌握正确的计价器操作技巧,确保服务质量和乘客满意度。

一、计价器基本操作1. 启动计价器:当乘客上车后,请按下计价器上的启动按钮,确保计价器开始计时。

2. 选择合适的计价模式:根据乘客需求和行程距离,选择合适的计价模式,如按里程计费、按时间计费或综合计费。

3. 关注计价器示数:在行程过程中,时刻关注计价器上的示数,并合理操作计价器,确保价格准确。

4. 重置计价器:当乘客下车后,按下计价器上的重置按钮,清零示数,为下一位乘客做好准备。

二、计价器操作技巧1. 熟悉计价器功能:了解所使用计价器的功能及操作方法,可通过阅读用户手册或咨询厂家了解。

2. 密封计价器:在使用前,确保计价器处于完好状态且无封贴痕迹。

如发现计价器封贴已被损坏或有痕迹,应及时向上级汇报。

3. 检查计价器准确性:定期检查计价器的准确性,可通过与其他可靠计价器比对,或请专业技术人员进行检测与校准。

4. 经常校验车辆里程表:为了确保计价器准确,应经常校验车辆里程表的准确性,并及时修复故障或更换损坏的部件。

5. 不得私自调整计价器示数:严禁工作人员私自调整计价器示数,一旦发现此类违规行为,应立即上报相关部门处理。

三、贴心服务建议1. 主动介绍计价方式:当乘客上车后,应主动向其介绍计价方式,并明示费率标准,提高乘客计价透明度。

2. 关注行程路线:工作人员应主动关注行程路线,避免绕路或延迟行程导致乘客心生疑虑。

3. 掌握常见计费情况:熟悉常见计费情况,例如拥堵时交通费的计算、夜间加价等,确保计价精确。

4. 提供发票选项:若乘客有发票需求,应主动询问并提供相关服务。

5. 积极应对投诉:如遇到乘客对计价不满或提出异议,工作人员应积极沟通,并根据公司规定及时解决问题。

出租车计价器方案设计书程序原理图实物图

出租车计价器方案设计书程序原理图实物图

目录摘要 (Ⅰ)第1章引言 (1)1. 1 出租车计价器概述····················································· (1)1. 2 本设计任务······················································ (1)1.2.1 设计任务······················································ (1)1.2.2 设计要求······················································ (1)1. 3 系统主要功能······················································ (2)第2章出租车计价器硬件设计 (3)2.1 系统的硬件构成及功能························································ (3)2. 2 AT89S51单片机及其引脚说明··························································42.3 AT24C02引脚图及其引脚功能 (6)2. 4 AT24C02 掉电存储单元的设计·························································62.5 里程计算、计价单元的设计 (7)2.6 数据显示单元设计························································ (8)第3章系统软件设计 (10)3. 1 系统主程序设计························································ (10)3. 2 定时中断程序设计····················································· (12)3. 3 里程计数中断服务程序设计····················································· (12)3.4 中途等待中断服务程序设计····················································· (12)3. 5 键盘服务程序设计····················································· (12)3. 6 显示子程序服务程序设计····················································· (12)第4章系统调试与测试结果分析 (13)4. 1 使用的仪器仪表························································ (13)4.2 系统调试 (13)第1章引言本次课程设计利用单片机技术来实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。

出租车计价器

出租车计价器

一、基本功能1、显示:可以显示里程、金额、等待时间、速度。

2、计费功能:起步公里数为2公里,价格为6元;若实际运行大于2公里,按单程价格为1.6元/公里,往返则价格为1.6元/公里。

3、按键功能:单程/往返分别由“单程”按键和“往返”按键设定;按“暂停”键,计价器可暂停计价;按“清除”键,计价器能将记录数据(里程、等待时间与金额等)自动清0;按“查询”键,能自动显示总等待时间;按“返回”键,仍然显示里程和金额。

二、系统的组成及工作原理计价器的单片机控制方案图如图1 单片机控制方案图所示。

利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格选择、时间显示控制等功能。

不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级图1 单片机控制方案图三、总体设计电路图总体电路图如图2所示图2 总体电路图四、硬件电路设计1、里程计算,计价单元设计里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,在该系统中用两种脉冲发生器进行模拟,送到单片机,经处理计算,送给显示单元的。

其原理如图3所示。

图3 模拟测距示意图555电路来产生一个脉冲来模拟霍尔传感器输出的里程脉冲,选择P1.0口作为信号的输入端,内部采用外部中断0,555脉冲产生电路输出一个脉冲信号直接加到IO口P1.0上(产生的频率F=1/T=1.414/[(R1+2R2)C1]),由单片机的内部算法对脉冲计数,通过计算将脉冲增加体现在金额和里程上。

具体电路如图4所示。

图4 555脉冲产生电路图光耦电路是以光为媒介传输电信号的一种光一电转换器件,是另一种模拟将出租车行驶时车轮所转的圈数转换成脉冲信号送入数据处理电路。

H92B4是光偶电路的基本元件,它由发光源和受光器两部分组成,发光源为发光二极管,受光器为光敏三极管。

当发光源与受光器之间存在光线阻挡时,输出端由高电平变为低电平,恢复光通路又变为高电平,就这样形成一个个的高低电平脉冲。

出租车计价器(电子专业课程设计)

出租车计价器(电子专业课程设计)

出租车计价器摘要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

该系统由AT89S51单片机控制,满足计程、计时、计费、存储等多种计量功能为一体的出租车计价器的实用要求。

相比于普通的模拟电路控制,采用单片机进行的设计相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

针对计费模式的切换,通过软件编程就可以轻易而举的实现。

避免了机械开关带来的不稳定因素。

关键词:出租车计价器单片机控制目录第一章前言 (1)第二章设计要求 (2)2.1 基本功能 (2)2.3 扩展功能 (2)第三章系统的组成及工作原理 (3)3.1 系统的硬件构成及功能 (3)3.2 AT89S51单片机及其引脚说明 (4)第四章硬件电路方案设计 (7)4.1方案比较与确定 (7)4.2 里程计算、计价单元的设计 (7)4.3 显示单元电路设计 (9)4.4 键盘显示模块设计 (10)第5章系统的软件设计 (12)5.1 系统主程序设计 (12)5.2 定时中断服务程序 (14)5.3 显示服务程序 (14)5.4 键盘服务程序 (15)第6章系统调试与测试结果分析 (17)6.1 使用的仪器仪表和工具 (17)6.2 调试的方法 (17)第7章结论 (18)参考文献 (19)附录 (20)附录1 总体设计电路图 (20)附录2 元件清单 (20)附录3 全部源程序 (21)第一章前言随着我国国民经济的告诉发展,出租车已成为城市公共交通的重要组成部分。

出租车计价器这一专用计算器具必须经当地技监局所属的管理部门坚定认可,且出租车安装计价器整车鉴定合格后才能运营。

针对电子式出租车计价器,建设部于1997年12月1日开始贯彻新的行业标准“CJ5024-1997”,要求“本标准实施之日起,电子式出租车计价器的设计,制造,和检验必须符合本标准的规定”。

基于单片机操纵的出租车计价器

基于单片机操纵的出租车计价器

毕业设计(论文)任务书专业电子与电气\楼宇智能化一、课落款称:基于单片机操纵的出租车计价器二、要紧技术指标: 1显示:能够显示单价、里程、总金额。

2.停车计费功能:半途因故停车按半途等待的单价收费。

3.自动分时计费功能:白天和夜间应能自动改换单价。

4.扩展功能:可增加时钟功能和数据掉电爱惜功能。

5,里程误差小于2%。

三、工作内容和要求:该系统以 89S51 单片机为中心、附加 A44E 霍尔传感器测距,实现对出租车计程、计时、计费存储等多种计量功能为一体,采纳 AT24C02实此刻系统掉电的时候保留单价和系统时刻等信息,输出采纳 6段数码显示管。

本电路设计的计价器不但能实现大体的计价,而且还能依照白天、黑夜、半途等待来调剂单价,同时在不计价的时候还能作为时钟为司机同志提供方便。

要求一、完成设计说明书,字数很多于1万字,要求用A4纸打印并有中、英文摘要;二、图纸采纳运算机画图;3、完成与设计内容有关的外文资料翻译,译文翻译准确,表述清楚;4、说明设计原理和理论基础,有课题方案选择、参数计算,测试数据及测试结果分析、结论。

四、要紧参考文献: [1]李朝青.单片机原理与接口技术[M],北京:北京航空航天大学出版社,1997[2]康华光.数字电路技术基础[M](第四版).北京:高等教育出版社,2000[3]陈永甫.新编555集成电路应用800例[M].电子工业出版社,[4]孙涵芳.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社,[5]张大明,单片机操纵实训指导及综合应用实例[M].北京:机械工业出版社2007.[6] 徐光翔单片机原理接口及应用南京大学出版社[7] 张淑清等. 单片微型运算机接口技术及其应用北京:国防工业出版社,[8] 王晓君等. MCS-51及兼容单片机原理与选型北京:电子工业出版社[9]张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005.P110~136.[10]丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社, 2004.P124~125.[11] AT89C52概述[EB/OL] 中国电子工业网[EB/OL]:张友德赵志英涂时亮编单片微型机原理、应用与实验上海:复旦大学出版社全书毕业设计(论文)开题报告基于单片机操纵的出租车计价器目录摘要 (8)Abstract (8)第1章前言 (10)第2章方案设计 (11)功能要求 (11)方案论证 (11)第3章出租车计价器硬件设计 (13)系统的硬件组成及功能 (13)3. 2 AT89S51单片机及其引脚说明 (13)AT24C02引脚图及其引脚功能 (16)3. 4 AT24C02 掉电存储单元的设计 (16)按键单元的设计 (17)里程计算、计价单元的设计 (17)数据显示单元设计 (19)整体设计电路图 (21)第4章系统软件设计 (23)4. 1 系统主程序设计 (23)4. 2 按时中断程序设计 (23)4. 3 里程计数中断效劳程序设计 (23)半途等待中断效劳程序设计 (23)4. 5 键盘效劳程序设计 (24)4. 6 显示子程序效劳程序设计 (24)4. 7 程序流程图 (24)第5章系统调试与测试结果分析 (26)5. 1 利用的仪器仪表 (26)系统调试 (26)第6章终止语 (27)答谢辞 (28)参考文献 (29)出租车计价器是乘客与司机两边的交易准那么,它是出租车行业进展的重要标志,是出租车中最重要的工具。

出租车计价器的使用

出租车计价器的使用

出租车计价器的使用(一)计价器显示屏根据《出租汽车计价器检定规程》(JJG 517-2009),计价器显示屏至少有4个显示窗口,包括金额屏、单价屏、计程屏、计时屏。

计价器显示屏旁设有IC卡卡槽和按键(称为机外键),机外键不得超过3个,一般由暂停键、检查键、单程键组成。

(1)金额屏:显示乘客乘坐出租汽车应支付费用的总金额。

(2)单价屏:显示计价器在重车状态下出租汽车运营时的每公里租金。

(3)计程屏:显示计价器在重车状态下出租汽车行驶的里程数,从0.0公里开始显示。

(4)计时屏:显示计价器在重车状态下,出租汽车低速运营累计时间,以秒为单位从0秒开始显示。

(二)正确使用计价器和空车待租标志出租汽车运营候客时竖起空车待租标志,计价器处于空车状态。

当乘客上车起步后,应压下空车待租标志,计价器处于乘车状态,此时计价器主机单价显示屏显示单价,金额屏显示基价,计程和计时屏显示本次运营累计的行驶里程和等候时间。

夜间运营时空车待租标志和顶灯同时熄灭,计价器开始按距离、时间并计式的计费方式进行计费。

当车速低于切换速度或者停车时计价器开始计时,高于切换速度时只计行驶时程。

出租汽车到达目的地后,出租汽车驾驶员按暂停键,使计价器暂停计费。

待乘客按计价器显示的金额付费后,竖起空车待租标志,计价器处于空车状态,计价器显示屏显示归零。

(三)计价器使用的注意事项(1)做好运营前的检查工作。

主要检查内容有:①计价器铅封是否完好,通电后计价器自检是否正常;②计价器显示屏显示是否正常;③空车待租标志翻动是否自如,空车、重车转换是否正常。

(2)需要收取单程附加费的,应先向乘客说明,然后按“单程”键。

(3)计价器显示的车费不包含车辆通行费,一般不含燃油附加费,出租汽车驾驶员应向乘客告之并做好解释工作,如实向乘客收费,不得向乘客收取返程的通行费。

(4)运营时发现计价器有故障,必须终止运营,将计价器送往有计价器维修资质的部门维修。

车上有乘客时,应向乘客说明,按实际行驶里程和时间收费,乘客下车后要立即停止运营,维修计价器。

出租车计价器ppt课件

出租车计价器ppt课件


(1)计费电路模块

计费电路模块由里程计数器和计费计数器构成。
程序设计在里程脉冲的作用下,使用if判断语句判断停止、 启动、暂停信号,若停止则将里程计数器和计费计数器清零; 若启动则里程计数器清零,计费计数器赋初值(起步价 10.00元),若暂停则里程计数器和计费计数器都保持不变。 在正常行驶时,需根据所计的里程数和计费规则计算出租车 费用。如判断里程数是小于5km还是大于等于5km,计费是 否超过50.00元等。其模块图如下:
(3)能模拟汽车启动、停止、暂停等状态。



扩展功能:
暂停等待收费功能:当车辆行驶超过起步范围时,每暂停等 待三分钟加收费用0.5元,最终总费用为正常行驶计费与暂 停等待计费之和。
2、设计思路

设计分为路程计费及车费和里程的显示部分,程序设 计流程图如下:

计价器先进行停止 ( stop)判断,再进行启动 ( start)判断,然后进行暂停(pause)判断,当出 租车正常行驶时,每行驶10米,传感器产生一个脉冲, 通过对该里程脉冲计数,确定行驶里程数和收费金额。 最后通过数码管进行显示。 根据出租车计价器的基本功能,可以将出租车计价器 控制电路划分为计费电路模块,进制转换模块和数据 选择译码显示模块三个部分。
出租车计价器
出租车计价器控制电路设计

1、设计任务及要求 基本要求: (1)计费功能:按行驶路程计费,起步价为10.00元,并在 行驶5km后按1.4元/km计费,当计费达到或超过50元时,每 公里加收50%的车费,车停止不计费;

(2)动态扫描电路,将车费和里程显示出来,保留两位小 数;

(3)数据选择译码显示模块 该模块实现将里程计数和计费计数的四位十进制数在扫描 时钟的作用下动态显示在8个数码管上的功能。 首先利用8选一数据选择器分时选择其中一个数输出并使对 应的数码管片选有效。然后将输出的数据(8421BCD码)译 码为共阴极数码管的8位二进制数(分别对应hgfedcba),h 对应小数点显示。这里利用扫描时钟控制8进制计数器计数 产生数据选择器的地址选通信号,该时钟可直接采用进制转 换模块中的时钟信号。其模块图如下:

单片机出租车计价器程序及原理图

单片机出租车计价器程序及原理图

#include <reg52.h>#include <absacc.h>#define uint unsigned int#define uchar unsigned char#define DISPON 0x3f //显示开#define DISPOFF 0x3e //显示关#define FIRSTROW 0xc0 //显示起始行设置1 1 L5 L4 L3 L2 L1 L0,在0到63行间选择#define SETY 0xb8 //Y方向,8页64行,1 0 1 1 1 P2 P1 P0,0到8页选择#define SETX 0x40 //X方向,半屏64列,0 1 C5 C4 C3 C2 C1 C0 ,0到63列选择/*P2+P0口16位编址,有效位是P2.3~P2.0,无关位用“1”表示P2.0--RS,P2.1--RW,P2.2--CS2,P2.3--CS1右屏命令和数据读写编址 CS2 CS1 RW RS*/#define LLCD_CMD_WR XBYTE[0xf4ff] //0 1 0 0#define LLCD_DAT_WR XBYTE[0xf5ff] //0 1 0 1#define LLCD_CMD_RD XBYTE[0xf6ff] //0 1 1 0#define LLCD_DAT_RD XBYTE[0xf7ff] //0 1 1 1/*左屏命令和数据读写编址*/#define RLCD_CMD_WR XBYTE[0xf8ff] //1 0 0 0#define RLCD_DAT_WR XBYTE[0xf9ff] //1 0 0 1#define RLCD_CMD_RD XBYTE[0xfaff] //1 0 1 0#define RLCD_DAT_RD XBYTE[0xfbff] //1 0 1 1/**********************数据坐标记录**************************左-路程:整数部分 x=9,y=1,小数部分 x=31,y=1左-路程费用:整数部分 x=9,y=3,小数部分 x=31,y=3总费用:整数部分-左:x=45,y=5路程单价:x=34,y=7右-时间:整数部分 x=20,y=1右-时间费用:整数部分 x=10,y=3,小数部分 x=32,y=3总费用:小数部分-右:x=2,y=5时间单价:x=44,y=7*************************************************************/#define L_Mile_X_Z 9#define L_Mile_X_D 30#define L_Mile_Y 1#define L_Cost_X_Z 9#define L_Cost_X_D 30#define L_Cost_Y 3#define L_Total_X 45#define L_Total_Y 5#define L_Unit_X 34#define L_Unit_Y 7#define R_Time_X 20#define R_Time_Y 1#define R_Cost_X_Z 10#define R_Cost_X_D 31#define R_Cost_Y 3#define R_Total_X 2#define R_Total_Y 5#define R_Unit_X 44#define R_Unit_Y 7sbit LED=P2^7 ;sbit START=P1^0;sbit STOP=P1^1;sbit CLEAR=P1^2;sbit MUINT_UP=P1^4;sbit MUINT_D=P1^5;sbit TUINT_UP=P1^6;sbit TUINT_D=P1^7;uchar Mile_Unit=4,Time_Unit=2;long time_cost,time_cost_Z,time_cost_D,time_con_s,time_con_m;long mile_cost,mile_cost_Z,mile_cost_D,mile_con_m,mile_con_km;long speed_con,speed_con_m,speed,speed_flag,cost_flag;long total_z=5,total_d;code char shu[10][6]={0x3E,0x41,0x41,0x41,0x3E,0x00, //00x00,0x42,0x7F,0x40,0x00,0x00, //10x42,0x61,0x51,0x49,0x46,0x00, //20x22,0x41,0x49,0x49,0x36,0x00, //30x38,0x24,0x22,0x7F,0x20,0x00, //40x27,0x45,0x45,0x45,0x39,0x00, //50x3E,0x45,0x45,0x45,0x38,0x00, //60x01,0x01,0x79,0x05,0x03,0x00, //70x36,0x49,0x49,0x49,0x36,0x00, //80x0E,0x51,0x51,0x51,0x3E,0x00, //9};/*************************初始化界面*****************************/code uchar logo[]={0xFF,0x07,0x03,0xE1,0x11,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x11,0xE1,0x03,0x07,0xFF,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09, 0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x11,0xE1,0x03,0x07,0xFF, 0xFE,0x00,0x00,0xFF,0x00,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xFE,0x10,0x28,0x44,0x82,0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0xFF,0x00,0x00,0xFF, 0xFF,0x00,0x00,0xFF,0x00,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x04, 0xF8,0x04,0xFE,0x00,0xF4,0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0xFF,0x00,0x00,0xFE, 0xFE,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02, 0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02, 0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00, 0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x80,0x40,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF, 0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00, 0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x80,0x40,0x00,0x00,0x00,0xFF,0x00,0x00,0xFE, 0xFE,0x00,0x00,0xFF,0x00,0xFC,0x78,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x12,0x12,0x13,0x7E,0x13,0x12,0x12,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF, 0xFF,0x00,0x00,0xFF,0x00,0xFC,0x78,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x12,0x12,0x13,0x7E,0x13,0x12,0x12,0x00,0x00,0x00,0xFF,0x00,0x00,0xFE, 0xFE,0x00,0x00,0x01,0x02,0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x04,0x05, 0x05,0x05,0x05,0x05,0x04,0x05,0x05,0x05,0x05,0xC5,0x24,0x14,0x14,0x14,0x15,0x15, 0x15,0x15,0x15,0x14,0x15,0x15,0x15,0x15,0x15,0x14,0x15,0x15,0x15,0x15,0x15,0x14, 0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x12,0x11,0x10,0x10,0x1F, 0x1F,0x10,0x10,0x11,0x12,0x14,0x14,0x14,0x14,0x14,0x15,0x15,0x15,0x15,0x15,0x14, 0x15,0x15,0x15,0x15,0x15,0x14,0x15,0x15,0x15,0x15,0x15,0x14,0x14,0x14,0x14,0x15, 0x15,0x15,0x15,0x15,0x14,0x15,0x25,0xC5,0x05,0x05,0x04,0x05,0x05,0x05,0x05,0x05, 0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x02,0x01,0x00,0x00,0xFE, 0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x7E,0x3C, 0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60, 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x4A,0x4C, 0xF8,0x4C,0x4A,0x49,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x04,0x04,0x04,0x04, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x05,0x05, 0x05,0x05,0x04,0x05,0x05,0x05,0x05,0x05,0x04,0x05,0x05,0x05,0x05,0x05,0x04,0xFC, 0xFC,0x04,0x05,0x05,0x05,0x05,0x05,0x04,0x05,0x05,0x05,0x05,0x05,0x04,0x05,0x05, 0x05,0x05,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x05,0x04,0x04,0x04,0x04,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE, 0xFE,0xE0,0xC0,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x9E,0xA0, 0x20,0x9E,0x80,0xBC,0x82,0x82,0xBC,0x80,0x3D,0x80,0x84,0x9E,0xA4,0xA4,0x80,0xB6, 0x36,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x3E,0x41,0x41,0x41, 0x3E,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,0xC0,0xE0,0xFF, 0xFF,0xE0,0xC0,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x9E,0xA0, 0x20,0x9E,0x80,0xBC,0x82,0x82,0xBC,0x80,0x3D,0x80,0x84,0x9E,0xA4,0xA4,0x80,0xB6, 0x36,0x80,0x80,0x3E,0x41,0x41,0x41,0x3E,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,0xC0,0xE0,0xFE, };/*************************************************************写命令*************************************************************/void lcd_cmd_wr(uchar cmdcode,uchar right){if(right)RLCD_CMD_WR=cmdcode;elseLLCD_CMD_WR=cmdcode;}/*************************************************************写数据*************************************************************/void lcd_data_wr(uchar dispdata,uchar right){if(right)RLCD_DAT_WR=dispdata;elseLLCD_DAT_WR=dispdata;}/*************************************************************数据清屏*************************************************************/void lcd_clr(void){uchar i,j;for(i=0;i<8;i++)lcd_cmd_wr(SETY+i,0);lcd_cmd_wr(SETX,0);lcd_cmd_wr(SETY+i,1);lcd_cmd_wr(SETX,1);for(j=0;j<64;j++){lcd_data_wr(0,0);lcd_data_wr(0,1);}}}/************************************************************* 写一个数字*************************************************************/ void lcd_shu_wr(uchar w,uchar x,uchar y,uchar shu_1){uchar i;lcd_cmd_wr(SETY+y,w);lcd_cmd_wr(SETX+x,w);for(i=0;i<6;i++)lcd_data_wr(shu[shu_1][i],w);}/************************************************************* 写一个三个数字*************************************************************/ void lcd_sanshu_wr(uchar w,uchar x,uchar y,uint str){uint bai,shi,ge;bai=str/100;shi=(str%100)/10;ge=str%10;lcd_shu_wr(w,x,y,bai);lcd_shu_wr(w,x+6,y,shi);lcd_shu_wr(w,x+12,y,ge);}/************************************************************* 写一贞128X64点的图片显示*************************************************************/ void lcd_bmp_wr(uchar *bmp){uchar i,j;for(i=0;i<8;i++)lcd_cmd_wr(SETY+i,0);lcd_cmd_wr(SETX,0);lcd_cmd_wr(SETY+i,1);lcd_cmd_wr(SETX,1);for(j=0;j<64;j++){lcd_data_wr(bmp[128*i+j],0);lcd_data_wr(bmp[128*i+j+64],1);}}}/************************************************************* 延时函数*************************************************************/ DelayNms(uint y){uint x;for(;y>0;y--)for(x=113;x>0;x--);}/************************************************************* LCD初始化*************************************************************/ void lcd_init(void){lcd_cmd_wr(DISPON,0);lcd_cmd_wr(FIRSTROW,0);lcd_cmd_wr(SETY,0);lcd_cmd_wr(SETX,0);lcd_cmd_wr(DISPON,1);lcd_cmd_wr(FIRSTROW,1);lcd_cmd_wr(SETY,1);lcd_cmd_wr(SETX,1);lcd_clr();DelayNms(500);lcd_bmp_wr(logo);//welcome_init();}/************************************************************** 初始化中断,定时器等**************************************************************/void interrput_init(){IT0=1; //外部中断0触发方式:边沿触发EX0=1; //开外部中断0ET0=1; //开定时器中断0ET1=1; //开定时器中断1//EA=1; //开部中断TMOD=0x11; //00010001TH0=(65535-50000)/256;TL0=(65535-50000)%256;TR0=1;TH1=(65535-50000)/256;TL1=(65535-50000)%256;TR1=0;}/**************************************************************显示数据**************************************************************/void display(){lcd_sanshu_wr(0,L_Mile_X_Z,L_Mile_Y,mile_con_km); //写行驶路程lcd_sanshu_wr(0,L_Mile_X_D,L_Mile_Y,mile_con_m);lcd_sanshu_wr(0,L_Cost_X_Z,L_Cost_Y,mile_cost_Z); //写路程费用lcd_sanshu_wr(0,L_Cost_X_D,L_Cost_Y,mile_cost_D);lcd_sanshu_wr(0,L_Total_X,L_Total_Y,total_z); //写总费用整数部分lcd_shu_wr(0,L_Unit_X,L_Unit_Y,Mile_Unit); //写路程单价lcd_sanshu_wr(1,R_Time_X,R_Time_Y,time_con_m); //写行驶时间lcd_sanshu_wr(1,R_Cost_X_Z,R_Cost_Y,time_cost_Z); //写时间费用lcd_shu_wr(1,R_Cost_X_D,R_Cost_Y,time_cost_D);lcd_sanshu_wr(1,R_Total_X,R_Total_Y,total_d); //写总费用小数部分lcd_shu_wr(1,R_Unit_X,R_Unit_Y,Time_Unit); //写时间单价}/*************************************************************键盘输入**************************************************************/void keyboard(){P1=0xff;if(P1!=0xff){DelayNms(1);if(P1!=0xff){if(!START) EA=1;if(!STOP) EA=0;if(!CLEAR){mile_con_km=0;mile_con_m=0;mile_cost_Z=0;mile_cost_D=0;total_z=5;time_con_m=0;time_cost_Z=0;time_cost_D=0;total_d=0;display();}if(!MUINT_UP){Mile_Unit++;while(!MUINT_UP);lcd_shu_wr(0,L_Unit_X,L_Unit_Y,Mile_Unit);//写路程单价}if(!MUINT_D){Mile_Unit--;while(!MUINT_D);lcd_shu_wr(0,L_Unit_X,L_Unit_Y,Mile_Unit);//写路程单价}if(!TUINT_UP){Time_Unit++;while(!TUINT_UP);lcd_shu_wr(1,R_Unit_X,R_Unit_Y,Time_Unit);//写时间单价}if(!TUINT_D){Time_Unit--;while(!TUINT_D);lcd_shu_wr(1,R_Unit_X,R_Unit_Y,Time_Unit);//写时间单价}}}}/**************************************************************测速**************************************************************/ void testspeed(){if(speed>=18){speed_flag=1;TR1=0;}else{speed_flag=0;TR1=1;}}/************************************************************** 主函数**************************************************************/ void main(){lcd_init();interrput_init();display();while(1){keyboard();testspeed();}}/************************************************************* 外部中断0服务程序测所走过的路程,并且测车速*************************************************************/ void Int0() interrupt 0{LED=!LED;speed_con_m++;if(speed_flag){mile_con_m++;if(mile_con_m==1000){mile_con_m=0;mile_con_km++;if(mile_con_km==1)cost_flag=1;}}}/************************************************************定时器0中断服务程序测速计时器*************************************************************/void timer0() interrupt 1{TH0=(65535-50000)/256; //50msTL0=(65535-50000)%256;speed_con++;if(speed_con%5==0) //0.25s测速一次{speed=speed_con_m*2;speed_con_m=0;}if(speed_con==20) ////1s刷新显示一次{speed_con=0;if(cost_flag){mile_cost_D=(mile_con_m*Mile_Unit)%1000; //计算路费用mile_cost_Z=(mile_con_km-1)*Mile_Unit;mile_cost_Z=mile_cost_Z+(mile_con_m*Mile_Unit)/1000;total_z=mile_cost_Z+time_cost_Z; //计算总费用total_z+=5;total_d=mile_cost_D+time_cost_D*100;total_z=total_z+total_d/1000;total_d=total_d%1000;}display();}}/*************************************************************定时器1中断服务程序按时间计费计时器*************************************************************/void timer1() interrupt 3{.TH1=(65535-50000)/256; //50ms计时TL1=(65535-50000)%256;time_con_s++;if(time_con_s==1200) //一分钟{time_con_s=0;time_con_m++;time_cost=time_con_m*Time_Unit; //计算时间费用time_cost_Z=time_cost/10;time_cost_D=time_cost%10;}}11 / 11。

出租车计价器流程图

出租车计价器流程图

1系统主程序流程图
2数据处理子程序流程图
每当霍尔传感器输出一个脉冲,里程和金额都相应变化,当然等待时间也换算成里程,计算程序根据里程数分别进入不同的计算公式。

如果里程大于3公里,则执行公式:金额=(里程-3)*单价+5;否则,执行公式:总金额=起步价。

程序流程图如图所示。

3等待时间计时子程序
当出租车停止时,等待时间被换算成里程,进行计算,显示换算过的里程数和金额。

当结算时停止计时和计费并显示金额,当有清零键按下时存储本次金额。

4键盘扫描子程序
键盘处理状态表如下表
当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。

流程图如图。

出租车计价器说明

出租车计价器说明

出租车计价器1功能描述出租车计价器是有液晶显示,按键控制,进行价格的设定,实现模拟出租车计价器的控制。

2产品模块配置1. EDM606-12864 点阵液晶2. EDM001-MCS51单片机主板3・EDM403-8位独立按键4. EDM502直流电机5. EDM405 PNP三极管驱动6. EDM314+-5V,+-12V直流电源模块3单元模块电路及功能1.EDM314+-5V ,+-12V主流电源模块为各模块提供电源。

4产品模块连线各模块都连接电源5V,GND。

EDM001-MCS51 主机:P00〜P07 连EDM606-12864 点阵液晶: DB0 〜DB7EDM001-MCS51 主机:P10〜P17 连EDM606-12864 点阵液晶: RST~NCEDM001-MCS51 主机:P20 〜P27 连EDM403-8 位独立按键:F2〜左EDM001-MCS51 主机:P30 连EDM405 PNP 三极管驱动:INEDM001-MCS51 主机:P32 连EDM502 直流电机:PULSEEDM405 PNP三极管驱动:OUT连EDM502直流电机:M-EDM502直流电机:M+ 连VCC产品原理图:T =ini—=—'_口一-16实验步骤及调试F2为开机键F1为菜单设置保存键SET为启动键0K按一次为暂停键按二次为完成键上为菜单设置键下为菜单设置键左为菜单设置键右为菜单设置键功能使用说明:连线完成上电按F2开机过五秒后进入出租车计价器菜单按F1设置菜单此时设置的菜单会变黑,按左右键进行加减(只有价格可以修改)当要修改其他的参数的时候会提示不能操作,(因为路程等其他参数是不能进行修改的不符合实际)价格设置完成后按F1保存按SET启动电机转动当遇到堵车或其他原因要暂时停车可按0K键在此行驶时按SET键即可继续启动,停止时按0K键,按F1键查看菜单行驶》单价》总价》时间》总路程》载人次数》工作时间》累计金额。

秦皇岛出租车计价器使用教程

秦皇岛出租车计价器使用教程

秦皇岛出租车计价器使用教程
秦皇岛出租汽车计价器使用教程;计价器使用操作:营运后,翻下空车灯,计价器由空车状态进入重车状态。

车行0.1km或30s后显示起步价。

业务结束后先按计价器金额窗显示金额付费,再翻起空车灯。

检查各次业务数据:按“检查键,在当班累计和总累计之后,接下去显示内部存贮的160次业务。

显示每—车次业务,屏幕有三幅。

时钟校准方法:时钟在55分到5分之间,校准到正点(0点除外),每个月可校准一次。

但编程当月不可调。

在空车状态下,按检查”键到t",显示时间,按暂停键,准点时再按IC键,即可校准时钟。

请各位驾驶员注意:1、税控计价器所使用的出租车税票为有价票券,请严格遵照公司规章制度及使用说明使用税控计价器。

2、若在运营过程中发现税控计价器出现问题应及时向调度中心报告。

3、应注意出租车税票的剩余情况,及时领取出租车税票更换。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1系统主程序流程图
2数据处理子程序流程图
每当霍尔传感器输出一个脉冲,里程和金额都相应变化,当然等待时间也换算成里程,计算程序根据里程数分别进入不同的计算公式。

如果里程大于3公里,则执行公式:金额=(里程-3)*单价+5;否则,执行公式:总金额=起步价。

程序流程图如图所示。

3等待时间计时子程序
当出租车停止时,等待时间被换算成里程,进行计算,显示换算过的里程数和金额。

当结算时停止计时和计费并显示金额,当有清零键按下时存储本次金额。

4键盘扫描子程序
键盘处理状态表如下表
当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。

流程图如图。

相关文档
最新文档