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

数字式竞赛抢答器设计 VHDL代码Quartus 21EDA EPM240开发板

07/10 08:05
401
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240125111602M4.doc

共1个文件

名称:数字式竞赛抢答器设计 VHDL代码Quartus? 21EDA EPM240开发板

软件:Quartus

语言:VHDL

代码功能:

数字式竞赛抢答器设计

设计一个可容纳四组参赛者同时抢答的数字抢答器。

要求:

(1)能判断第一抢答者并报警指示抢答成功,其他组抢答均无效;

(2)设计倒计时时钟,若提前抢答则对相应的抢答组发出警报。

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

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

21EDA EPM240开发板.png

演示视频:

设计文档:

1. 工程文件

2 .程序文件

3 . 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

图中,复位后,按下开始按键,开始倒计时,倒计时结束前按下key1,表示1好提前抢答,蜂鸣器间隔响,led1闪烁。复位后,重新按下开始键,开始倒计时,倒计时结束后先后按下key3和key4,led3亮,表示3号先抢答,蜂鸣器响。

分频模块

控制模块

显示模块

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
ENTITY?qiangdaqi?IS
???PORT?(
??????clk??????????:?IN?STD_LOGIC;--时钟
??????rst_n????????:?IN?STD_LOGIC;--复位
??????start_n??????:?IN?STD_LOGIC;--开始
??????key_1????????:?IN?STD_LOGIC;--按键1
??????key_2????????:?IN?STD_LOGIC;--按键2
??????key_3????????:?IN?STD_LOGIC;--按键3
??????key_4????????:?IN?STD_LOGIC;--按键4
??????LED1?????????:?OUT?STD_LOGIC;--LED1
??????LED2?????????:?OUT?STD_LOGIC;--LED2
??????LED3?????????:?OUT?STD_LOGIC;--LED3
??????LED4?????????:?OUT?STD_LOGIC;--LED4
??????beep?????????:?OUT?STD_LOGIC;--蜂鸣器
??en???????:?OUT?STD_LOGIC;--使能
??????HEX??????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--数码管
???);
END?qiangdaqi;
ARCHITECTURE?behave?OF?qiangdaqi?IS
--控制模块
???COMPONENT?control?IS
??????PORT?(
?????????clk??????:?IN?STD_LOGIC;
?????????rst_n????:?IN?STD_LOGIC;
?????????start_n??:?IN?STD_LOGIC;
?????????key_1????:?IN?STD_LOGIC;
?????????key_2????:?IN?STD_LOGIC;
?????????key_3????:?IN?STD_LOGIC;
?????????key_4????:?IN?STD_LOGIC;
?????????clk_1Hz??:?IN?STD_LOGIC;
?????????clk_2Hz??:?IN?STD_LOGIC;
?????????LED1?????:?OUT?STD_LOGIC;
?????????LED2?????:?OUT?STD_LOGIC;
?????????LED3?????:?OUT?STD_LOGIC;
?????????LED4?????:?OUT?STD_LOGIC;
?????????beep?????:?OUT?STD_LOGIC;
?????????down_time?:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)
??????);
???END?COMPONENT;
?--分频器??
???COMPONENT?div?IS
??????PORT?(
?????????clk??????:?IN?STD_LOGIC;
?????????clk_1Hz??:?OUT?STD_LOGIC;
?????????clk_2Hz??:?OUT?STD_LOGIC
??????);
???END?COMPONENT;
???
--数码管译码
COMPONENT?LED7S?is
Port(din:?in?std_logic_vector(3?downto?0);
?y:?out?std_logic_vector(7?downto?0));
end?COMPONENT;
???
???
???SIGNAL?clk_1Hz????:?STD_LOGIC;
???SIGNAL?clk_2Hz????:?STD_LOGIC;
???SIGNAL?down_time??:?STD_LOGIC_VECTOR(3?DOWNTO?0);
BEGIN
en<='0';
--调用分频模块
???i_div?:?div
??????PORT?MAP?(
?????????clk??????=>?clk,
?????????clk_1Hz??=>?clk_1Hz,
?????????clk_2Hz??=>?clk_2Hz
??????);
--调用控制模块???
???i_control?:?control
??????PORT?MAP?(
?????????clk????????=>?clk,
?????????rst_n??????=>?rst_n,
?????????start_n????=>?start_n,
?????????key_1??????=>?key_1,
?????????key_2??????=>?key_2,
?????????key_3??????=>?key_3,
?????????key_4??????=>?key_4,
?????????clk_1Hz????=>?clk_1Hz,
?????????clk_2Hz????=>?clk_2Hz,
?????????LED1???????=>?LED1,
?????????LED2???????=>?LED2,
?????????LED3???????=>?LED3,
?????????LED4???????=>?LED4,
?????????beep???????=>?beep,
?????????down_time??=>?down_time
??????);
--调用显示模块
???i_LED7S?:?LED7S
??????PORT?MAP?(
?????????din??=>?down_time,
?????????y????=>?HEX
??????);
???
END?behave;

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

  • 2-240125111602M4.doc
    下载

相关推荐