名称:出租车计价系统不同收费模式VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
出租车计价系统不同收费模式
该系统能显示里程数和乘客应付的费用,出租车的计费标准为:
里程在3公里以内为起步价10元;3公里以上时,每行驶1公里增加2.4元。
该系统同时具有白天和夜晚不同收费模式,正常行驶和交通拥堵不同收费模式。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
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;--复位信号,低有效? ??????day_night????????:?IN?STD_LOGIC;--day?oe?night?;1?for?day?,0?for?night ??????stop?????????????:?IN?STD_LOGIC;--本次行程结束,停止计费,高有效 ??????start????????????:?IN?STD_LOGIC;--启动信号,行程开始,高有效? ??????Speed????????????:?IN?STD_LOGIC;--0:暂停等待;1:行驶 ??????one_kilometre????:?IN?STD_LOGIC;--1公里产生一次脉冲 ??????seconds_60???:?IN?STD_LOGIC;--暂停等待,60s产生一次脉冲 ??????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
阅读全文