出租车计费系统的设计好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)第一章绪论目前,现代电子产品几科渗透了社会的各个领域,产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。

相关文档
最新文档