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

出租车计费器区分白天晚上设计VHDL代码Quartus EP4C实验箱

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

2-2409111QP3548.doc

共1个文件

名称:出租车计费器区分白天晚上设计VHDL代码Quartus? EP4C实验箱

软件:Quartus

语言:VHDL

代码功能:

出租车计费器区分白天晚上

脉冲的个数除以10,代表这个轮子转了多少圈。

假设转一圈代表100米,转10圈是个一公里。

白天一个价晚上一个价,白天起步价是8块,晚上起步价9块,是白天还是晚上拿个按键去区分,然后三公里以内就是起步价超过三公里,每增加一公里是增加一块钱,等时,等个6秒就自动加1块钱。

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

本代码已在EP4C实验箱验证,EP4C实验箱如下,其他开发板可以修改管脚适配:

EP4C实验箱.jpg

演示视频:

设计文档:

1.工程文件

2.程序文件

3.程序编译

4.RTL图

5.管脚分配

6.仿真图

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--显示模块
ENTITY?display?IS
???PORT?(
??????clk??????????:?IN?STD_LOGIC;--标准时钟,10hz?
??????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);--里程
??????
DS1?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
DS2?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
DS3?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
DS4?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
DS5?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
DS6?????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)
???);
END?display;
ARCHITECTURE?trans?OF?display?IS
--二进制转BCD码
COMPONENT?b_to_bcd?IS
???PORT?(
??????clk???????:?IN?STD_LOGIC;
??????rst_n?????:?IN?STD_LOGIC;
??????binary????:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);
??????state_en??:?IN?STD_LOGIC;
??????BCD???????:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)
???);
END?COMPONENT;
SIGNAL?BCD_mileage_out???:??STD_LOGIC_VECTOR(15?DOWNTO?0);
SIGNAL?BCD_totel_money_out???:??STD_LOGIC_VECTOR(15?DOWNTO?0);
SIGNAL?BCD_wait_time_out?:??STD_LOGIC_VECTOR(15?DOWNTO?0);
SIGNAL?mileage_exd???:??STD_LOGIC_VECTOR(15?DOWNTO?0);
SIGNAL?wait_time_exd???:??STD_LOGIC_VECTOR(15?DOWNTO?0);
???SIGNAL???Kmmoney_L????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--合计费用?HML=xxx?(BCD码显示)
???SIGNAL???Kmmoney_M????:??STD_LOGIC_VECTOR(3?DOWNTO?0);
???SIGNAL???Kmmoney_H????:??STD_LOGIC_VECTOR(3?DOWNTO?0);
??????
???SIGNAL???Kmcount_H????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--总路程,里程范围为HL=0~99(BCD码显示)
???SIGNAL???Kmcount_L????:??STD_LOGIC_VECTOR(3?DOWNTO?0);
??
???SIGNAL???Kmtime_H????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--总时间
???SIGNAL???Kmtime_L????:??STD_LOGIC_VECTOR(3?DOWNTO?0);
BEGIN
???
mileage_exd<="00000000"?&?mileage;
wait_time_exd<="00000000"?&?wait_time;
--二进制转BCD码
BCD_mileage?:?b_to_bcd?
???PORT?MAP?(??????
??????clk???????=>clk,
??????rst_n?????=>reset,
??????binary????=>mileage_exd,
??????state_en??=>'1',
??????BCD???????=>BCD_mileage_out
???);
--二进制转BCD码
BCD_totel_money?:?b_to_bcd?
???PORT?MAP?(??????
??????clk???????=>clk,
??????rst_n?????=>reset,
??????binary????=>totel_money,
??????state_en??=>'1',
??????BCD???????=>BCD_totel_money_out
???);
--二进制转BCD码
BCD_wait_time?:?b_to_bcd?
???PORT?MAP?(??????
??????clk???????=>clk,
??????rst_n?????=>reset,
??????binary????=>wait_time_exd,
??????state_en??=>'1',
??????BCD???????=>BCD_wait_time_out
???);

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

  • 2-2409111QP3548.doc
    下载

相关推荐