出租车自动计费器

合集下载

出租车计费器设计与实现

出租车计费器设计与实现

出租车计费器设计与实现随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定计费准确,乘客乘坐出租车时,其费用分成起步价、行车里程费和等候时间费三部分,由自动计费器自动记录。

安装在与汽车轮相连接的传感器在汽车行进时向自动计费器发送脉冲信号,在一定的公里数(即一定的脉冲数)内,按起步价计费;超过这一里程后,自动计费器按里程计费;如果停车等候,按等候时间的多少计费。

二、设计任务与要求设计一个出租车自动计费器。

(1)用3位数码管显示总的金额,最大值为99.9元。

(2)起步价为6元,里程为3公里。

(3)车轮旋转一圈(设周长为3米),里程传感器发一个脉冲。

单价为1.60元/公里。

(4)等待单价是0.1元/分钟。

车行过程中的等待也计费。

(5)计费器按1角为单位累加,不足1角不加。

(6)单价显示,等待计费,正常行驶计费。

(7)行驶速度动态显示,四位显示,精度0.1公里/小时(8) 可以在当地的物价调整时改变起步价和每公里的单价三、设计方案论证方案一:利用大规模的数字逻辑器件来实现,简单的汽车计费器功能,其原理是利用计数器来实现对汽车车轮旋转时按在车轮上的传感器产生的计数脉冲进行计数,通过计数值达到33次可以认为近似0.1公里(车轮的周长为3米),每0.5公里显示0.8,用数字逻辑器件设计电路,电路的很复杂,成本很高,没有什么实际的运用价值。

方案二:利用89C51片机实现汽车计费器的设计,大部分的功能可以用单片机来实现,这样可以使整个电路比较简单,而且成本也比较低,(使用单片机的外围电路比较简单),而且在时间计数和速度的计算上精度大,扩展功能很方便。

但如果系统设计的不好,则系统不是很稳定,这样就为系统设计提出了挑战。

方案三:利用CPLD/FPGA来实现-------电子EDA技术,实现汽车计费器。

可行性很高,而且电路简单,可以用软件完全仿真,但设计实现比较困难,对设计者的要求很高。

软件要求高。

出租车自动计费器的设计方案

出租车自动计费器的设计方案

出租车自动计费器的设计方案自动计费器是出租车行业中必不可少的工具之一,它的设计方案对于提高出租车行业的效率和服务质量至关重要。

本文将介绍一个出租车自动计费器的设计方案,以满足行业的需求。

首先,出租车自动计费器应该具备准确计算乘客乘车费用的功能。

它应能够根据车辆的行驶路程、时间以及夜间加价等因素自动计算费用,并显示在计费器的屏幕上。

计费器的算法应精确可靠,以避免因计费错误导致的纠纷。

其次,出租车自动计费器的设计应该考虑便捷性和易用性。

计费器应有清晰易懂的界面和操作按钮,司机和乘客能够迅速明了地了解当前费用和支付方式。

此外,计费器应该支持多种支付方式,如现金、刷卡和移动支付等,以满足不同乘客的需求。

另外,出租车自动计费器应具备实时定位功能。

通过与GPS导航系统的结合,计费器可以准确获取车辆的位置信息,并根据不同地区的收费标准自动进行计费。

这样不仅可以避免司机的作弊行为,还可以提供乘客行程的准确记录,方便后续的服务投诉和纠纷解决。

在安全方面,出租车自动计费器应具备防拆功能和数据保护功能。

计费器的设计应考虑到在恶劣的工作环境中仍能正常运行,并能够防止被破坏或盗取。

同时,计费器应有密码保护和数据加密功能,以确保司机和乘客的个人信息和交易数据的安全。

为增加出租车自动计费器的实用性和便利性,可以考虑加入车辆监控和导航导航功能。

车辆监控功能可以帮助车辆管理部门实时获取车辆的行驶状态和位置信息,以便调度和监管;导航功能则可以帮助司机选择最短路径和避开拥堵路段,提高行程效率。

此外,出租车自动计费器还应具备自动上传数据的功能。

它可以将每次乘车的费用、行程、时间等数据自动上传至管理平台或相关部门,以便实时统计和分析。

这样可以提供经营者和有关部门的数据支持,并用于行业监管和评估。

综上所述,一个出租车自动计费器的设计方案应包括准确计算费用、便捷易用、实时定位、安全防护、车辆监控和数据上传等功能。

这样的设计方案将能够满足出租车行业的需求,提高行业的效率和服务质量。

出租车自动计费器设计原理与优化分析

出租车自动计费器设计原理与优化分析

出租车自动计费器设计原理与优化分析出租车自动计费器是出租车行业中常见的计费工具,它能够自动根据乘客乘坐的里程和时间来计算费用。

理解和优化这一计费器的设计原理对于提高出租车计费的准确性和公平性具有重要意义。

本文将探讨出租车自动计费器的设计原理和可能的优化方法。

首先,我们了解出租车自动计费器的设计原理。

通常,计费器通过与车辆的里程计和时间计时装置相连,来实时获取里程数和乘车时间。

它的基本计费方式是根据行驶里程和乘坐时间进行累计,并按照一定的费率进行计算。

计费器还可以应用一些附加费用,如过路费和停车费等。

在进行计费时,有几个关键因素需要考虑。

首先是里程计算,计费器需要准确获取起始点和终点之间的行驶里程。

这通常可以通过车辆的里程计和GPS技术来实现。

其次是时间计算,计费器需要准确记录乘车时间,通常使用车辆上的计时装置实现。

最后是费率计算,计费器应该能够根据制定的费率表对里程和时间进行计算,确保费用的公平性和准确性。

然而,目前一些出租车自动计费器存在一些问题和潜在的优化空间。

首先,计费器的精度可能存在误差。

这可能是由于里程计的不准确性、时间计时装置的不精确或者GPS定位误差等原因造成的。

为了提高计费的准确性,可以使用更精确的计量装置,例如使用更准确的里程计和精确的时间计时装置。

其次,计费器的费率可能不够公平。

费率的制定应该能够充分考虑不同乘车距离和时间段的差异性,以确保乘客在不同情况下获得公平的计费。

优化的方法包括根据乘车距离和时间动态调整费率,或者基于交通拥堵情况进行优惠政策。

此外,还有优化空间可以通过引入更多的计费因素来实现。

例如,可以考虑乘客数量、车内空调使用时间等因素,来进一步增加计费的准确性和公平性。

这样可以使计费更加细致化,更加贴近乘客的实际需求。

最后,为了确保计费的透明度和公正性,应该加强对计费器的监管和审查。

政府部门可以设立相应的标准和检测机构,对计费器进行定期的检测和维护,以确保其功能的正常运行和准确计费。

出租车计费器自动化方案的发展趋势

出租车计费器自动化方案的发展趋势

出租车计费器自动化方案的发展趋势随着科技的不断进步和技术的不断创新,出租车计费器自动化方案的发展趋势已经逐渐显现出来。

出租车计费器是出租车行业中的重要设备之一,它对于乘客和出租车司机来说都具有重要的意义。

传统的出租车计费器需要司机手动输入里程和时间等信息进行计费,容易出现误操作和纠纷。

而自动化方案的发展将极大地提高计费的准确性和效率,为出租车行业带来巨大的便利和改善。

首先,随着车辆定位技术的发展,出租车计费器将实现自动定位功能。

通过将出租车和计费器与GPS系统相连,可以实时获取出租车位置信息,自动计算行驶里程、路程时间和行车速度等关键指标,从而精确计算费用。

这种自动化的定位技术不仅可以减少司机的工作负担,还可以减少人为操作错误和欺诈行为,提高计费的公正性和可靠性。

其次,出租车计费器的自动化方案将更加智能化。

随着人工智能技术的发展,出租车计费器可以通过学习和分析大量的乘车数据,自动识别乘客的上下车地点和行车路线,并根据道路拥堵情况和时间变化自动调整计费参数。

这种智能化的计费方案能够更好地适应不同的道路和交通状况,提高计费的准确性和合理性。

此外,出租车计费器的自动化方案还需要与支付系统相结合,实现无现金支付。

通过与移动支付平台的对接,乘客可以使用手机扫码或小程序进行支付,避免了携带现金的麻烦和安全风险。

同时,支付系统还可以与出租车计费器进行实时对账,确保计费的准确性和清晰度,提高服务质量和用户满意度。

而在用户方面,出租车计费器的自动化方案将提供更加便捷的乘车体验。

例如,乘客可以通过手机APP预约出租车并实时追踪车辆位置,不再需要在路边等待。

同时,出租车计费器可以自动识别乘客目的地并提供优惠折扣和推荐服务,增加用户对出租车的使用频率和黏性。

然而,出租车计费器自动化方案在发展过程中也面临着一些挑战。

首先是技术问题,比如GPS信号不稳定、数据传输延迟等,可能导致计费误差或异常。

其次是监管和隐私问题,自动化方案需要与政府监管机构和乘客的个人信息进行合规和保护,确保数据安全和使用透明度。

出租车自动计费器设计原理分析

出租车自动计费器设计原理分析

出租车自动计费器设计原理分析出租车自动计费器是现代交通工具中普遍使用的设备,它可以根据行驶的里程和时间自动计算乘客应支付的费用。

本文将分析出租车自动计费器的设计原理。

出租车自动计费器是一个复杂的系统,主要由计费单元、传感器、显示屏和控制单元等部分组成。

计费单元是整个系统的核心,通过收集行车数据并进行计算,确定乘客应支付的费用。

传感器用于检测车辆的里程和时间,传输这些数据给计费单元。

显示屏用于展示乘客应支付的费用和当前的行车数据。

控制单元则负责整个系统的控制与管理。

首先,出租车自动计费器需要收集并处理车辆的里程和时间数据。

这一过程主要依靠车载传感器实现,例如车辆速度传感器、里程传感器和时钟模块等。

车辆速度传感器可以实时监测车辆的速度,并将速度数据传输给计费单元。

里程传感器则用于测量车辆行驶的距离,并将里程数据传输给计费单元。

时钟模块则用于记录车辆的行驶时间。

通过收集这些数据,计费单元可以准确计算出乘客应支付的费用。

其次,计费单元需要根据收集到的数据进行计算。

其中,里程计算是计费单元最重要的部分。

计费单元需要将行驶的里程数据与预设的收费标准进行比对,并根据里程进行费用的累加。

同时,计费单元还需要考虑行驶时间的影响。

一些地区的收费标准还会考虑高峰时段的加价。

计费单元还需要处理行驶距离超过规定范围的情况,例如长途距离的计费方式可能与短途不同。

通过精确的计算,计费单元可以准确、公正地计算出乘客应支付的费用。

另外,出租车自动计费器还需要具备一定的显示功能。

显示屏可以实时展示乘客应支付的费用、车辆的行驶数据以及其他相关信息。

这样可以方便乘客了解行程费用,并避免争议。

此外,显示屏还可以提供一些额外的服务,例如显示天气信息、提供导航功能等,提升乘客的乘车体验。

最后,控制单元负责整个系统的控制与管理。

它可以根据乘客的需求,实现计费单元和显示屏的协调工作。

同时,控制单元还需要记录行车数据、维护系统的稳定运行以及处理异常情况。

出租车计费器

出租车计费器

出租车计费器设计要求计费标准为武汉起步3元,1公里后为4元/公里,1.5公里后为5元/公里,2公里后为6元/公里,2.5公里后为7元/公里,3公里后为8元/公里,以后1.4元/公里。

当计费达到20元后,每公里加收50%的车费,车停止每3分钟增加0.7元。

车费显示出来,有一位小数。

1、 设计原理及方法如图1所示,包含运算控制模块、分频器、显示模块这三大部分。

图1系统框图运算控制器模块将其他两个进行连接,是本次设计的核心。

它包含计程器、计时器、计价器,同时还有读取外部的拨码开关控制信号,提供当前显示信号与显示位选信号,从而周期性交替显示计价/计时信息、等时信息。

计程器、计时器、计价器根据位选信号,输出相应数据的当前选中数字,由顶层模块根据显示数据类型变换信号进行选择,传输给显示模块。

实验箱的时钟信号为20MHz方波,由分频器分为10Hz的计时信号(一个周期代表现实中的1s)、10Hz的计程信号(一个周期代表现实中的10m)、500Hz的数码管扫描信号(扫描频率62.5Hz)、0.2Hz的显示数据类型变换信号(变化周期5s)。

显示模块由实验箱上的3/8译码器、五个LED灯构成状态的指示灯、程序编写的一个七段数码管译码器。

2、主要模块设计2.1、速度模块速度模块首先根据start信号判断是否开始计费,然后根据输入的速度档位sp[2..0]的判断,确定行驶100m所需要的时钟数,每前进100m,输出一个clkout 信号。

同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。

其模块框图如图2图2速度模块框图2.1.1、速度模块仿真速度模块的仿真波形图如图3示。

该模块根据出租车所处的运行状态和不同的形式速度,对相应数目的时钟周期进行计数,车每行驶100m时输出信号clkout 输出高电平。

图3速度模块仿真波形图2.2、计程模块主要用于记录行进的距离,其模块框图如图4所示。

出租车计费器

出租车计费器

出租车计费器一、设计任务出租车自动计费器是根据客户用车的实际情况而自动计算、显示车费的数字表。

数字表根据用车起步价、行车里程计费及等候时间计费三项显示客户用车总费用,打印单据,还可设置起步、停车的音乐提示或语言提示。

1.自动计费器具有行车里程计费、等候时间计费和起步费三部分,三项计费统一用4位数码管显示,最大金额为99.99元。

2.行车里程单价设为1.80元/km,等候时间计费设为1.5元/10分钟,起步费设为8.00元。

要求行车时,计费值每公里刷新一次;等候时每10分钟刷新一次;行车不到1km或等候不足10分钟则忽略计费。

3.在启动和停车时给出声音提示。

二、设计方案方案1 采用计数器电路为主实现自动计费。

分别将行车里程、等候时间都按相同的比价转换成脉冲信号,然后对这些脉冲进行计数,而起价可以通过预置送入计数器作为初值,如图1的原理框图所示。

行车里程计数电路每行车1km输出一个脉冲信号,启动行车单价计数器输出与单价对应的脉冲数,例如单价是1.80元/km,则设计一个一百八十进制计数器,每公里输出180个脉冲到总费计数器,即每个脉冲为0.01元。

等候时间计数器将来自时钟电路的秒脉冲作六百进制计数,得到10分钟信号,用10分钟信号控制一个一百五十进制计数器(等候10分钟单价计数器)向总费计数器输入150个脉冲。

这样,总费计数器根据起步价所置的初值,加上里程脉冲、等候时间脉冲即可得到总的用车费用。

图1 出租车计费器原理框图一上述方案中,如果将里程单价计数器和10分钟等候单价计数器用比例乘法器完成,则可以得到较简练的电路。

它将里程脉冲乘以单价比例系数得到代表里程费用的脉冲信号,等候时间脉冲乘以单位时间的比例系数得到代表等候时间的时间费用脉冲,然后将这两部分脉冲求和。

如果总费计数器采用BCD码加法器,即利用每计满1km的里程信号、每等候10分钟的时间信号控制加法器加上相应的单价值,就能计算出用车费用。

图2 出租车计费器原理框图二方案2 采用单片机为主实现自动计费。

出租车自动计费器的设计原理分析

出租车自动计费器的设计原理分析

出租车自动计费器的设计原理分析出租车自动计费器是一种应用于出租车行业的设备,用于准确计算乘客的车费并提供相关信息。

它是出租车行业中不可或缺的一部分,通过自动化计费系统,确保乘客和司机之间的交易公平、透明。

出租车自动计费器的设计原理可以大致分为以下几个方面:1. 计价规则与费率表:出租车自动计费器的设计需要根据当地的法规和政策,在其内部设置相应的计价规则和费率表。

这些规则和费率表通常由政府部门制定,并根据当地的交通、燃油价格等因素进行调整。

计费器根据行驶距离、时间、等候时间等因素来计算车费,并根据费率表提供准确的计费信息。

2. 里程计算与定位系统:自动计费器通过里程计算,精确地测量出租车行驶的距离。

这通常通过车辆上安装的里程传感器来实现,它可以实时监测车辆的行驶状况,并将数据传输给计费器进行计算。

同时,定位系统(如GPS)也被应用于自动计费器中,以便准确计算出租车行驶的距离和时间。

3. 时间计算与时钟系统:除了里程计算,自动计费器还需要正确计算出租车的行驶时间。

为此,计费器内置了精确的时钟系统,可以准确记录出租车的行驶开始和结束时间,以便计算行驶时间。

时钟系统通常会自动校准以确保准确性。

4. 显示器与用户界面:出租车自动计费器通常会配备一个显示器和用户界面,用于向乘客显示当前的车费和其他相关信息。

乘客可以根据显示器上的信息来了解乘车费用,并可以通过用户界面进行一些操作,如选择付款方式等。

5. 结算与支付:自动计费器设计需要支持多种支付方式,如现金、刷卡等。

计费器通过连接支付终端或电子支付平台,实现与支付系统的集成,以便乘客可以方便地完成支付。

同时,自动计费器还需记录每一笔交易的信息,以便司机和乘客在需要时进行查阅和核对。

除了以上的设计原理,出租车自动计费器还需要考虑耐用性、安全性和易使用性等因素。

例如,设计师需要选择高品质的材料来保证计费器的稳定性和耐用性,还需要考虑防水、防尘等特性以适应车辆使用环境。

出租车自动计费器课程设计报告

出租车自动计费器课程设计报告

电子课程设计——出租车自动计费器出租车自动计费器一、 设计任务与要求出租车自动计费器是根据客户用车的实际情况而自动显示用车费用的数字仪表。

仪表根据用车起价、行车里程两项求得用车的总费用,通过数码自动显示。

1. 设计一个自动计费器,具有行车里程计费,起价等部分。

用四位数码管显示总金额,最大金额是99.99。

2. 行车起价为8.00元,超过5公里为1.6元/公里(60公里每小时)二、总体框图模块功能与设计思路:计费的电路将汽车行驶的里程数转换成与之成正比的脉冲个数,在出租车转轴上加装传感器,以便获得“行驶里程信号”。

脉冲源为电路提供的脉冲的周期与行车里程正比。

起价部分电路通过脉冲源加在八百进制计数器上,在800个脉冲之前显示器一直显示0800,当八百进制计数器显示799时通过门电路控制使其停止计数(此时到达五公里)。

然后160进制计数有效,每计一个数,10000进制计数器也计一个数,显示器的数值加一。

三、器件选择与功能简介元器件名称数量备注555定时器 1 构成脉冲电路74LS190 8 十进制计数器74LS191 1 十六进制计数器行车里程 脉冲源起价10000进制计数器脉冲源160进制计数800进制计数器显示器74LS190逻辑符号 74LS191逻辑符号U174LS190NA 15B 1C 10D9~U/D 5QA 3QB 2QC 6QD 7~RCO 13MAX/MIN 12CLK 14~CTEN 4~LOAD1174ls190外接引线排列 74ls191外接引线排列单刀单掷开关 1 控制总电路单刀双掷开关 1 控制10000进制的置数端非门 1 构成八百进制计数器或门 2 控制八百进制计数器停在799的位置七输入与门 1 当799时输出高电平,八百进制计数器不再计数四位数码显示器 9 显示数字电阻 2 1个367ohm 1个4、7kohm电容 1 1个100uf 1个1 uf电源电压vcc 1 5v二输入与门 1控制800进制计数器到达799时,10000进制计数器开始计数U174LS191NA 15B 1C 10D9~U/D 5QA 3QB 2QC 6QD 7~RCO 13MAX/MIN 12CLK 14~CTEN 4~LOAD1174ls190时序图 74ls191时序图74ls190内部原理图 74ls191内部原理图74LS190是可预置数同步可逆加减十进制计数器,符号如图所示,它具有异步置数端LOAD,加减控制端D/U和计数控制端CTEN,为方便级联,设置了两个级联输出端RCO和MAX/MIN.;当加减控制端等于1时减计数,否则为加计数;当异步置数端等于0时置数,当计数控制段为1时禁止计数,为0时,四个触发器将在时钟上升沿开始计数;当计数器加计数,计数值为9或减计数,计数值为0时,MAX/MIN端输出与时钟周期相同的正脉冲,而RCO产生一个宽度为时钟低电平宽度的低电平,74LS191为四位二进制即十六进制同步加法计数器,其功能表与74LS190相同,如图所示输入输出CTEN LOAD D / U D C B A CPX O X d c b a X 异步预置O 1 O 加计数O 1 1 减计数11 XX 保持图.74LS190、191功能表555定时器555 芯片是定时器,,是一种将数字功能和模拟功能集为一体的中规模集成电路。

出租车自动计费器VHDL程序报告

出租车自动计费器VHDL程序报告

出租车自动计费器VHDL程序报告EDA 课程设计课程 ____________题目 ____________学院 ____________专业班级学生姓名学生学号指导教师****年**月**日3、 用加法器将几项收费相加,P=P1+P2+P34、 P1为起价,P2为行车里程计费,P3为等候时间计费,用四个数码管表示总的计费结果。

四、系统设计原理及过程1、 基本原理本次设计首先在Quartus Ⅱ环境中对出租车自动计费器的各个部分利用VHDL 这一硬件描述语言予以设计,生成模块。

而整个设计的核心部分就在里程、计时、计费处理模块。

里程、计时模块完成行驶距离和等待时间的处理以及起步距离之后和等待时间的计费脉冲的产生。

计费处理模块完成起步价计费、在计费脉冲来临之际累加计费的功能。

随后运用Quartus Ⅱ中的仿真功能对其予以仿真,从仿真的结果中分析程序的正确性。

待所有模块的功能正确之后,运用原理图搭建电路并进行整体仿真直至达到最初的设计要求,最后再在实验箱上综合下载检验设计的正确与否。

2、 系统框图根据设计要求,电路具有计时、计程、计费功能,用数码管显示行驶公里数、等待时间、收费金额,行车里程和等待时间的处理电路将汽车行驶的里程数、转换成与之成正比的计费脉冲,然后由计费电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,3公里以后每公里产生一个计费脉冲,一个1HZ 的脉冲用来表示等待时间,60个脉冲代表1分钟,5分钟即300个脉冲产生一个等待计费脉冲,然后用计费电路对计费脉冲进行计费。

实验箱中只有一个48MHZ 的时钟,所以需要分频之后再送给其他模块,最后将等待时间、行驶里程、计费金额经过译码电路送到数码管显示。

其设计框图如图1所示:48MHZ行驶、分八分数据计译码显图1整体系统框图3、 电路及模块分析 系统总体设计电路如图2:VCCCLKINPUT VCC START INPUT VCC WR INPUT VCCRSTINPUT led7s[7..0]OUTPUT B[7..0]OUTPUT CLK OUTY[2..0]CNT8insta[3..0]POINTled7s[7..0]decl7s inst1P0[3..0]P1[3..0]P2[3..0]K0[3..0]K1[3..0]K2[3..0]M0[3..0]M1[3..0]S[2..0]D[3..0]B[7..0]POINTMAX81inst3clkFoutpulse inst4clk Foutpulse10inst5clkFoutpulsesp inst6B START RST P0[3..0]P1[3..0]P2[3..0]JIN inst7CLK0CLK1START WR RSTB1B2KM0[3..0]KM1[3..0]KM2[3..0]MIN1[3..0]MIN0[3..0]JIFEI inst2OR2inst8图2 出租车自动计费器顶层电路原理图1)行驶里程、等待时间处理模块本模块是系统的核心模块之一,能够对外部的行驶距离脉冲、等待时间脉冲进行计数。

数电课程设计出租车计价器讲解

数电课程设计出租车计价器讲解

目录引言 (1)一、设计目的 (1)二、设计任务 (1)2.1设计要求及技术指标 (1)2.2要完成的任务 (1)2.3设计模块 (2)2.4总体思想 (2)2.5总体框图 (3)三、出租车自动计费器的实现 (3)3.1出租车电路的实现 (3)3.1.1里程计算与显示电路 (3)3.1.2里程比较电路 (4)3.2时间计费模块中的计数部分 (6)3.2.1设计任务分析 (6)3.2.3单元电路分析与设计 (6)3.2.4系统原理电路与仿真 (6)3.3 时间计费模块中的比较部分 (7)3.3.1 设计任务分析 (7)3.3.2 系统方案设计 (7)3.3.3 单元电路分析与设计 (7)3.3.4 系统原理电路与仿真 (8)3.4计价部分 (8)四、仿真过程 (8)4.1里程大于3km时 (9)4.2 等待时间大于5分钟时 (9)五、总电路 (10)六、设计心得 (10)七、出租车计费器核心器件简介 (12)7.1 74LS160 (12)7.2 74LS85 (14)7.3 555计时器 (15)7.4 7400N 74LS02N 7404N (17)7.5所用元件数量及价格表 (18)八、参考文献 (19)引言随着社会的进步以及人们生活水平的日益提高都促使交通工具的不断变化,无论是在大城市或是中小城市越来越多的出租车公司不断的出现。

出租车的出现方便了人们的生活,对于现在快节奏生活方式的人们来说出租车无疑是最好的交通工具。

那么其收费的方式自然而然就被给予关注,比如收费标准以及行驶里程等。

一、设计目的1.1 本电子设计主要实现以下目的:1)增强对数字电子技术课程的了解与掌握2)学习相关软件的使用方法3)具备简单电子的设计能力二、设计任务2.1设计要求及技术指标设计一出租车计价器,设计要求及技术指标如下:1、能计汽车行驶的里程和停车等候时间。

2、能自动显示出该收的车费和停车等候费。

3、超过基本里程,每千米行车费增加1元。

出租车自动计费器

出租车自动计费器

1 绪论1.1 设计背景随着出租车行业的发展,对出租车计费器的要求也越来越高。

二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。

同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC 以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC 的制作当中。

在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。

理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。

此外,一个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择。

现在各大中城市出租车行业都已普及自动计费器,所以计费器技术的发展已成定局。

而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计费器的普及也是毫无疑问的,所以未来汽车计费器的市场还是十分有潜力的。

1.2 课程设计指标采用EWB电路仿真设计软件完成出租车自动计费器电路的设计及仿真调试,在微机上仿真实现出租车自动计费器的设计。

2 EWB软件的介绍电子工作平台Electronics Workbench (EWB)(现称为MultiSim) 软件是加拿大Interactive Image Technologies公司于八十年代末、九十年代初推出的电子电路仿真的虚拟电子工作台软件。

EWB软件具有以下特点:(1)采用直观的图形界面创建电路:在计算机屏幕上模仿真实实验室的工作台,绘制电路图需要的元器件、电路仿真需要的测试仪器均可直接从屏幕上选取;(2)软件仪器的控制面板外形和操作方式都与实物相似,可以实时显示测量结果;(3)EWB软件带有丰富的电路元件库,提供多种电路分析方法。

库尔勒出租车计价器使用教程

库尔勒出租车计价器使用教程

库尔勒出租车计价器使用教程出租车计价器是一种用来计算乘客乘坐出租车费用的设备。

下面是一个关于库尔勒出租车计价器的使用教程,以帮助乘客更好地了解和使用这个设备。

步骤一:上车当您搭乘出租车时,您需要记住车牌号,这样在使用计价器时,您可以向司机提供您所乘坐的车辆信息。

步骤二:确认计价器是否启动当您上车后,您需要确认计价器是否已启动。

计价器一般位于车辆前部的仪表盘上,显示出租车的车速、里程数和费用等信息。

步骤三:确认起步价出租车计价器一般有一个起步价,该价值表示从您上车开始计费的费用。

在上车后,检查计价器上是否显示了起步价,并且确认司机是否按照起步价开始计费。

步骤四:确认里程费用除了起步价,出租车计价器还根据行驶的里程数来计算额外的费用。

当车辆行驶时,计价器上的里程数会不断增加,您可以看到里程数的变化,并同时显示出行的里程费用。

步骤五:确认时间费用在一些地方,出租车计价器还会计算停车等待的时间费用。

当车辆在交通拥堵的地方停下来等待时,计价器上会出现一个时间计费器。

您可以看到时间费用的累积,并根据实际的等待时间来支付费用。

步骤六:下车当您到达目的地后,您需要支付出租车费用。

计价器会显示您乘坐出租车的总费用,您可以根据计价器上的信息支付费用给司机。

需要注意的是,在使用计价器时,您需要保持警惕,以防出现任何不正常的情况。

如果您怀疑司机在计费方面存在不当行为,您有权拒绝支付费用,并向相关部门投诉。

总结:出租车计价器是一种方便乘客计算费用的设备。

在使用计价器时,您应该确保计价器已启动,并确认起步价、里程费用和时间费用的准确性。

当您到达目的地后,您可以根据计价器上的信息支付费用给司机。

如果出现任何不正常的情况,您有权拒绝支付费用并投诉相关部门。

希望这个关于库尔勒出租车计价器的使用教程可以帮助您更好地理解和使用这个设备。

祝您乘坐愉快!。

出租车自动计费器的设计优化研究

出租车自动计费器的设计优化研究

出租车自动计费器的设计优化研究出租车自动计费器是一种用于计算乘客乘车费用的设备,其设计对于提供准确、高效和公正的计费服务至关重要。

为了优化出租车自动计费器的设计,我们可以从以下几个方面进行研究和改进。

一、计费算法的优化出租车自动计费器的核心功能是根据行驶距离和时间计算乘客的费用。

为了保证计费的准确性和公正性,我们需要优化计费算法。

首先,计费器应能准确计算车辆的行驶距离,可以通过使用全球定位系统(GPS)等技术实现。

其次,计费器应能准确计算车辆的行驶时间,可以通过与车辆的速度传感器结合使用实现。

最后,计费器应能根据设定的价格标准进行费用计算,确保计费的公正性。

二、用户界面的改进出租车自动计费器的用户界面应简洁清晰,方便乘客使用。

为了提供更好的用户体验,我们可以考虑以下改进。

首先,显示屏应具有良好的可视性,适应各种光线条件下的使用。

其次,界面设计应简单明了,显示行程信息和费用明细等必要信息,并以易于理解的方式展示。

此外,可以增加语音提示功能,帮助乘客更方便地了解行程和费用情况。

三、支付方式的多样化为了提高乘客的支付便利性,可以考虑增加出租车自动计费器支持的支付方式。

除了传统现金支付外,可以提供电子支付选项,例如使用移动支付平台或银行卡支付。

这不仅可以方便乘客,还可以提高支付的安全性和效率。

四、数据记录和管理功能的加强出租车自动计费器可以具备数据记录和管理功能,用于记录每一次行程的相关数据和费用明细。

这样的功能可以提供数据支持给出租车公司和监管部门,帮助其进行业务管理和监管。

此外,还可以使用这些数据进行统计分析,为决策提供参考。

五、安全性和可靠性的提升出租车自动计费器应具备较高的安全性和可靠性,以保障乘客权益和出租车行业的正常运营。

为了提升安全性,可以加强对计费器硬件和软件的安全防护措施,防止被非法篡改或操控。

为了提升可靠性,可以加强计费器的质量控制和维护管理,确保其稳定运行以及准确计费。

六、反馈机制的优化出租车自动计费器应具备良好的反馈机制,以便乘客和驾驶员及时了解费用情况并提出异议。

出租车自动计费器的设计优化方案

出租车自动计费器的设计优化方案

出租车自动计费器的设计优化方案一、引言出租车自动计费器是出租车行业中非常重要的设备之一,它能够准确计算乘客乘车的距离和时间,提供便捷的服务和公平的计费方式。

然而,目前市场上存在一些出租车自动计费器的设计问题,例如计费不准确、操作不便等,因此需要进行设计优化,以满足用户需求。

二、计费准确性优化1. 优化定位系统出租车自动计费器的准确计费依赖于准确的定位系统。

优化定位系统可以提高计费器的精度和稳定性。

在硬件方面,可以引入高精度的卫星定位模块,确保位置信息的准确性。

在软件方面,可以增加滤波算法,降低定位误差,并且及时更新地图数据,以保证计费的准确性。

2. 提高计费算法当前一些计费器采用的计费算法可能存在误差,导致计费不准确。

优化计费算法可以提高计费的准确性。

可以采用基于时间和距离的综合计费模型,根据车速和行驶距离来计算费用,避免了单一计费模型的不准确性。

同时,还可以根据城市不同的交通拥堵情况,调整计费系数,以反映出实际的交通情况。

三、用户体验优化1. 界面友好化设计出租车自动计费器的界面应该简洁直观,易于操作。

可以通过采用大字体、亮色背景和直观的图标,提高界面的可读性和可理解性。

另外,还可以引入语音提示功能,为用户提供更加智能的使用体验。

2. 人性化操作设计优化出租车自动计费器的操作方式,提供更加便捷的操作体验。

可以设计成触摸屏操作,简化操作流程。

此外,还可以增加一些常用功能的快捷键,方便用户快速输入目的地和支付方式等信息。

在支付方式上,可以支持多种支付方式,如现金、刷卡、移动支付等,提高支付的灵活性。

四、安全性优化1. 数据加密和隐私保护出租车自动计费器处理的数据包括乘客位置、费用和支付信息等敏感数据,应该采取安全措施进行加密和隐私保护。

可以采用安全芯片和加密算法,确保数据传输和存储的安全性。

另外,还可以在软件中加入权限管理机制,限制非法访问和恶意操作。

2. 设备稳定性保障为了保障出租车自动计费器的稳定运行,可以采取一系列措施。

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

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

出租车公司工作人员的计价器操作指南计价器作为出租车行业中的重要工具,对于工作人员来说非常关键。

准确操作计价器不仅能保证乘客的权益,还能提高公司的信誉度。

本文将介绍出租车公司工作人员应该如何准确操作计价器,以确保服务质量和顾客满意度。

一、计价器的基本操作介绍计价器是计算出租车行驶距离和费用的装置。

它通常由几个部分组成,包括显示屏、启动键、结束键、里程显示、总计费数和计时器等。

在开始乘客的行程时,工作人员应按下启动键;在结束行程时,应按下结束键。

计价器会自动计算行驶距离和费用,并在显示屏上展示。

二、计价器的正确操作步骤1. 启动计价器:当乘客上车后,工作人员应按下启动键开始计程。

确保启动照明灯亮起,显示屏显示为零。

2. 行驶距离计算:在行程进行中,计价器会自动计算行驶距离。

相关指示会显示在计价器的里程显示处。

工作人员应时刻注意该数值,确保数据的准确性。

3. 时间计算:在乘客等待或行程停滞期间,计价器会自动计时。

时间计算以分钟为单位,相关指示会在计价器的计时器上显示。

工作人员应留意时间计费情况,以确保收费准确。

4. 结束计费:当乘客到达目的地并下车时,工作人员应按下结束键停止计费。

计价器会显示总计费数,包括行驶距离费用和时间费用。

5. 结算费用:根据显示的总计费数,工作人员应准确收取费用。

确保金额清晰可读,防止发生误解或纠纷。

三、遇到特殊情况的操作建议1. 车辆停滞期间计费:当车辆停在红绿灯等交通拥堵区域时,计价器会继续计算时间费用,但行驶距离费用会暂停。

在此情况下,工作人员应向乘客说明费用构成,并如实计费。

2. 乘客要求停车等候:如果乘客要求司机在特定地点停车等候,工作人员应将计价器切换到等候计费模式。

等候期间,只计算时间费用,行驶距离费用暂停。

当乘客再次上车后,工作人员应恢复正常计费模式。

3. 延误或迂回行驶:当遇到交通阻塞或需要绕道时,工作人员应根据实际行程调整计价器的计费方式。

如果延误或迂回导致行驶距离超出预计范围,应当说明情况并与乘客协商后,再进行计费操作。

上黄出租汽车计价器使用说明书

上黄出租汽车计价器使用说明书

上黄出租汽车计价器使用说明书一、引言黄出租汽车计价器是一种用于计算出租车费用的设备,它能够根据既定的计费规则,自动计算乘客的行程费用。

本说明书将详细介绍如何正确使用黄出租汽车计价器。

二、外观和基本功能黄出租汽车计价器外观简洁,通常由液晶显示屏、计费按钮、支付按钮以及一些功能按键组成。

其基本功能包括计算里程费用、计算等候费用、显示计费信息、实时更新费用以及提供支付功能等。

三、正确使用方法1. 开机与关机在使用黄出租汽车计价器之前,需要先按下电源按钮将其开机。

在行程结束后,按下电源按钮将计价器关机。

2. 起步价设置乘客上车后,司机应按下起步按钮,计价器将自动开始计费。

起步价是乘客上车后所需支付的最低费用,一般包含了行驶的起始距离和时间。

3. 里程费用计算黄出租汽车计价器能够根据车辆行驶的里程数来计算费用。

当车辆行驶一定距离后,计价器会自动显示当前的里程费用,并实时更新费用信息。

4. 等候费用计算当车辆在红灯等待、堵车或者停车等情况下,计价器会自动计算等候费用。

等候费用通常按照时间和车辆停留的时长来计算。

5. 附加费用计算在特定情况下,计价器还可以计算一些额外的附加费用,例如夜间加价、高峰时段加价或者跨城行驶加价等。

这些附加费用会根据不同的计费规则自动计算。

6. 显示计费信息黄出租汽车计价器会在液晶显示屏上实时显示当前的计费信息,包括起步价、里程费用、等候费用、附加费用以及总费用等。

乘客可通过观察液晶显示屏来了解当前的费用情况。

7. 支付功能乘客乘车结束后,可通过支付按钮进行费用支付。

支付方式通常包括现金支付和刷卡支付两种方式。

乘客可根据需求选择适合自己的支付方式进行支付。

8. 其他功能黄出租汽车计价器还具备一些其他功能,例如显示当前的时间、提供打印行程单据、提供语音播报服务等。

这些功能可以根据具体的计价器型号和配置有所不同。

四、常见问题解答1. 问:为什么计价器上显示的费用与实际支付的费用不一致?答:可能是因为计价器的计费规则配置不正确导致的。

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

天津工业大学EDA 课程设计课程 EDA 课程设计题目出租车自动计费器学院电子与信息工程学院专业班级学生姓名学生学号指导教师2012年6月22日题目出租车自动计费器摘要本系统是基于FPGA的模拟出租车计费系统,是在实验室实验箱EP1C6P240C8芯片及其外围电路的基础上完成程序的下载仿真。

本系统模拟了出租车计费系统的过程,其中出租车的状态分为等待、行驶,系统能够完成起步价计费,等待、行驶状态计费。

关键字:出租车计费系统起步价等待行驶一、设计目的1.掌握出租车计费的工作原理2.进一步熟悉用VHDL语言编写出租车计费程序二、开发软件: QuartusII三、设计任务1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用三位数码管显示总金额,最大值为99.9元;2、行车里程单价1.7元/公里,等候时间单价1.7元/5分钟,起价8元(3公里起价)。

3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用乘法器将里程数乘以每公里单价的比例系数,从而计算出具体费用。

4、用数码管显示行驶公里数,三个数码管显示行驶里程。

提示:1、等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,脉冲周期为1秒,例如60个脉冲表示1分钟,而5分钟收费1.7元。

2、用2个LED显示等候时间。

3、用加法器将几项收费相加,P=P1+P2+P34、 P1为起价,P2为行车里程计费,P3为等候时间计费,用四个数码管表示总的计费结果。

四、系统设计原理及过程1、基本原理本次设计首先在QuartusⅡ环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,生成模块。

而整个设计的核心部分就在里程、计时、计费处理模块。

里程、计时模块完成行驶距离和等待时间的处理以及起步距离之后和等待时间的计费脉冲的产生。

计费处理模块完成起步价计费、在计费脉冲来临之际累加计费的功能。

随后运用QuartusⅡ中的仿真功能对其予以仿真,从仿真的结果中分析程序的正确性。

待所有模块的功能正确之后,运用原理图搭建电路并进行整体仿真直至达到最初的设计要求,最后再在实验箱上综合下载检验设计的正确与否。

2、系统框图根据设计要求,电路具有计时、计程、计费功能,用数码管显示行驶公里数、等待时间、收费金额,行车里程和等待时间的处理电路将汽车行驶的里程数、转换成与之成正比的计费脉冲,然后由计费电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,3公里以后每公里产生一个计费脉冲,一个1HZ的脉冲用来表示等待时间,60个脉冲代表1分钟,5分钟即300个脉冲产生一个等待计费脉冲,然后用计费电路对计费脉冲进行计费。

实验箱中只有一个48MHZ的时钟,所以需要分频之后再送给其他模块,最后将等待时间、行驶里程、计费金额经过译码电路送到数码管显示。

其设计框图如图1所示:图1整体系统框图3、电路及模块分析系统总体设计电路如图2:图2 出租车自动计费器顶层电路原理图1)行驶里程、等待时间处理模块本模块是系统的核心模块之一,能够对外部的行驶距离脉冲、等待时间脉冲进行计数。

因为行驶距离每脉冲代表10米,所以计满100个数就输出一个行驶距离计费脉冲,因为3公里之内属于起步价,所以前3公里内不输出行驶距离计费脉冲,因为用3位数码管来显示行驶距离,其中两位整数,一位小数,所以行驶距离最小分辨率为0.1公里,行驶距离脉冲每计10个数,行驶距离输出加0.1,行驶距离最大值为99.9公里。

等待时间脉冲频率为1HZ,所以一个脉冲代表1秒,60个等待脉冲是1分钟,输出等待时间加1,等待时间5分钟计一次费,所以对等待时间脉冲计数,计满300个数就输出一个等待计费脉冲。

等待时间最大值为99分钟。

将行驶距离、等待时间送到数据选择器,计费脉冲送到计费模块完成距离、时间的显示以及计费功能。

2)计费模块计费模块也是本系统的核心,完成起步价计费,等待时间,行驶计费功能。

计费器启动,显示起步价8元,之后每来一个行驶距离计费脉冲或者等待时间计费脉冲,计费金额自动加1.7元。

计费显示用3位数码管,所以计费最大值为99.9元。

将计费输出送到数据选择器,最后送到译码电路显示。

3)分频模块因为实验箱上只有一个48MHZ的时钟,所以我们要经过分频电路得到我们所需要的频率,本系统中用到了三个分频,1HZ分频用来作为等待时间脉冲,10HZ分频作为行驶距离脉冲,每个脉冲代表行驶10米。

还有一个分频是作为数码管动态显示的扫频脉冲,由此频率生成一个八进制计数器,作为数据选择器的选择信号,将各个数据位轮流送到数码管,利用人眼的视觉暂留实现动态显示。

4)八进制计数器模块八进制计数器模块完成八进制计数,从000计到111后,回到000重新计数,并将此数据送到数据选择器作为选择信号。

5)八选一数据选择器模块本模块主要是完成数码管的动态扫描,将八位数据在选择信号的作用下依次送到译码电路,完成动态显示。

本模块的主要特点是有一个小数点标志位输出以及段选信号。

6)译码模块本模块主要完成数据的译码,在段选信号,小数点标志位的共同作用下完成数据在八位数码管上的动态显示。

五、系统调试及下载完成个模块的设计之后,将各个模块封装成元件,建立一个原理图文件,将各个模块连接起来,即完成了整个系统的顶层设计,顶层设计框图如上图图2所示。

下面对系统的核心模块进行仿真。

1、里程、等待时间处理模块里程、行驶距离计费脉冲仿真图由图可以看出每10个脉冲里程数加0.1,三公里以后每公里有一个计费脉冲B1。

等待时间,等待计费脉冲仿真图由图可以看出每60个脉冲,等待时间加1。

等待时间每5分钟产生一个计费脉冲。

2、计费模块计费模块仿真图由图可以看出在计费脉冲来临之前,计费金额始终是起步价8元,之后每来一个计费脉冲,计费金额加1.7元。

其他模块较简单,这里就不一一仿真了,设计好顶层原理图之后,就可以配置引脚了,在配置引脚之前,先选择芯片EP1C6P240C8,然后配置好START、WR、RST按键,数码管位选、段选引脚就可以下载了。

六、结论下载完之后,我们可以看到,八位数码管的右三位显示起步价08.0,中间三个数码管在以0.1为步长进行加法显示行驶里程,当行驶里程超过3公里之后,每公里计费金额加1.7元,当我们按下K2键,每分钟左边两个数码管加1,其显示的等待时间,当等待时间到5分钟时,计费金额加1.7元,由此我们可以判断,系统设计符合要求。

实验感想:附:实验程序1.1HZ分频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity pulse isport(clk: in std_logic;-- D: in std_logic_vector(7 DOWNTO 0);Fout: out std_logic);end;architecture one of pulse issignal full:std_logic;beginp_reg:process(clk)variable cnt8: integer range 24000000 downto 0;beginif clk'event and clk='1' thenif cnt8=24000000 thencnt8:=0;full<='1';else cnt8:=cnt8+1;full<='0';end if;end if;end process p_reg;p_div:process (full)variable cnt2:std_logic;beginif full'event and full='1' thencnt2:=not cnt2;If cnt2='1'then fout<='1';else fout<='0';end if;end if;end process p_div;end;2、10HZ分频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity pulse10 isport(clk: in std_logic;-- D: in std_logic_vector(7 DOWNTO 0);Fout: out std_logic);end;architecture one of pulse10 issignal full:std_logic;beginp_reg:process(clk)variable cnt8: integer range 2400000 downto 0;beginif clk'event and clk='1' thenif cnt8=2400000 thencnt8:=0;full<='1';else cnt8:=cnt8+1;full<='0';end if;end if;end process p_reg;p_div:process (full)variable cnt2:std_logic;beginif full'event and full='1' thencnt2:=not cnt2;If cnt2='1'then fout<='1';else fout<='0';end if;end if;end process p_div;end;3、扫频分频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity pulsesp isport(clk: in std_logic;-- D: in std_logic_vector(7 DOWNTO 0);Fout: out std_logic);end;architecture one of pulsesp issignal full:std_logic;beginp_reg:process(clk)variable cnt8: integer range 24000 downto 0;beginif clk'event and clk='1' thenif cnt8=24000 thencnt8:=0;full<='1';else cnt8:=cnt8+1;full<='0';end if;end if;end process p_reg;p_div:process (full)variable cnt2:std_logic;beginif full'event and full='1' thencnt2:=not cnt2;If cnt2='1'then fout<='1';else fout<='0';end if;end if;end process p_div;end;4、里程、等待时间处理模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JIFEI ISPORT(CLK0,CLK1:IN STD_LOGIC;START:IN STD_LOGIC;WR:IN STD_LOGIC;RST:IN STD_LOGIC;B1,B2:OUT STD_LOGIC;KM0,KM1,KM2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN1,MIN0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END JIFEI;ARCHITECTURE BEHA VE OF JIFEI ISBEGINRUN:PROCESS(CLK0,START,WR,RST)V ARIABLE R1:INTEGER RANGE 0 TO 9;V ARIABLE R2:INTEGER RANGE 0 TO 99;V ARIABLE K:STD_LOGIC_VECTOR (7 DOWNTO 0);V ARIABLE K2,K1,K0 :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN K0:="0000";K1:="0000";K2:="0000";R1:=0;R2:=0; ELSIF CLK0'EVENT AND CLK0='1' THENIF START='1'AND WR='1' THENIF R1=9 THEN R1:=0;IF K0="1001" THENK0:="0000";IF K1="1001" THENK1:="0000";IF K2="1001" THENK2:="0000";ELSEK2:=K2+1;END IF;ELSEK1:=K1+1;END IF;ELSEK0:=K0+1;END IF;ELSE R1:=R1+1;END IF;K:=K2&K1;IF K>"00000001" THENIF R2<99 THEN R2:=R2+1;B1<='0';ELSE R2:=0;B1<='1';END IF;END IF;END IF;END IF;KM0<=K0;KM1<=K1;KM2<=K2;END PROCESS;W:PROCESS(CLK1,START,WR,RST)V ARIABLE W1:INTEGER RANGE 0 TO 59;V ARIABLE W2:INTEGER RANGE 0 TO 299;V ARIABLE M1:STD_LOGIC_VECTOR(3 DOWNTO 0);V ARIABLE M0:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN M0:="0000";M1:="0000";W1:=0;W2:=0;ELSIF CLK1'EVENT AND CLK1='1' THENIF START='1' AND WR='0'THENIF W1=59 THEN W1:=0;IF M0="1001"THENM0:="0000";IF M1="1001"THENM1:="0000";ELSE M1:=M1+1;END IF;ELSE M0:=M0+1;END IF;ELSE W1:=W1+1;END IF;IF W2<299 THEN W2:=W2+1;B2<='0';ELSE W2:=0;B2<='1';END IF;END IF;END IF;MIN0<=M0;MIN1<=M1;END PROCESS;END ARCHITECTURE ;5、计费模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JIN ISPORT(B:IN STD_LOGIC;START:IN STD_LOGIC;RST:IN STD_LOGIC;P0,P1,P2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END JIN;ARCHITECTURE BEHA VE OF JIN ISBEGINP:PROCESS(B,START,RST)V ARIABLE C2,C1,C0:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='0' THEN C0:="0000";C1:="1000";C2:="0000";ELSIF START='1' THENIF B'EVENT AND B='1' THENIF C0>2 THEN --加0.7元IF C1="1001"THEN C1:="0000";IF C2="1001"THEN C2:="0000";ELSE C2:=C2+1;END IF;ELSE C1:=C1+1;END IF;C0:=C0-3;ELSE C0:=C0+7;END IF;IF C1="1001"THEN C1:="0000";IF C2="1001"THEN C2:="0000";ELSE C2:=C2+1;END IF;ELSE C1:=C1+1;END IF;END IF;END IF;P0<=C0;P1<=C1;P2<=C2;END PROCESS;END;6、八进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT8 ISPORT (CLK : IN STD_LOGIC;OUTY : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END CNT8;ARCHITECTURE behav OF CNT8 ISBEGINPROCESS(CLK)V ARIABLE CQI : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF CQI < "111" THEN CQI := CQI + 1;ELSE CQI := "000";END IF;END IF;OUTY <= CQI;END PROCESS;END behav;7、八选一数据选择器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MAX81 ISPORT (P0,P1,P2,K0,K1,K2,M0,M1: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S : IN STD_LOGIC_VECTOR(2 DOWNTO 0);D : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);POINT:OUT STD_LOGIC);END MAX81;ARCHITECTURE body_mAx81 OF mAx81 ISBEGINprocess (P0,P1,P2,K0,K1,K2,M0,M1,S)begincase S isWHEN "000"=>D<= P0;B<="11111110";POINT<='0';WHEN "001"=>D<= P1;B<="11111101";POINT<='1';WHEN "010"=>D<= P2;B<="11111011";POINT<='0';WHEN "011"=>D<= K0;B<="11110111";POINT<='0';WHEN "100"=>D<= K1;B<="11101111";POINT<='1';WHEN "101"=>D<= K2;B<="11011111";POINT<='0';WHEN "110"=>D<= M0;B<="10111111";POINT<='0';WHEN "111"=>D<= M1;B<="01111111";POINT<='0';WHEN others => null;end case;end process;END body_MAX81;8、数码管译码程序Library ieee;use ieee.std_logic_1164.all;entity decl7s isport(a:in std_logic_vector(3 downto 0);POINT:IN STD_LOGIC;led7s:out std_logic_vector(7 downto 0));end decl7s;architecture one of decl7s isbeginprocess(a,POINT)beginIF POINT='0' THENcase a iswhen "0000"=>led7s<="11000000";when "0001"=>led7s<="11111001";when "0010"=>led7s<="10100100";when "0011"=>led7s<="10110000";when "0100"=>led7s<="10011001";when "0101"=>led7s<="10010010";when "0110"=>led7s<="10000010";when "0111"=>led7s<="11111000";when "1000"=>led7s<="10000000";when "1001"=>led7s<="10010000"; when others=>null;end case;ELSEcase a iswhen "0000"=>led7s<="01000000"; when "0001"=>led7s<="01111001"; when "0010"=>led7s<="00100100"; when "0011"=>led7s<="00110000"; when "0100"=>led7s<="00011001"; when "0101"=>led7s<="00010010"; when "0110"=>led7s<="00000010"; when "0111"=>led7s<="01111000"; when "1000"=>led7s<="00000000"; when "1001"=>led7s<="00010000"; when others=>null;end case;END IF;end process;end;。

相关文档
最新文档