出租车计价器设计VHDL代码Quartus DE2-115开发板

名称:出租车计价器设计VHDL代码Quartus  DE2-115开发板

软件:Quartus

语言:VHDL

代码功能:

出租车计价器设计

完成简易出租车计价器设计,选做停车等待计价功能。

基本功能:

(1)起步8元/3公里,此后2元/公里;

(2)里程指示信号为每前进50米一个高电平脉冲,上升沿有效;显示行公里数,精确到0.1公里。(模拟时速40KM/h)

(3)前进里程开始之前显示价钱,精确到0.1元;

(4)用两个按键分别表示开始行程和结束行程。



FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:DE2-115开发板.png

演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件

原理图

代码



3. 程序编译


4. RTL图


5. 管脚分配


6. 仿真图

整体仿真图



脉冲产生模块


计费模块



显示模块



部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--(1)起步8元/3公里,此后2元/公里;
--(2)里程指示信号为每前进50米一个高电平脉冲,上升沿有效;显示行公里数,精确到0.1公里。(模拟时
--速40KM/h)
--(3)前进里程开始之前显示价钱,精确到0.1元;
--(4)用两个按键分别表示开始行程和结束行程。
--出租车计费
ENTITY taxi_fee IS
   PORT (
      clk        : IN STD_LOGIC;--时钟
      reset      : IN STD_LOGIC;--复位信号,低有效 
      stop       : IN STD_LOGIC;--本次行程结束,停止计费,高有效
      start      : IN STD_LOGIC;--启动信号,行程开始,高有效 
      --6个数码管
      HEX0   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      HEX1   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      HEX2   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      HEX3   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      HEX4   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      HEX5   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
   );
END taxi_fee;
ARCHITECTURE trans OF taxi_fee IS
--模块例化
   COMPONENT display IS
      PORT (
         clk        : IN STD_LOGIC;
         reset      : IN STD_LOGIC;
         totel_money : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
         mileage    : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
         --6个数码管
         HEX0   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         HEX1   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         HEX2   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         HEX3   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         HEX4   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
         HEX5   : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
      );
   END COMPONENT;
--模块例化   
   COMPONENT speed_pulse IS
      PORT (
         clk        : IN STD_LOGIC;
         reset      : IN STD_LOGIC;
         one_pulse : OUT STD_LOGIC
      );
   END COMPONENT;
--模块例化
COMPONENT taxi_state IS
   PORT (
      clk              : IN STD_LOGIC;
      reset            : IN STD_LOGIC;      
      stop             : IN STD_LOGIC;
      start            : IN STD_LOGIC;
      one_pulse    : IN STD_LOGIC;
      mileage_out      : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
      totel_money_out  : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
   );
   END COMPONENT;
   
--信号定义
   SIGNAL one_pulse   : STD_LOGIC;
   SIGNAL totel_money     : STD_LOGIC_VECTOR(15 DOWNTO 0);
   SIGNAL mileage         : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
   --速度脉冲产生模块
   U_speed_pulse : speed_pulse
      PORT MAP (
         clk             => clk,--标准时钟
         reset           => reset,--复位信号,低有效 
         one_pulse   => one_pulse----50米一个高电平脉冲
      );
   
   
   --计费模块
   U_taxi_state : taxi_state
      PORT MAP (
         clk              => clk,--标准时钟
         reset            => reset,--复位信号,低有效 
         stop             => stop,--本次行程结束,停止计费,高有效
         start            => start,--启动信号,行程开始,高有效 
         one_pulse    => one_pulse,----50米一个高电平脉冲
         mileage_out      => mileage,
         totel_money_out  => totel_money--合计费用
      );

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 出租车计价器设计VHDL代码Quartus DE2-115开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员