名称:出租车计费器verilog出租车计价器
软件:Quartus
语言:Verilog
要求:
出租车模拟计费系统的实现
设计一个模拟的出租车计费系统,能显示里程和费用。
(1)自行设定车速,根据计时转换为里程,里程显示方式为XXX,单位为km;
(2)费用的计算及显示,出租车的起步价设为7.00元,当里程小于2km时,按起步价计算费用;当里程大于2km时,按下式计算费用:费用=里程×1.80元/km。费用显示方式为XXX,单位为元;
代码下载:出租车计费器verilog出租车计价器_Verilog/VHDL资源下载
代码网:hdlcode.com
部分代码展示
`timescale 1ns / 1ps //出租车模拟计费系统的实现 //设计一个模拟的出租车计费系统,能显示里程和费用。 //(1)自行设定车速,根据计时转换为里程,里程显示方式为XXX,单位为km; //(2)费用的计算及显示,出租车的起步价设为7.00元,当里程小于2km时,按起步价计算费用;当里程大于2km时,按下式计算费用:费用=里程×1.80元/km。费用显示方式为XXX,单位为元; module taxi_charge_top( input clk_50M,//50M时钟 input rst_n,//复位信号 input charge_end,//停止计费 input charge_begin,//启动信号,开始计费 output running_led,//高电平行驶指示灯 //数码管控制信号 output [5:0] bit_select,//数码管位选 output [7:0] seg_select//数码管段选 ); wire [7:0] distance_out;//距离 wire [15:0] charging_money_out;//费用 wire kilometre_en; wire [2:0] state_in; state_machine i_state_machine( . clk_50M(clk_50M),//50M时钟 . rst_n(rst_n),//复位信号 . charge_end(charge_end),//停止计费,高有效 . charge_begin(charge_begin),//启动信号 . state_in(state_in),//当前状态 . kilometre_en(kilometre_en),//1公里产生一次 . distance_out(distance_out),//距离 . charging_money_out(charging_money_out)//费用 ); //稍等脉冲产生模块 pluse_generate i_pluse_generate( . clk_50M(clk_50M),//50MHz . rst_n(rst_n),//复位低有效 . state_in(state_in),//当前状态 . running_led(running_led),//指示灯 . kilometre_en(kilometre_en)//1公里产生一次 ); //数码管显示模块 display i_display( . clk(clk_50M), . distance_out(distance_out),//距离 . charging_money_out(charging_money_out),//费用 . bit_select(bit_select),//数码管位选 . seg_select(seg_select)//数码管段选 ); endmodule
设计文档(文档点击可下载):
1. 工程文件
2. 程序文件
//设计一个模拟的出租车计费系统,能显示里程和费用。
//(1)自行设定车速,根据计时转换为里程,里程显示方式为XXX,单位为km;
//(2)费用的计算及显示,出租车的起步价设为7.00元,当里程小于2km时,按起步价计算费用;当里程大于2km时,按下式计算费用:费用=里程×1.80元/km。费用显示方式为XXX,单位为元;
3. 程序编译
4. RTL图
5. Testebnch
6. 仿真图