汽车速度表设计VHDL代码Quartus 21EDA CPLD开发板
名称:汽车速度表设计VHDL代码Quartus 21EDA CPLD开发板
软件:Quartus
语言:VHDL
代码功能:
汽车速度表设计
设计一个汽车速度表。车轮每转一圈会产生一个脉冲,每个脉冲代表1米的距离,根据单位时间的脉冲数可推算出汽车的速度。
要求:(1)模拟产生车轮运转产生的脉冲信号并对其计数,用按键选择脉冲信号的不同频率
(2)每隔10秒读取一次脉冲计数器,并据此计算车速;
(3)用数码管显示车速,单位Km/h;
(4)给出超速警告。←
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在21EDA CPLD开发板验证,21EDA CPLD开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

管脚

5. Testbench

6. 仿真图

按键模块

控制模块

速度模块

报警模块

显示模块

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all; --显示模块 ENTITY display IS PORT ( clk : IN STD_LOGIC; speed_num : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输出速度值 bit_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END display; ARCHITECTURE behave OF display IS component B_to_BCD IS PORT ( clk : IN STD_LOGIC; data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--二进制输入 Bai : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--百位 Shi : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--十位 Ge : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--个位 ); END component; SIGNAL display_num : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; SIGNAL geshu : STD_LOGIC_VECTOR(2 DOWNTO 0) := "000"; SIGNAL hun : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; --计算结果百位 SIGNAL ten : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--计算结果十位 SIGNAL one : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; --计算结果个位 BEGIN B_to_BCD_U: B_to_BCD PORT MAP ( clk => clk, data_in => speed_num,--二进制输入--speed_num Bai => hun,--百位 Shi => ten,--十位 Ge => one--个位 ); --------------------------------------------位选-- PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN IF (geshu = "101") THEN geshu <= "000"; ELSE geshu <= geshu + "001"; --扫描那个管子的指示位 END IF; END IF; END PROCESS;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 汽车速度表设计VHDL代码Quartus 21EDA CPLD开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 汽车速度表设计VHDL代码Quartus 21EDA CPLD开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm