出租车自动计价器设计_第1页
出租车自动计价器设计_第2页
出租车自动计价器设计_第3页
出租车自动计价器设计_第4页
出租车自动计价器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8.22出租车自动计价器设计设计要求设计一个出租车计价器。该计价器的计费系统:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟以1.5元计费。并能显示行驶公里数、等待累计时间、总费用。主要技术指标

①计价范围:0~999.9元计价分辨率:0.1元

②计程范围:0~99公里计程分辨率:1公里

③计时范围:0~59分计时分辨率:分系统组成

它由外部输入模块、FPGA模块、显示模块三部分组成。FPGA时钟信号计费/复位公里脉冲控制器分频器等待信号计费计时计程译码显示模块设计1.分频模块2.控制模块3.计量模块4.译码模块5.显示模块1.分频模块分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,15Hz和1Hz的三种频率。2.控制模块控制模块是系统的核心部分,对计价器的状态进行控制。3.计量模块完成下面3个功能:计价功能计时功能计程功能计价部分:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟1.5元计费。计时部分:计算乘客的等待累计时间。计时器的量程为59分,满量程自动归零。计程部分:计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。4.译码模块计费数据送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示。计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示。计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示。5.显示模块计价数据在以百元、十元、元、角为单位对应的数码管上显示。计时数据在以分为单位对应的数码管上显示。计程数据在以公里为单位的数码管上显示显示。出租车计价器程序设计与仿真出租车计价器电路符号

电梯程序端口定义entitytaxiisport(clk_240:instd_logic;--频率为240Hz的时钟

start:instd_logic;--计价使能信号

stop:in

std_logic;--等待信号

fin:in

std_logic;--公里脉冲信号

cha3,cha2,cha1,cha0:outstd_logic_vector(3downto0);--费用数据

km1,km0:outstd_logic_vector(3downto0);--公里数据

min1,min0:outstd_logic_vector(3downto0));--等待时间endtaxi;电梯程序中间信号定义signalf_15,f_16,f_1:std_logic;--频率为15Hz,16Hz,1Hz的信号signalq_15:integerrange0to15;--分频器signalq_16:integerrange0to14;--分频器signalq_1:integerrange0to239;--分频器signalw:integerrange0to59;--秒计数器signalc3,c2,c1,c0:std_logic_vector(3downto0);--制费用计数器signalk1,k0:std_logic_vector(3downto0);--公里计数器signalm1:std_logic_vector(2downto0);--分的十位计数器signalm0:std_logic_vector(3downto0);--分的个位计数器signalen1,en0,f:std_logic;--使能信号注:仿真图中秒跟分的关系为3进制,即w为2时就归0;出租车总行驶里程为5公里,等待累计时间为4分钟,总费用为16.2元。出租计价器程序仿真图-开头部分注:行驶公里数为4时,f得到16个计价脉冲数,计价器加16。既等效于加1.6元。注:等待累计时间为3分钟时,f得到15个计价脉冲。计价器的数值增加15。即等效于加1.5元。feipin:process(clk_240,start)ifclk_240'eventandclk_240='1'thenifstart='0'thenq_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';elseifq_15=15thenq_15<=0;f_15<='1';--得到频率为15Hz的信号

elseq_15<=q_15+1;f_15<='0';endif;--……得到16Hz和1Hz的信号方法与上面相同

ifen1='1'thenf<=f_15;--此IF语句得到计费脉冲f

elsifen0='1'thenf<=f_16;elsef<='0';endif;endif;endif;process(f_1)

elsifstop='1'thenifw=59thenw<=0;--此IF语句完成等待计时

ifm0="1001"thenm0<="0000";--此IF语句完成分计数

ifm1<="101"thenm1<="000";elsem1<=m1+1;endif;elsem0<=m0+1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论