出租车计费器设计VHDL代码Quartus仿真
名称:出租车计费器设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
出租车计费器
分为白天黑夜两种计费模式,计费标准如下,quartusII 9.0版本:

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件
顶层电路图

代码

3. 程序编译

4. RTL图

5. 仿真文件

6. 仿真图





显示模块仿真图

控制模块

速度脉冲模块

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY taxi_fee IS PORT ( clk : IN STD_LOGIC;--256Hz基准频率CLOCK0 reset : IN STD_LOGIC;--复位信号,低有效 stop : IN STD_LOGIC;--本次行程结束,停止计费,高有效 start : IN STD_LOGIC;--启动信号,行程开始,高有效 Speed : IN STD_LOGIC_VECTOR(1 DOWNTO 0);--00:暂停等待;01:低速;10:中;,11:高速 Kmmoney_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--合计费用 HML=xxx (BCD码显示) Kmmoney_M : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--合计费用 HML=xxx (BCD码显示) Kmmoney_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--合计费用 HML=xxx (BCD码显示) Kmcount_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--总路程,里程范围为HL=0~99(BCD码显示) Kmcount_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--总路程,里程范围为HL=0~99(BCD码显示) Kmtime_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--总时间 Kmtime_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END taxi_fee; ARCHITECTURE trans OF taxi_fee IS --模块例化 COMPONENT display IS PORT ( clk : IN STD_LOGIC; reset : IN STD_LOGIC; wait_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); totel_money : IN STD_LOGIC_VECTOR(15 DOWNTO 0); mileage : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Kmmoney_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Kmmoney_M : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Kmmoney_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Kmcount_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Kmcount_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Kmtime_H : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--总时间 Kmtime_L : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; --模块例化 COMPONENT speed_pulse IS PORT ( clk : IN STD_LOGIC;--标准时钟,256hz reset : IN STD_LOGIC;--复位信号,低有效 Speed : IN STD_LOGIC;--0:暂停等待;1:行驶 one_kilometre : OUT STD_LOGIC;--1公里产生一次 seconds_60 : OUT STD_LOGIC--暂停等待,60s产生一次脉冲 ); END COMPONENT; --模块例化 COMPONENT taxi_state IS PORT ( clk : IN STD_LOGIC; reset : IN STD_LOGIC; stop : IN STD_LOGIC; start : IN STD_LOGIC; Speed : IN STD_LOGIC_VECTOR(1 DOWNTO 0); one_kilometre : IN STD_LOGIC; seconds_60 : IN STD_LOGIC; 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 COMPONENT; --信号定义 SIGNAL one_kilometre : STD_LOGIC; SIGNAL seconds_60 : STD_LOGIC; SIGNAL totel_money : STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL mileage : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL wait_time : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN U_speed_pulse : speed_pulse PORT MAP ( clk => clk,--标准时钟,256hz reset => reset,--复位信号,低有效 Speed => Speed,--0:暂停等待 one_kilometre => one_kilometre,--1公里产生一次脉冲 seconds_60 => seconds_60--暂停等待,60s产生一次脉冲 );
代码文件(付费下载):
![]()
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 出租车计费器设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 出租车计费器设计VHDL代码Quartus仿真
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm