名稱:DE2-70開(kāi)發(fā)板出租車計(jì)費(fèi)器verilog計(jì)價(jià)器(代碼在文末下載)
軟件:Quartus II
語(yǔ)言:Verilog
代碼功能:
一個(gè)出租車計(jì)價(jià)系統(tǒng)。
完成的功能是前3公里內(nèi)收費(fèi)10元,超過(guò)3公里按每公里2元收費(fèi)。
同時(shí)記錄等待時(shí)間,累計(jì)等待時(shí)間超過(guò)5分鐘則加3元,以此類推。
若總公里數(shù)超過(guò)20公里,需加收10元空載返程費(fèi)。
公里數(shù)、等待時(shí)間、費(fèi)用均需顯示在數(shù)碼管上。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
部分代碼展示:
module?taxi_fee( input?clk,//標(biāo)準(zhǔn)時(shí)鐘,clock0=50M input?reset,//復(fù)位信號(hào) input?stop,//中途暫停 input?start,//啟動(dòng)信號(hào),行程開(kāi)始,高有效? //等待時(shí)間 output???[7:0]?HEX0,//數(shù)碼管-低亮 output???[7:0]?HEX1,//數(shù)碼管-低亮 //總路程,里程范圍為HL=0~99(BCD碼顯示) output???[7:0]?HEX2,//數(shù)碼管-低亮 output???[7:0]?HEX3,//數(shù)碼管-低亮 //合計(jì)費(fèi)用?HML=xxx?(BCD碼顯示) output???[7:0]?HEX4,//數(shù)碼管-低亮 output???[7:0]?HEX5,//數(shù)碼管-低亮 output???[7:0]?HEX6//數(shù)碼管-低亮 ); wire?one_kilometre;//1公里產(chǎn)生一次脈沖 wire?[15:0]?totel_money; wire?[7:0]?mileage; wire?[7:0]?minute;//等待時(shí)間 wire?stop_negedge; wire?start_negedge; //消抖模塊 key_jitter?i1_key_jitter( .?clkin(clk),???? .?key_in(stop),//輸入 .?key_negedge(stop_negedge)//消抖后按鍵下降沿 ); //消抖模塊 key_jitter?i2_key_jitter( .?clkin(clk),???? .?key_in(start),//輸入 .?key_negedge(start_negedge)//消抖后按鍵下降沿 ); speed_pulse?U_speed_pulse( .?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,50MHz .?reset(~reset),//復(fù)位信號(hào),低有效? .?one_kilometre(one_kilometre)//1公里產(chǎn)生一次脈沖 ); taxi_state?U_taxi_state( .?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,50Mhz? .?reset(~reset),//復(fù)位信號(hào) .?stop(stop_negedge),//中途暫停 .?start(start_negedge),//啟動(dòng)信號(hào),行程開(kāi)始,高有效? .?one_kilometre(one_kilometre),//1公里產(chǎn)生一次脈沖 .?minute(minute), .?mileage_out(mileage),//里程 .?totel_money_out(totel_money)//合計(jì)費(fèi)用 ); display?U_display( .?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,50Mhz? .?totel_money(totel_money),//費(fèi)用 .?mileage(mileage),//里程 .?minute(minute), .?HEX0(HEX0),//數(shù)碼管-低亮 .?HEX1(HEX1),//數(shù)碼管-低亮 .?HEX2(HEX2),//數(shù)碼管-低亮 .?HEX3(HEX3),?//數(shù)碼管-低亮 .?HEX4(HEX4),//數(shù)碼管-低亮 .?HEX5(HEX5),?//數(shù)碼管-低亮 .?HEX6(HEX6)?//數(shù)碼管-低亮 ); endmodule
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=258