计采用第三种方案。
22设计任务与要求
用VHDL语言设计一个多功能的出租车计费系统,要求该计费系统具有以下几个功能(1)计价功能
①起步价:顾客上车,显示起步价5,行车距离在2公里以内。②里程价:起步5元超过2公里按1.8元公里计费当超过8公里每公里27元。③等待价:龙岩市区等待时价满前5分钟09元,满7分钟18元,满10分钟27元。少于10秒不计。在这次设计中,我把等待时间前1小时的等待费用为12元(20分分钟),超过1小时的等待费用为20元(33分分钟)。(2)显示功能:①显示等待时间:精确到01秒,显示等待费用②显示里程:精确到01公里,
f③显示计价:可显示总价,显示范围Z~99元。3自检功能
23总体方案
根据系统的设计要求,我们可将整个出租车计费系统CZJFXT分为九个模块,它们分别是:分频模块CLKGEN,等待判别模块DDPB里程计算模块LCJS里程计费模块LCJF等待计时模块DDJS等待计费模块DDJF选择信号模块SE,输出数据模块SCXZ显示模块DI其设计原理图如21所示。
(21)设计原理图
3.单元模块设计
f3.1等待判别模块DDPB:
根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每1千米产生10个脉冲信号,即每百米产生一个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。当速度大于12千米小时,即速度大于200米分钟时,出租车处于运行状态,这时等待标志DDBZ0;当速度小于等于12千米小时,出租车处于等待状态,这时等待标志DDBZ1。该模块的VHDL程序设计可分为三个进程;60秒周期性跳变信号产生进程,每分钟行驶距离计算进程,等待标志判别进程。等待标志判别进程就是比较每分钟WCLK脉冲个数与等待状态WCLK脉冲临
界个数的大小,从而确定DDBZ的赋值。模块封装原理图如31所示:
(31)等待判别模块
32里程计算模块LCJS:
该模块可以预制参数,使其实际计数值大于预制数值后,每100米送出一个脉冲,并将计数值送进制转换电路转换后送译码动态扫描模块进行显示。
在本设计中设置固定是价格5元,按照龙岩市最新标准,超过2公里按18元公里计费当超过8公里时每公里27元当输入一个脉冲里程计数一次即01公里相应的费用设定初始值其价5元模块封装见下图。里程计算模块LCJS根据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。如果LCBZr