• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

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

09/16 08:43
247
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241016204549132.doc

共1个文件

名称:出租车计价器设计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

演示视频:

设计文档:

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--合计费用
??????);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1209

  • 2-241016204549132.doc
    下载

相关推荐