名稱:出租車計價系統(tǒng)不同收費模式VHDL代碼Quartus仿真
軟件:Quartus
語言:VHDL
代碼功能:
出租車計價系統(tǒng)不同收費模式
該系統(tǒng)能顯示里程數(shù)和乘客應(yīng)付的費用,出租車的計費標準為:
里程在3公里以內(nèi)為起步價10元;3公里以上時,每行駛1公里增加2.4元。
該系統(tǒng)同時具有白天和夜晚不同收費模式,正常行駛和交通擁堵不同收費模式。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
頂層電路圖
代碼
3. 程序編譯
4. RTL圖
5. 仿真文件
6. 仿真圖
整體仿真圖
顯示模塊仿真圖
控制模塊
速度脈沖模塊
部分代碼展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --控制模塊 ENTITY?taxi_state?IS ???PORT?( ??????clk??????????????:?IN?STD_LOGIC;--標準時鐘,10hz? ??????reset????????????:?IN?STD_LOGIC;--復(fù)位信號,低有效? ??????day_night????????:?IN?STD_LOGIC;--day?oe?night?;1?for?day?,0?for?night ??????stop?????????????:?IN?STD_LOGIC;--本次行程結(jié)束,停止計費,高有效 ??????start????????????:?IN?STD_LOGIC;--啟動信號,行程開始,高有效? ??????Speed????????????:?IN?STD_LOGIC;--0:暫停等待;1:行駛 ??????one_kilometre????:?IN?STD_LOGIC;--1公里產(chǎn)生一次脈沖 ??????seconds_60???:?IN?STD_LOGIC;--暫停等待,60s產(chǎn)生一次脈沖 ??????wait_time_out????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????mileage_out??????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????totel_money_out??:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)--合計費用 ???); END?taxi_state; ARCHITECTURE?trans?OF?taxi_state?IS ???constant?night_start:STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000010010110";--15.0--夜間起步價15元 ???constant?day_start:??STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000001100100";--10.0--白天起步價10元 ???constant?night_price:STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000011110";--3.0--夜間每行駛1公里增加3.0元 ???constant?day_price:??STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000011000";--2.4--白天每行駛1公里增加2.4元??? ???constant?night_time:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000010";--0.2--夜間交通擁堵每分鐘收費0.2元?? ???constant?day_time:???STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000001";--0.1--白天交通擁堵每分鐘收費0.1元??? ???SIGNAL?start_fee:STD_LOGIC_VECTOR(15?DOWNTO?0)?; ???SIGNAL?price_fee:STD_LOGIC_VECTOR(15?DOWNTO?0)?;? ???SIGNAL?time_fee:?STD_LOGIC_VECTOR(15?DOWNTO?0)?; ??? ???SIGNAL?state???????:?STD_LOGIC_VECTOR(2?DOWNTO?0)?:=?"000"; ???SIGNAL?totel_money?:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000"; ???SIGNAL?mileage?????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000"; ???SIGNAL?wait_time?????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000"; BEGIN
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=591
閱讀全文