一、设计任务与要求 (1)、能够实现计费功能 费用的计算是按行驶里程收费,设出租车的起步价是5.00 元,当里程小于3km 里时,按起步价收费;当里程大于3km 时每公里按1.3 元计费。等待累计时间超过2min,按每分钟1.5 元计费。所以总费用按下式计算: 总费用=起步价+(里程-3km)*里程单价+等候时间*等候单价 (2)、能够实现显示功能 显示汽车行驶里程:用四位数字显示,显示方式为“XXXX”,单价为km。计程范围为0~ 99km ,计程分辨率为1km。 显示等候时间:用两位数字显示分钟,显示方式为“ XX”。计时范围为0~ 59min,计时分辨率为1min。 显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。计价范围为999.9元,计价分辨率为0.1 元。 二、设计原理 根据设计要求,系统的输入信号 CLK,计价开始信号 START,等待信号 STOP,里程脉冲信号 FIN。系统得输出信号有:总费用数CHA0 ~ CHA3,行驶距离 KM0 ~ KM1,等待时间MIN0 ~ MIN1 等。系统的元件框图如下: 系统有两个脉冲输入信号 clk_195、fin,两个控制输入开关 start、stop;控制过程为:start 作为计费开始开关,当start 为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin 脉冲到来,进行行驶计费,此时的stop 需要置为0;如需停车等待,就把 stop 变为高电平,并去除 fin 输入脉冲,进行等待计费;当乘客下车且不等待时,直接将 start 置为0,系统停止工作; 系统由分频模块、控制模块、计量模块和计费模块四部分组成。计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分;设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1HZ 的驱动信号,计费模块采用13HZ、15HZ 的驱动信号;计量模块每计数一次,计费模块就实现13 次或者 15 次计数,即为实现计时时的1.5 元/min、计程时的1.3 元/km 的收 费;系统总体顶层框图为: 三、设计步骤 (一)、分频模块 分频模块是对系统时钟频率进行分频,分别得到 15HZ、13HZ、1HZ 三种频率;本设计中通过三种不同频率的脉冲信号实现在计程车在行驶、等待两种情况下的不同计费。原理框图如下: 源程序如下: library IEEE; u se IEEE.STD_LOGIC_1164.ALL; u se IEEE.STD_LOGIC_ARITH.ALL; u se IEEE.STD_LOGIC_UNSIGNED.ALL; entity fenpin2 is port ( clk_195...