名稱:出租車自動計費器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
閱讀全文