出租车计费设计VHDL代码Quartus仿真

名称:出租车计费设计VHDL代码Quartus仿真(文末获取)

软件:Quartus

语言:VHDL

代码功能:

出租车计费

1、可以控制行程开始和停止

2、通过车轮脉冲判断车行驶里程

3、显示总费用和里程

4、3.0公里以内起步价5.0元,大于3.0公里按0.2元/0.1公里计费

5、停车按时间计费,每1分钟1元  

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

速度及判断模块

控制模块

里程计算模块

时间计算模块

显示模块

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY taxi_fee IS
   PORT (
      clk        : IN STD_LOGIC;--50MHz基准频率CLOCK0
      reset      : IN STD_LOGIC;--复位信号,低有效 
      
      stop       : IN STD_LOGIC;--本次行程结束,停止计费,高有效
      start      : IN STD_LOGIC;--启动信号,行程开始,高有效 
      
      Wheel_pulse     : IN STD_LOGIC;--车轮脉冲
      
--3位数码管显示费用
      Kmmoney_L_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--合计费用 HML=xxx (BCD码显示)
      Kmmoney_M_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
      Kmmoney_H_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
      --里程和时间切换显示
      Kmcount_H_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--总路程,里程范围为HL=0~99.9(BCD码显示)
      Kmcount_M_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
      Kmcount_L_HEX    : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
   );
END taxi_fee;
ARCHITECTURE trans OF taxi_fee IS
--速度计算及判断模块
COMPONENT speed_pulse IS
   PORT (
      clk             : IN STD_LOGIC;--标准时钟,10hz 
      reset           : IN STD_LOGIC;--复位信号,低有效 
  Wheel_pulse     : IN STD_LOGIC;--车轮脉冲
      Speed           : OUT STD_LOGIC;--0:暂停等待;1:行驶
      kilometre_01   : OUT STD_LOGIC;--0.1公里产生一次
      minute_en  : OUT STD_LOGIC--暂停等待,2min产生一次脉冲
   );
END COMPONENT;
--模块例化
   COMPONENT display IS
      PORT (
         clk        : IN STD_LOGIC;
         reset      : IN STD_LOGIC;
Speed            : IN STD_LOGIC;--0:暂停等待;1:行驶
         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_HEX  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         Kmmoney_M_HEX  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         Kmmoney_H_HEX  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         Kmcount_H_HEX  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         Kmcount_M_HEX    : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         Kmcount_L_HEX  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
      );
   END COMPONENT;
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值