出租车计费系统的设计好word文档
出租车计费系统的设计
设计目的随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费和电脑串行通信功能。
不同国家和地址的计费方式存在差异,如有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费。
本次设计采用硬件和软件相结合的方法,以单片机为核心,从圈脉冲信号的产生到营业信息的打印都做了详细的介绍,并对MAX813L看门狗、复位电路、行车里程检测电路、掉电存储电路、IC卡读写电路、分屏显示电路以及操作面板进行了详细的设计。
该系统还具有防止干扰和防死机的功能,系统的电源是专门为出租车设计的,具有相当强的稳压效果,系统采用了EEPROM存储器,可以方便且安全的记录顾客和车主的信息。
关键词: 89C51;里程检测;分屏显示;EEPROM;设计背景随着出租车行业的发展,对出租车计费器的要求也越来越高。
二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。
同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。
目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。
在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。
理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。
此外,一个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择。
出租车计费系统的设计
一、设计目的1 掌握电子电路的一般设计方法和设计流程;2 学习使用PROTEL软件绘制电路原理图及印刷板图;3 掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正确性。
二、设计要求设计一个出租车计费系统,具体要求如下:1. 能够实现计费功能。
按照太原出租车的计费标准。
2.能够实现显示功能。
分别用四位数字显示行驶里程和总费用,计价分辨率为0.1元。
三、设计内容1 设计过程1)使用PROTEL软件绘制原理图。
2)制作PCB版图。
3)应用EWB对所设计的电路进行仿真。
2 设计框图(1)各个模块的功能说明-74160,是一个4位二进制的计数器,它具有异步清除端与同步清除端不同的是,它不受时钟脉冲控制,只要来有效电平,就立即清零,无需再等下一个计数脉冲的有效沿到来。
具体功能如下:1.异步清零功能只要(CR的非)有效电平到来,无论有无CP脉冲,输出为“0”。
在图形符号中,CR的非的信号为CT=0,若接成七进制计数器,这里要特别注意,控制清零端的信号不是N-1(6),而是N(7)状态。
其实,很容易解释,由于异步清零端信号一旦出现就立即生效,如刚出现0111,就立即送到(CR的非)端,使状态变为0000。
所以,清零信号是非常短暂的,仅是过度状态,不能成为计数的一个状态。
清零端是低电平有效。
2.同步置数功能当(LD的非)为有效电平时,计数功能被禁止,在CP脉冲上升沿作用下D0~D3的数据被置入计数器并呈现在Q0~Q3端。
若接成七进制计数器,控制置数端的信号是N(7)状态,如在D0~D3置入0000,则在Q0~Q3端呈现的数据就是0110。
7448七段显示译码器7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。
该集成显示译码器设有多个辅助控制端,以增强器件的功能。
7448的功能表如表5.3.4所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下:1. 灭灯输入BI/RBOBI/RBO是特殊控制端,有时作为输入,有时作为输出。
出租车计费系统的设计 设计
目录摘要 (1)第1章绪论 (2)第2章系统设计 (3)2.1系统组成 (3)2.1.1 计费及显示 (3)2.1.2 时钟及显示 (3)2.1.3 计费开始提示 (1)2.2功能模块设计 (1)第3章硬件及软件实现 (3)3.1传感器 (3)3.1.1 光电传感器电路设计 (3)3.1.2车轮光电开关检测电路 (4)3.2单片机 (4)3.2.1 8051 单片机功能方块图 (5)3.2.2 AT89S51单片机简介 (7)3.2.3 AT89S5l与51系列单片机相比具有如下特点 (8)3.2.4 89S51的内部框图 (9)3.2.5 中断控制 (11)3.2.6 单片机控制程序设计 (12)3.2.7 单片机汇编语言源程序 (16)3.3显示及按键控制系统 (31)3.3.1 LED数码管 (31)3.3.2 数据显示电路的设计 (32)第4章系统检测及分析 (34)4.1系统仿真/硬件验证 (34)4.1.1 系统的调试方法 (34)4.1.2 系统的硬件验证 (34)4.2设计技巧分析 (35)结论 (36)附录A: FPGA芯片引脚 (37)摘要本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。
显示器可以采用LED数码管。
系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。
单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。
本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。
出租车自动计费器的设计方案
出租车自动计费器的设计方案自动计费器是出租车行业中必不可少的工具之一,它的设计方案对于提高出租车行业的效率和服务质量至关重要。
本文将介绍一个出租车自动计费器的设计方案,以满足行业的需求。
首先,出租车自动计费器应该具备准确计算乘客乘车费用的功能。
它应能够根据车辆的行驶路程、时间以及夜间加价等因素自动计算费用,并显示在计费器的屏幕上。
计费器的算法应精确可靠,以避免因计费错误导致的纠纷。
其次,出租车自动计费器的设计应该考虑便捷性和易用性。
计费器应有清晰易懂的界面和操作按钮,司机和乘客能够迅速明了地了解当前费用和支付方式。
此外,计费器应该支持多种支付方式,如现金、刷卡和移动支付等,以满足不同乘客的需求。
另外,出租车自动计费器应具备实时定位功能。
通过与GPS导航系统的结合,计费器可以准确获取车辆的位置信息,并根据不同地区的收费标准自动进行计费。
这样不仅可以避免司机的作弊行为,还可以提供乘客行程的准确记录,方便后续的服务投诉和纠纷解决。
在安全方面,出租车自动计费器应具备防拆功能和数据保护功能。
计费器的设计应考虑到在恶劣的工作环境中仍能正常运行,并能够防止被破坏或盗取。
同时,计费器应有密码保护和数据加密功能,以确保司机和乘客的个人信息和交易数据的安全。
为增加出租车自动计费器的实用性和便利性,可以考虑加入车辆监控和导航导航功能。
车辆监控功能可以帮助车辆管理部门实时获取车辆的行驶状态和位置信息,以便调度和监管;导航功能则可以帮助司机选择最短路径和避开拥堵路段,提高行程效率。
此外,出租车自动计费器还应具备自动上传数据的功能。
它可以将每次乘车的费用、行程、时间等数据自动上传至管理平台或相关部门,以便实时统计和分析。
这样可以提供经营者和有关部门的数据支持,并用于行业监管和评估。
综上所述,一个出租车自动计费器的设计方案应包括准确计算费用、便捷易用、实时定位、安全防护、车辆监控和数据上传等功能。
这样的设计方案将能够满足出租车行业的需求,提高行业的效率和服务质量。
出租车计价系统设计
出租车计价系统设计要求: 1.实现计费功能:按行驶里程收费,起步费为7.00元,并在车行3公里后能:能模拟汽车启动、停止、暂停、车速等状态; 3.设计动态扫描电路:显示车费,保存两位小数; 4.仿真验证:观察波形确认电路设计是否正确。 5.实际验证:设计电路下载,检查设计方案的正确性。 6.分析方案:进行资源占用、工作频率及其时间分析以及改进方案分析。
北京出租车详细价目: 1.每公里2元,基价3公里,起价10元; 2.单程15公里以上局部加收50%空驶费; 3.时速低于12公里/小时或等候乘客,每累计5分钟加收1公里费用; 4.晚23时至早5时,每公里租价加收20%;晚23时以后起步价11元; 5.不同乘客合租,按合乘里程各收60%; 6. 租车,每次加收3元 租车费; 7.出北京市,由双方议定收费;过路过桥费由乘客支付。 另:出租车四舍五入按元收费,没有角分的概念;
出租车计费系统的设计 设计
目录摘要 (1)第1章绪论 (2)第2章系统设计 (3)2.1系统组成 (3)2.1.1 计费及显示 (3)2.1.2 时钟及显示 (3)2.1.3 计费开始提示 (1)2.2功能模块设计 (1)第3章硬件及软件实现 (3)3.1传感器 (3)3.1.1 光电传感器电路设计 (3)3.1.2车轮光电开关检测电路 (4)3.2单片机 (4)3.2.1 8051 单片机功能方块图 (5)3.2.2 AT89S51单片机简介 (7)3.2.3 AT89S5l与51系列单片机相比具有如下特点 (8)3.2.4 89S51的内部框图 (9)3.2.5 中断控制 (11)3.2.6 单片机控制程序设计 (12)3.2.7 单片机汇编语言源程序 (16)3.3显示及按键控制系统 (31)3.3.1 LED数码管 (31)3.3.2 数据显示电路的设计 (32)第4章系统检测及分析 (34)4.1系统仿真/硬件验证 (34)4.1.1 系统的调试方法 (34)4.1.2 系统的硬件验证 (34)4.2设计技巧分析 (35)结论 (36)附录A: FPGA芯片引脚 (37)摘要本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。
显示器可以采用LED数码管。
系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。
单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。
本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。
出租车计价系统的设计要求与设计方案
第一章出租车计价系统的设计要求与设计方案1.1出租车计价器设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三局部,用七段数码管显示总金额,单价,运行里程,起步价为6 元,超过 6 元,每一公里增加 1 元或2 元,等待时间单价为每 30 秒钟1 元,计费功能:费用的计算是按行驶里程收费。
设起步价为 6 元。
1、当总金额<6 元时,按起价计算费用2、当总金额>6 元时,每公里按 1 元或2 元计费3、等待累计时间>30s 时,按 1 元/30s 计费4、S1 为启动按钮、S2 转换单价按钮、S3 复位按钮。
显示功能:1、显示行驶里程:用三位数字显示,显示方式为“XX.X”,单位为 km。
计程范围 0-99.9km,准确到 0.1km。
2、显示单价:用两位数字显示,显示方式为“X.X”,单位为元。
3、显示总费用:用三位数字显示,显示方式为“XX.X”,单位为元。
计价范围 0-99.9 元,准确到 0.1 元。
1.2系统主要功能本出租车自动计费,上电后显示最初的起步价,里程计费单价。
同时具有运行,复位,转换等状态,可以切换白天与晚上不同计费单价,可以实现每等待30s 收1 元功能。
出租车显示行驶的总费用,里程,单价。
1.3方案论证与比较方案一:承受数字电子技术,利用 555 定时芯片构成多谐振荡器,或承受外围的晶振电路作为时钟脉冲信号,承受计数芯片对脉冲尽心脉冲的计数和分频,最终通过译码电路对数据进展译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图 1-1 所示:图1-1 方案一方案二:承受 EDA技术,依据层次化设计理论,该设计问题自顶向下可分为分频模块,把握模块计量模块、译码和动态扫描显示模块,其系统框图如图 1-2 所示:图1-2 方案二方案三:承受MCU 技术,通过单片机作为主控器,承受外部晶振作为时钟脉冲,通过按键可以便利调整,以下是方案三的系统流程图,本方案主要是必需对于数字电路比较生疏,本钱又不高。
出租车计费系统的设计
摘要出租车计费系统的设计摘要本设计为一个多功能出租车计费系统,能够实现各种计费功能以及预置起步费,每千米收费,通过动态扫描电路,将车费和路程显示出来。
本设计主要研究在EDA工具软件平台上,利用硬件描述语言VHDL语言设计,以Quartus II软件作为开发平台,采用自顶向下的设计方法,由各个基本模块一起构建了一个基于FPGA的出租车计费系统。
系统主芯片采用ALTERA公司的EP1K100QC208-3。
系统由分频模块,里程计数模块,计费模块及动态扫描模块组成。
通过对所设计的程序进行编译及仿真,然后下载到FPGA/CPLD芯片上进行验证,结果显示本系统能够完成各种计费功能将车费和路程显示出来,同时能够准确的模拟汽车启动,停止,暂停状态。
关键词:计费系统;硬件描述语言;FPGA;显示The design of taxi billing systemAbstractThe design is for a multi-function taxi meter billing system. It can complete a variety of billing functions and can be charged by one kilometer. The fare and distance will be displayed by dynamic scanning circuit.This design uses hardware description language VHDL. It researches on the EDA software platform and the design uses the software of Quartus II as a development platform, using top-down design method. This taxi meter billing system based on FPGA is made up of four basic blocks.The main chip of the system is EP1K100QC208-3 which is made by the company of ALTERA .The system is made up of frequency module, mileage count module, billing module and dynamic scanning module. The program we designed can be compiled and simulation, then it can be downloaded to the FPGA / CPLD chip. The results show that the system can complete a variety of fare functions and will be displayed at the same time. It’s also able to simulate the taxi start, stop and suspend state.Keyword:Billing system; hardware description language; FPGA; display目录摘要 (I)Abstract ......................................................................................................................... I I 第一章绪论. (1)1.1选题背景 (1)1.1.1 课题相关技术发展 (1)1.1.2 课题研究的必要性 (2)1.2 课题研究内容 (3)第二章FPGA简介 (4)2.1 FPGA概述 (4)2.2 FPGA基本结构 (4)2.3 FPGA系统设计流程 (5)2.3.1 设计输入(原理图/HDL文体编辑) (5)2.3.2 综合 (6)2.3.3 适配 (6)2.3.4 时序仿真与功能仿真 (6)2.3.5 编程下载 (7)2.3.6 硬件测试 (7)第三章总体设计方案 (8)3.1 设计要求 (8)3.2 设计原理 (8)第四章单元电路设计 (10)4.1 分频模块 (10)4.2 里程计数模块 (12)4.3 计费模块 (14)4.4 动态扫描模块 (18)4.5 顶层模块 (22)结论 (25)参考文献 (26)致谢 (27)附录 (28)第一章绪论目前,现代电子产品几科渗透了社会的各个领域,产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。
出租车计费系统设计
出租车计费系统设计许洋洋;王丽娟;贾瑞匣【摘要】A " taxi billing system" is developed based on SCM for a resistance furnace system.This system includes six functional modules that are keying circuit control module,clock circuit controlmodule,reset circuit control module and calculation of mileage control module,design of valuation unit module and display circuit control module.Assembly language is carried on the software design module,the instruction carries out the speed quick,save memory.The text inside describes the system hardware work principle in brief first,and attach with the system hardware design frame diagram,combine development history that introduced the single a machine microprocessor,discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes.This design can achieve the basic valuation function,at the same time,according to the weather condition to adjust the unit price.With the clock function provides the convenienc .%本文以出租车计费系统作为研究对象,开发了基于单片机的控制系统。
出租车计费系统的设计
一、设计目的1 掌握电子电路的一般设计方法和设计流程;2 学习使用PROTEL软件绘制电路原理图及印刷板图;3 掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正确性。
二、设计要求设计一个出租车计费系统,具体要求如下:1. 能够实现计费功能。
按照太原出租车的计费标准。
2.能够实现显示功能。
分别用四位数字显示行驶里程和总费用,计价分辨率为0.1元。
三、设计内容1 设计过程1)使用PROTEL软件绘制原理图。
2)制作PCB版图。
3)应用EWB对所设计的电路进行仿真。
2 设计框图(1)各个模块的功能说明-74160,是一个4位二进制的计数器,它具有异步清除端与同步清除端不同的是,它不受时钟脉冲控制,只要来有效电平,就立即清零,无需再等下一个计数脉冲的有效沿到来。
具体功能如下:1.异步清零功能只要(CR的非)有效电平到来,无论有无CP脉冲,输出为“0”。
在图形符号中,CR的非的信号为CT=0,若接成七进制计数器,这里要特别注意,控制清零端的信号不是N-1(6),而是N(7)状态。
其实,很容易解释,由于异步清零端信号一旦出现就立即生效,如刚出现0111,就立即送到(CR的非)端,使状态变为0000。
所以,清零信号是非常短暂的,仅是过度状态,不能成为计数的一个状态。
清零端是低电平有效。
2.同步置数功能当(LD的非)为有效电平时,计数功能被禁止,在CP脉冲上升沿作用下D0~D3的数据被置入计数器并呈现在Q0~Q3端。
若接成七进制计数器,控制置数端的信号是N(7)状态,如在D0~D3置入0000,则在Q0~Q3端呈现的数据就是0110。
7448七段显示译码器7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。
该集成显示译码器设有多个辅助控制端,以增强器件的功能。
7448的功能表如表5.3.4所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下:1. 灭灯输入BI/RBOBI/RBO是特殊控制端,有时作为输入,有时作为输出。
出租车计费器的设计
出租车计费器的设计一、硬件设计:1.计费器的结构设计:计费器应该具有合理的结构设计,方便在出租车内部进行固定安装,同时具备防震、防水等特性,以应对复杂的车内环境。
计费器还应具备易于维修和维护的特点,方便后期管理和更新。
2.显示屏设计:计费器的显示屏需要能够显示出租车费用、里程、时间和其他相关信息。
显示屏应采用高对比度的技术,以确保在各种光照条件下都能清晰可见。
同时,显示屏还应具备适合司机观看的尺寸和角度,方便司机在行驶过程中获取所需信息。
3.按键设计:计费器的按键应具有合理的布局和大小,方便司机操作。
按键的触感应该舒适,防止因按键设计不佳导致司机误操作。
计费器还可以设置额外的功能按键,如选择计费模式、调节亮度等,以提高司机的使用体验。
4.通讯模块设计:计费器需要与出租车的其他系统进行通信,如车载定位系统、计价仪等。
通讯模块应具备稳定的通信能力,支持不同通信协议,并且能够快速响应和处理来自其他系统的信息。
通讯模块还应具备保密性和安全性,防止信息泄露和非法侵入。
二、软件设计:1.计费算法设计:计费算法是出租车计费器最核心的功能之一、计费器应能够根据里程、时间和其他因素进行准确的计费。
计费算法需要考虑不同的计费模式、起步价、里程费、等候费等因素,并且具备合理的计费规则,以确保计费的公平和准确性。
2.数据处理逻辑设计:计费器需要对输入的数据进行处理和分析,以提供司机所需的信息。
数据处理逻辑应能够实时处理输入的里程、时间和其他相关数据,并更新计费结果和显示屏的内容。
同时,数据处理逻辑还应具备容错性,确保在异常情况下也能正常运行。
3.用户界面设计:计费器的用户界面应具备友好和易用的特点。
用户界面设计应考虑司机的使用习惯和特点,以简化操作步骤和提高操作效率。
计费器的用户界面还可以根据不同的需求设置不同的显示模式,如夜间模式、高亮度模式等,以满足司机的个性化需求。
总结:出租车计费器的设计需要考虑硬件和软件两个方面,合理的硬件设计可以提高计费器的可靠性和稳定性;而科学的软件设计可以保证计费器的准确性和易用性。
出租车计费系统的设计(好)
1.所选题目:出租车计费器2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下:(1)实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在汽车行驶2km后按1.2元/km计费,当里程数达到15km后,没千米加收50%的空驶费,车辆停止和暂停时不计费。
(2)现场模拟汽车的启动、停止、暂停和换挡等状态。
(3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。
3.设计原理:设计该出租车有启动键、停止键、暂停键和档位键。
启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。
4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块。
系统框图如下:5.电路符号:出租车计费器的输入信号有:计费时钟脉冲clk;汽车启动键star t;汽车停止键stop;档位speedup。
输出信号:7段显示控制信号seg7;小数点dp。
6.具体设计流程:(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为cou nterA,counterB,counterC,counterD,counterE。
①计数器A完成车费百位。
②计数器B完成车费十位和个位。
③计数器C完成车费角和分(显示时只显示角)。
④计数器D完成计数到20(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100 m的功能。
(2)当超出起步价时就自动在起步价的基础上每增加一个100m脉冲就增加相应的费用,而当总里程达到或超过一定的数值时,能按新的收费标准进行收费。
(3)译码/动态扫描电路模块将路程与费用的数值译码后用动态扫描的方式驱动6只数码管,即所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。
出租车拼车计费系统的设计
近期国内一些城市的地方政府相继修改了 “ 出租汽车管理 条例” , 现行条例中提到了允许出租车拼车出行, 但都没有具体 的实施办法, 对拼车的出行的态度不鼓励、 不禁止, 处于司机与 乘客协商计价的运行阶段。国内一些城市, 例如西安, 对出租车 拼车计价的处理方式是乘客自行议价, 这种方式缺乏标准, 没有 从根本上解决问题, 会带来发生纠纷的可能, 因此拼车计费的标 准仍是空白。 计价器是乘客与司机双方的交易准则, 它是出租车 行业发展的重要标志, 是出租车中最重要的工具, 它关系着交易 双方的利益 牞 具有良好性能的计价器 无 论 是 对 广 大 出 租 车 司 机 朋友还是乘客来说都是很必要的。
板作为主控芯片, 通过控制霍尔传感器模块模拟车轮转速, 通过 电源模块 L 、 M3 1 7 L M7 8系 列 芯 片 为 整 个 系 统 提 供 电 源 , 通 过 MA X 2 3 2电路实现串口通信,通过控制 T P C 7 0 6 2 K W 组态屏模 块实现人机界面选择,通过控制 R D - T H系 列 热 敏 微 型 打 印 机 实现出租车票价打印, 6 4 1 6的点阵显示主要显示出租车的行 驶目的地及广告等。
6 2
出租车拼车计费系统的设计
出租车拼车计费系统的设计
D e s i g no f T a x i S h a r i n gB i l l i n gS y s t e m
彭永杰 廖建文 吴
宜宾职业技术学院电子信息与控制工程系, 四川 宜宾 6 ) 熹 ( 4 4 0 0 0
摘
要
出租车拼车计费系统硬件设计采用单片 机 P K 1 0 N 5 1 2 V L L 1 0为 主 控 芯 片 , T P C 7 0 6 2 K W 组态触摸屏为监控操作界面, 显示部分为 6 在软件上将乘车状态划分为单乘状态和拼车状态, 同时根据当地物价水平设定计费方案, 计算出 4 1 6点阵; 不同乘客的车费, 车内车费的显示采用实时刷新的方法; 该系统样机已经成型, 经测试操作简单、 稳定且成本较低。 关键词 : 出租车拼车, 计费系统, T P C 7 0 6 2 K W 组态屏
出租车计价系统设计
目录内容提要 (2)正文 (3)硬件电路原理图 (3)程序流程图 (4)源程序代码 (4)设计体会 (7)参考文献 (7)内容提要出租车计价器系统要求:价格=速度*时间*单价。
出租车在白天、夜晚计价方式不同。
白天:1.1元/公里,超过6公里2.0元/公里;夜晚:1.5元/公里,超过6公里2.5元/公里。
总价等于其和。
本设计将价格换算成:价格=车轮圈数*车轮周长*单价。
采用计数器TM50、TM51的外部计数功能从轮速传感器上采集脉冲信号;利用NEC单片机的外部中断功能(P0/P12.0)进行白天与夜晚的切换;利用开发板上的LED数码管进行价格显示模拟。
同时,通过改变电路连接方式,可实现计费暂停,清零功能。
本系统是以NEC78K0系列单片机为平台,以C语言为工具进行的设计开发。
正文:出租车计价器系统本系统设计的意义在于,实现了出租车计费完全采用‘走多少路花多少钱’的模式,从消费者的利益出发,是原有系统的优化。
在此次设计中,本人的主要任务是参与主程序的编写任务,并进行调试修改。
一、硬件电路连接原理图:原理图说明:1、端口设置:按键中断——P0/P12.0 数码管:阳极——P4.0~P4.7阴极——P5.0~P5.3 车速传感器输入端——P1.7与P3.3 2、功能解释:车速传感器产生车轮圈数信号,此信号经过单片机的处理输出价格并在LED数码管上显示;按键为中断,控制白天与夜晚之间计费的转换。
二、程序流程图:开始初始化P0中断:是否白天TM50计数白天里程TM51计数黑夜里程Y N三、源程序代码:#pragma sfr#pragma DI#pragma EI#pragma interrupt INTTM50 DAY#pragma interrupt INTTM51 NIGHT#pragma interrupt INTP0 DNCunsigned char tab1[10]={0xfc,0x60,0x3e,0x6e,0xe2,0xce,0xde,0x64,0xfe,0xee}; unsigned char tab2[10]={0xfc,0x18,0x6e,0x5e,0x9a,0xd6,0xf6,0x1c,0xfe,0xde}; unsigned int num100=0,num10=0,num1=0,num0=0;float m=0,s=0,i=0,j=0;unsigned int n=0;void delay() /*延时函数*/{int t;for(t=0;t<50;t++);}void jishuqi() /*计数器TM50、TM51初始化*/ {PM1.7=1;PU1.7=1;TCL50=0X01;TMC50=0X80;CR50=0Xc2;TMIF50=0;TMMK50=0;TMPR50=0;PM3.3=1;PU3.3=1;TCL51=0X01;TMC51=0X00;CR51=0Xc2;TMIF51=0;TMMK51=0;TMPR51=0;}void heibai() /*外部中断P0初始化*/{PM12.0=1;PU12.0=1;PIF0=0;PMK0=0;PPR0=1;EGP.0=1;EGN.0=0;}void zhongbiao() /*LED显示端口初始化*/ { PM4=0;PU4=0XFF;PM5=0;PU5=0XFF;P5=0X00;}__interrupt void DAY() /*TM50白天中断函数*/{i++;s=3.14*2*0.5*i;if(s<=6.0)m=1.1*s;else if(s>6.0)m=2*(s-6.0)+6.6;n=10*m;num100=n/1000; /*显示数精确到一位小数*/ num10=(n/100)%10;num1=(n/10)%100%10;num0=(n/1000)%100%10;}__interrupt void NIGHT() /* TM51夜晚中断函数*/ {j++;s=3.14*2*0.5*j;if(s<=6.0)m=1.5*s;else if(s>6.0)m=2.5*(s-6.0)+9.0;n=10*m;num100=n/1000;num10=(n/100)%10;num1=(n/10)%100%10;num0=(n/1000)%100%10;}__interrupt void DNC() /* P0外部中断函数*/ {TMMK50=!TMMK50;TCE51=!TCE51;i=0; /* 清零功能设置*/j=0;}void main() /* 主函数*/{DI();IMS=0xcc;IXS=0x00;jishuqi(); /* 调用初始化函数*/heibai();zhongbiao();EI();while(1) /* LED数码管显示程序*/{P5.0=0;P5.1=1;P5.2=1;P5.3=1;P4=tab2[num0];delay();P5.0=1;P5.1=0;P5.2=1;P5.3=1;P4=tab2[num1];delay();P5.0=1;P5.1=1;P5.2=0;P5.3=1;P4=tab1[num10];delay();P5.0=1;P5.1=1;P5.2=1;P5.3=0;P4=tab1[num100];delay();}}四、设计体会:通过此次NEC电子设计实习,加强了对NEC单片机、Protel基本功能的认识,能够较为灵活的利用NEC单片机进行简单系统的设计开发,进一步熟练了Prote电路设计软件的使用。
出租车收费系统的设计
总结
这次毕业设计,我们采用单片机控制来完成设计的要求,利用单片 机丰富的 I/O端口,及其控制的灵活性,实现基本的里程计价功能 和价格调节、时钟显示功能。而采用模拟电路和数字电路设计的计 价器整体电路的规模较大,用到的器件多,造成故障率高,难调试, 对于模式的切换需要用到机械开关,机械开关时间久了会造成接触 不良,功能不易实现。所以我们采用了单片机进行设计,相对来说 功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现 设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。 本系统是由MCS-51单片机、液晶显示模块、计数脉冲发生器、系 统实时时钟等模块组成。脉冲发生器主要是发出脉冲给MCS-51单 片机进行处理,MCS-51单片机先把脉冲换算成公里数在进行里程 的计量,键盘是控制单片机的工作模式按键,液晶显示模块是接收 MCS-51单片机发出的现实图像数据,然后显示出来。实时时钟的 显示由工作模式决定,当出租车是空车状态时,MCS-51单片机就 会发出指令使其中液晶板进行显示。电源模块是为整个系统提供电 源。
软件设计
费率的计算是本系统的重点,它包括了3种计费情 况。首先是起步价和燃油附加费,起步价是路程小于 2KM的价格7元,燃油附加费是法定的收费项目1元。 第二种是路程大于2KM而小于35KM的时候的计费模 式,在这个模式里,前2KM收费为8元,之后一直到 35KM都是每KM加2.5元的收费模式。第三种计费模 式是路程大于35KM的,因为要加空驶费,所以它包 括了第一和第二种的全部费用,而超出35KM后则是 每KM加收3.5元,再加上燃油附加费。这个费率系统 是按照里程的长短而计算的,分为短途费率和长途费 率,以35KM为分界点。这个是费率计算设计思路, 里程和费率计算程序流程图如下图:
出租车计费器的设计.doc
课程设计报告课程名称数字系统与逻辑设计课题名称出租车计费器的设计专业通信工程班级学号姓名指导教师乔汇东胡倩2011年7月9日湖南工程学院课程设计任务书课程名称数字系统与逻辑设计课题出租车计费器的设计专业班级学生姓名学号指导老师乔汇东胡倩审批乔汇东任务书下达日期2011 年7月2日任务完成日期2011 年7月9日《数字系统与逻辑设计》课程设计任务书一、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求1、设计正确,方案合理。
2、程序精炼,结构清晰。
3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
4、上机演示。
5、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排第二十周星期一:课题讲解,查阅资料星期二:总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
目录一、出租车系统主要功能 (4)二、出租车计费系统功能模块 (4)1. 计费模块 (4)2. 计程模块: (5)三、出租车计费系统的功能实现 (5)1. 系统的总体框图: (5)2. 程序流程图: (6)3. 系统各功能模块的实现: (6)四、系统调试与仿真 (7)1. 错误提示: (7)2. 系统仿真结果: (7)五、总结与体会 (7)六、附录 (8)1. 顶层模块: (8)2. 计量模块: (11)3. 计费模块: (12)七、评分表 (14)一、出租车系统主要功能设计要求:本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3 元,准行1 公里,以后1 元/公里。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.所选题目:出租车计费器2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下:(1)实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在汽车行驶2km后按1.2元/km计费,当里程数达到15km后,没千米加收50%的空驶费,车辆停止和暂停时不计费。
(2)现场模拟汽车的启动、停止、暂停和换挡等状态。
(3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。
3.设计原理:设计该出租车有启动键、停止键、暂停键和档位键。
启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。
4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块。
系统框图如下:5.电路符号:出租车计费器的输入信号有:计费时钟脉冲clk;汽车启动键start;汽车停止键stop;档位speedup。
输出信号:7段显示控制信号seg7;小数点dp。
6.具体设计流程:(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。
①计数器A完成车费百位。
②计数器B完成车费十位和个位。
③计数器C完成车费角和分(显示时只显示角)。
④计数器D完成计数到20(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100 m的功能。
(2)当超出起步价时就自动在起步价的基础上每增加一个100m脉冲就增加相应的费用,而当总里程达到或超过一定的数值时,能按新的收费标准进行收费。
(3)译码/动态扫描电路模块将路程与费用的数值译码后用动态扫描的方式驱动6只数码管,即所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。
(4)数码管显示将千米数和计费金额均用3位LED数码管显示(2位整数,1位小数)。
7.具体模块设计:7.1车速控制模块当启停键为启动状态(高电平时),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于暂停状态,暂停发出脉冲,此时里程计数模块和计费模块相应地停止计数。
当处于停止状态时,停止发出脉冲,此时计费器和里程显示模块数清零。
如图所示。
程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SPEED ISPORT(CLK,RESET,START,STOP: IN STD_LOGIC;SPEEDUP : IN STD_LOGIC_VECTOR(4 DOWNTO 0);CLKOUT : OUT STD_LOGIC);END SPEED;ARCHITECTURE A OF SPEED ISSIGNAL COUNT1 :STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL TEMPCLK,CLKS:STD_LOGIC;SIGNAL KINSIDE :STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINKINSIDE<="00000"-SPEEDUP;CLKS_LABEL:PROCESS(RESET,CLK)VARIABLE COUNT2: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINIF STOP='1' THEN TEMPCLK <='0';ELSIF RESET = '1' and stop='0' THENCOUNT2:="00000";ELSIF CLK'EVENT AND CLK='1' AND STOP='0' THEN IF START='1' THENIF COUNT2=KINSIDE THEN COUNT2:="00000";END IF;IF NOT (SPEEDUP="00000") THEN COUNT2:= COUNT2+1; END IF;IF COUNT2="00001" THEN TEMPCLK <= NOT TEMPCLK; END IF;END IF;END IF;END PROCESS CLKS_LABEL;CLKOUT <= TEMPCLK;END A;仿真结果:启动后(包括暂停)复位后停止后7.2里程计数模块由车速控制模块发出的脉冲作为计数脉冲,行驶里程大于3KM时,本模块中信号变为1,并将计数动态显示出来,每来一个脉冲,里程值加0.1(每收到一个脉冲代表运行了0.1公里)。
程序中要将计数值从十六进制转换成十进制,即在十六进制的数上加7或6,同时产生了相应的进位信号。
如图所示。
程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jicheng ISPORT (CLK,RESET,STOP: IN STD_LOGIC;COUNT1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);COUNT2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);COUNT3:OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END jicheng;ARCHITECTURE AA OF jicheng ISBEGINPROCESS(CLK,RESET,STOP)VARIABLE MM: STD_LOGIC_VECTOR (11 DOWNTO 0);BEGINIF RESET ='1' THENMM:="000000000000";ELSIF CLK='0' AND STOP='1' THEN MM:="000000000000";ELSIF CLK'EVENT AND CLK='1' AND STOP='0' THENIF MM(3 DOWNTO 0)="1001" THENMM:=MM+7; ELSE MM:=MM+1; END IF;IF MM(7 DOWNTO 4)="1010" THENMM:=MM+"01100000"; END IF;END IF;COUNT1 <=MM(3 DOWNTO 0);COUNT2 <=MM(7 DOWNTO 4);COUNT3 <=MM(11 DOWNTO 8);END PROCESS;END AA;仿真结果:开始计程个位开始计数十位开始计数停止后7.3计费模块计费模块启动reset信号,根据输入的clk信号变化,调节费用的计数,用c1、c2、c3显示费用。
其初值为6,当里程数超过2km后,才接受计数车速控制模块发出的脉冲的驱动,并且将计数显示动态显示出来,每一个脉冲其数值加0.12,当里程超过15km时数值加0.18。
当启动键为启动状态(高电平时),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时,暂停发出脉冲,此时计费器和里程显示模块相应的停止计数,全部归零。
如图所示。
程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jifei ISPORT(CLK,RESET,stop:IN STD_LOGIC;JUDGE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);JUDGE3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);COUNT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUNT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUNT3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUNT4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jifei;ARCHITECTURE AA OF jifei ISSIGNAL EN :STD_LOGIC;SIGNAL MONEY :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL MCOUNT :STD_LOGIC_VECTOR(15 DOWNTO 0);BEGINMONEY<="00011000" WHEN ((MCOUNT(15)='1') OR (MCOUNT(14)='1') OR(MCOUNT(13)='1')) ELSE "00010010";EN<='0' WHEN JUDGE3="0000" AND JUDGE2(3 DOWNTO 1)="000" ELSE '1';PROCESS(clk,reset)VARIABLE mm: std_logic_vector(15 downto 0);BEGINif stop='1'and clk='0' THEN mm:="0000000000000000";elsIF reset='1' and stop='0'THENmm:="0000011000000000"; --复位,计费显示为起步费6.00 ELSIF clk'event and clk='1' and stop='0' THENIF en='1' THEN mm:=mm+money; --里程超过2公里IF (mm(1)='1'or(mm(3 downto 1)="000")or(mm(3 downto2)="11"))THENmm:=mm+6;END IF; --十六进制转换成十进制IF mm(7)='1'and (not(mm(6 downto 5)="00"))THENmm:=mm+"01100000";END IF;IF mm(11)='1'and(not(mm(10 downto 9)="00"))THENmm:=mm+"011000000000";END IF;END IF;END IF;count1<=mm(3 downto 0);count2<=mm(7 downto 4);count3<=mm(11 downto 8);count4<=mm(15 downto 12);mcount<=mm;END PROCESS;END aa;仿真结果:起步后开始计费行驶2公里后行驶15公里后停止后7.4 动态扫描模块动态扫描电路将计数器A、B、C的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。