国产精品久久久久永久免费看,大地资源网更新免费播放视频,国产成人久久av免费,成人欧美一区二区三区黑人免费,丁香五月天综合缴情网

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

出租車計(jì)費(fèi)器VHDL代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-240113125343118.doc

共1個(gè)文件

名稱:出租車計(jì)費(fèi)器VHDL代碼Quartus仿真

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:

設(shè)計(jì)一個(gè)滿足日常生活所需功能的出租車計(jì)費(fèi)器

該計(jì)費(fèi)器能實(shí)現(xiàn)計(jì)費(fèi)功能。車起步開(kāi)始計(jì)費(fèi),首先顯示起步價(jià),起步費(fèi)為1000元,車在行駛3km以內(nèi),只收起步價(jià)。車行駛超過(guò)3km后,每km2元,車費(fèi)依次累加。當(dāng)費(fèi)用達(dá)到或超過(guò)40元時(shí),每km收費(fèi)4元。當(dāng)遇到紅燈或客戶需要停車等待時(shí),則按時(shí)間計(jì)費(fèi)為每20s收費(fèi)1元。

實(shí)現(xiàn)計(jì)費(fèi)器預(yù)置功能,能夠預(yù)置起步費(fèi)、每公里收費(fèi)、車行加費(fèi)里程、計(jì)時(shí)收費(fèi)等。

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

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

原理圖

代碼

3. 程序編譯

4. RTL圖

5. 仿真圖

整體仿真圖

速度控制模塊

狀態(tài)機(jī)控制模塊

顯示模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--狀態(tài)機(jī)控制模塊
ENTITY?taxi_state?IS
???PORT?(
??????clk_in???????????????:?IN?STD_LOGIC;--時(shí)鐘100Hz
??????reset_n??????????????:?IN?STD_LOGIC;--復(fù)位信號(hào)
??????start_n??????????????:?IN?STD_LOGIC;--啟動(dòng)信號(hào),行程開(kāi)始
??????stop_n???????????????:?IN?STD_LOGIC;--中途暫停
??????pulse_kilometre??????:?IN?STD_LOGIC;--1公里產(chǎn)生一次脈沖
??????mileage_out??????????:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0);--里程
??????totel_money_out??????:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)--合計(jì)費(fèi)用
???);
END?taxi_state;
ARCHITECTURE?behave?OF?taxi_state?IS
--定義狀態(tài)
???TYPE?State_type?IS?(s_idle,?s_starting_price,?s_mileage_price,?s_highmileage_price?,s_stop_1,s_stop_2,s_stop_3);??--?定義狀態(tài)
???SIGNAL?state:?State_Type;????--?創(chuàng)建信號(hào)
???SIGNAL?totel_money???:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";--總價(jià)錢
???SIGNAL?mileage???????:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";--里程
???
???SIGNAL?ten_seconds???:?STD_LOGIC?:=?'0';
???SIGNAL?count_seconds?:?integer?:=?0;
BEGIN
???mileage_out?<=?mileage;--輸出
???PROCESS?(clk_in,?reset_n)
???BEGIN
??????IF?(reset_n?=?'0')?THEN--復(fù)位
?????????mileage?<=?"0000000000000000";
??????ELSIF?(clk_in'EVENT?AND?clk_in?=?'1')?THEN
?????????IF?(state?=?s_starting_price?OR?state?=?s_mileage_price?OR?state?=?s_highmileage_price)?THEN
????????????IF?(pulse_kilometre?=?'1')?THEN--1公里里程加1
???????????????mileage?<=?mileage?+?"0000000000000001";
????????????ELSE
???????????????mileage?<=?mileage;
????????????END?IF;
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???--每20秒收取1元
???PROCESS?(clk_in,?reset_n)
???BEGIN
??????IF?(reset_n?=?'0')?THEN
?????????count_seconds?<=?0;
?????????ten_seconds?<=?'0';
??????ELSIF?(clk_in'EVENT?AND?clk_in?=?'1')?THEN
?????????IF?(state?=?s_stop_1?OR?state?=?s_stop_2?OR?state?=?s_stop_3)?THEN--停車等待
????????????IF?(count_seconds?>=?200)?THEN--20秒
???????????????count_seconds?<=?0;
???????????????ten_seconds?<=?'1';--20秒信號(hào)
????????????ELSE
???????????????count_seconds?<=?count_seconds?+?1;--計(jì)數(shù)
???????????????ten_seconds?<=?'0';
????????????END?IF;
?????????END?IF;
??????END?IF;
???END?PROCESS;

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=553

  • 2-240113125343118.doc
    下載

相關(guān)推薦