Quartus出租车计费器verilog代码仿真

名称:Quartus出租车计费器verilog代码仿真(完整代码见文末)

软件:Quartus

语言:Verilog

代码功能:

出租车计价器设计要求:

1.在数码管上显示里程和金额,设置计价开始开关。

2.假设以50m/s速度匀速行驶,计算里程;起步价3km/10元,之后按2元/m增加

3里程显示两位数,单位km,小于10km显示一位整数和一位小数(带小数点),10km之后显示两位整数   4. 金额显示两位整数,单位为元

5.在开发板上显示里程和金额,演示开始和停止功能,并验收。

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真图

整体仿真图

公里脉冲模块

控制模块

显示模块

部分代码展示:

module taxi_fee(
input clk,//标准时钟,50M
input reset,//复位信号,低有效 
input stop,//本次行程结束,停止计费,低有效 --按键
input start,//启动信号,行程开始,低有效  --按键
output   [7:0] dig_led_1,
output   [3:0] wei_led_1//高电平点亮,高电平选通
);
wire wheel_pulse;
wire second_pulse;
assign led_wheel=wheel_pulse;
//模块例化
wire one_kilometre;//0.1公里产生一次
wire [15:0] totel_money;a
wire [9:0] mileage;
//公里脉冲模块
speed_pulse U_speed_pulse(
. clk(clk),//标准时钟
. reset(reset),//复位信号,低有效 
. one_kilometre(one_kilometre)//0.1公里产生一次
);
//控制模块
taxi_state U_taxi_state(
. clk(clk),//标准时钟
. reset(reset),//复位信号,低有效 
. stop(stop),//本次行程结束,停止计费,高有效
. start(start),//启动信号,行程开始,高有效 
. one_kilometre(one_kilometre),//0.1公里产生一次
. mileage_out(mileage),
. totel_money_out(totel_money)//合计费用
);
//显示模块
display U_display(
. clk(clk),//标准时钟
. reset(reset),//复位信号,低有效 
. totel_money(totel_money),//费用
. mileage(mileage),//里程
. dig_led(dig_led_1),//高电平点亮,高电平选通
. wei_led(wei_led_1)
);
endmodule
  完整代码

 扫描文章末尾的公众号二维码

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值