出租车计费系统设计Verilog代码modelsim仿真

名称:出租车计费系统设计Verilog代码modelsim仿真

软件:modelsim

语言:Verilog

代码功能:

出租车计费系统设计

设计一个出租车计费系统实现以下功能

(1)能实现计费功能,计费标准为:按行驶路程收费,起步费为7元,并在车行驶3公里后按每公里2元计费,当总费用达到或超过45元时,每公里按4元收费。当遇到红绿灯或其他情况需要停车等待时,则按时间计费,计费单价为每20s收费1元。

(2)系统预置功能:能预置起步费、每公里收费、车行加费里程、计时收费

(3)能模拟汽车行驶、停止、暂停等状态

(4)最后将路程与车费显示出来

要求.png

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

出租车计费系统.doc

1.要求

2.程序文件


3.程序运行


4.testbench


5.仿真图


1.起步价7元

2.speed 等于10,11时计费,

车行驶 3 公里后按每公里 2 元计费

总费用达到或超过 45 元时,每公里按 4 元收费

3.speed 等于11,01时计费


3.speed 等于00,01时计费

要停车等待时,则按时间计费,计费单价为每 20s 收费 1 元


停车结束计费

整体仿真图



部分代码展示:

module taxi_top(
input Clk,//标准时钟,25khz 
input Reset,//复位信号,低有效 
input Stop,//本次行程结束,停止计费,高有效
input Start,//启动信号,行程开始,高有效 
input [1:0] Speed,//00--暂停等待;01--低速;10--中;,11--高速
output [3:0] Kmmoney_L,//合计费用 BCD码显示
output [3:0] Kmmoney_M,//合计费用 BCD码显示
output [3:0] Kmmoney_H,//合计费用 BCD码显示
output [3:0] Kmcount_H,//总路程,BCD码显示
output [3:0] Kmcount_L//总路程,BCD码显示
);
wire speed_pulse;
wire valid_1Hz;
wire wait_20seconds;
wire one_Km_pluse;
//根据Speed,产生不同频率的速度脉冲
speed_pulse_ctrl i_speed_pulse_ctrl(
. Clk(Clk),//25khz 
. Reset(Reset),//复位低有效 
. Speed(Speed),//00:暂停等待;01:低速;10:中;,11:高速
. valid_1Hz(valid_1Hz), //分频到1Hz
. speed_pulse(speed_pulse) //速度档位
);
//20s产生一次,用于等待时计费
wait_for_20seconds i_wait_for_20seconds(
. Clk(Clk),//25khz 
. Reset(Reset),//复位低有效 
. Speed(Speed),//00:暂停等待;01:低速;10:中;,11:高速
. valid_1Hz(valid_1Hz),//1HZ
. wait_20seconds(wait_20seconds) //等待20s产生一次脉冲
);
//1公里产生一次脉冲,用于里程计费
kilometre_pluse i_kilometre_pluse(
. Clk(Clk),//25khz 
. Reset(Reset),//复位低有效 
. speed_pulse(speed_pulse),
.

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 出租车计费系统设计Verilog代码modelsim仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员