• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

出租車自動計費器Verilog代碼Quartus仿真

15小時前
169
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-240111153AJB.doc

共1個文件

名稱:出租車自動計費器Verilog代碼Quartus仿真

軟件:Quartus

語言:Verilog

代碼功能:

出租車自動計費器

功能:

1.里程:起步價16元(3Km內(nèi)),大于3Km后,按照2.7元/Km的標準收費。

2.等候時間:1元/分鐘計費。

3.行程結(jié)束,費用結(jié)算開始清零。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 仿真文件

5. 仿真圖

部分代碼展示:

//出租車計費器
module?taxi_fee(
input?clk,//時鐘
input?reset,//復位信號,低有效?
input?stop,//本次行程結(jié)束,停止計費,高有效
input?start,//啟動信號,行程開始,高有效?
input?Speed,//0:等待??1:行駛
input?one_kilometre,//1公里產(chǎn)生一次
input?one_minute,//1分鐘產(chǎn)生一次
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;//結(jié)束,費用清零
else
mileage<=mileage;
//定義計費方式,可修改
parameter?start_price=15'd160;//起步價16.0元
parameter?start_kilometres=8'd3;//3公里內(nèi)起步價
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
    下載

相關(guān)推薦