• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

出租车自动计费器Verilog代码Quartus仿真

06/30 09:19
461
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240111153AJB.doc

共1个文件

名称:出租车自动计费器Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

出租车自动计费器

功能:

1.里程:起步价16元(3Km内),大于3Km后,按照2.7元/Km的标准收费。

2.等候时间:1元/分钟计费。

3.行程结束,费用结算开始清零。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 仿真文件

5. 仿真图

部分代码展示:

//出租车计费器
module?taxi_fee(
input?clk,//时钟
input?reset,//复位信号,低有效?
input?stop,//本次行程结束,停止计费,高有效
input?start,//启动信号,行程开始,高有效?
input?Speed,//0:等待??1:行驶
input?one_kilometre,//1公里产生一次
input?one_minute,//1分钟产生一次
output?reg?[15:0]?totel_money_out//合计费用
);
parameter?s_idle=3'd0;
parameter?s_starting_price=3'd1;//起步价
parameter?s_mileage_price=3'd2;//按里程计费
parameter?s_time_price=3'd3;//按时间计费
parameter?s_stop=3'd4;
reg?[2:0]?state=3'd0;
reg?[15:0]?totel_money=16'd0;
reg?[7:0]?mileage=8'd0;//里程
always@(posedge?clk)
if(reset==0)
mileage<=8'd0;
else
if(state==s_starting_price?||?state==s_mileage_price)
if(one_kilometre==1)
mileage<=mileage+8'd1;//一公里里程加1
else
mileage<=mileage;
else?if(stop==1)?
mileage<=8'd0;//结束,费用清零
else
mileage<=mileage;
//定义计费方式,可修改
parameter?start_price=15'd160;//起步价16.0元
parameter?start_kilometres=8'd3;//3公里内起步价
parameter?kilometres_price=15'd27;//2.7元每公里
parameter?time_price=15'd10;//1.0元每1分钟
always@(posedge?clk)
if(reset==0)begin
state<=s_idle;//reset
totel_money<=16'd0;
totel_money_out<=16'd0;
end

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=540

  • 2-240111153AJB.doc
    下载

相关推荐