• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

4路倒計時搶答器設計VHDL代碼Quartus DE2-115開發(fā)板

6小時前
70
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-2401111523593E.doc

共1個文件

名稱:4路倒計時搶答器設計VHDL代碼Quartus? DE2-115開發(fā)板

軟件:Quartus

語言:VHDL

代碼功能:

4路搶答器設計

要求:

1、具有復位和開始按鍵;

2、主持人按下開始按鍵后,開始倒計時9~0秒;

3、倒計時為0時開始搶答,通過led指示搶答者;

4、提前搶答對應的led閃爍報警。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在DE2-115開發(fā)板驗證,DE2-115開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

DE2-115開發(fā)板.png

演示視頻:

設計文檔:

1. 工程文件

2 .程序文件

3 . 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

整體仿真圖

圖中,復位后,主持人按下開始按鍵,開始倒計時9~0秒,倒計時結束前按下key1,表示1號提前搶答,蜂鳴器間隔響,led1閃爍。復位后,主持人重新按下開始鍵,開始倒計時,倒計時結束后先按下key3,3號搶答成功,led3亮,蜂鳴器響。此時再按下key4不響應。

注:LED低電平亮,蜂鳴器低電平響。

分頻模塊

系統(tǒng)時鐘分頻為1Hz和2Hz信號,1Hz用于倒計時,一次1秒。2Hz用于控制LED閃爍和蜂鳴器間隔響。

控制模塊

控制模塊通過狀態(tài)機控制提前搶答,正常搶答,倒計時等功能。

顯示模塊

數(shù)碼管顯示倒計時和臺號。

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
--搶答器
ENTITY?qiangdaqi?IS
???PORT?(
??????clk??????????:?IN?STD_LOGIC;--時鐘
??????rst_n????????:?IN?STD_LOGIC;--復位--SW0
??????start_n??????:?IN?STD_LOGIC;--開始--SW1
??????key_1????????:?IN?STD_LOGIC;--按鍵1--key0
??????key_2????????:?IN?STD_LOGIC;--按鍵2--key1
??????key_3????????:?IN?STD_LOGIC;--按鍵3--key2
??????key_4????????:?IN?STD_LOGIC;--按鍵4--key3
??????LED1?????????:?OUT?STD_LOGIC;--LED0
??????LED2?????????:?OUT?STD_LOGIC;--LED1
??????LED3?????????:?OUT?STD_LOGIC;--LED2
??????LED4?????????:?OUT?STD_LOGIC;--LED3
??????beep?????????:?OUT?STD_LOGIC;--蜂鳴器--LED4
dis1:?out?std_logic_vector(7?downto?0);--臺號1顯示
dis2:?out?std_logic_vector(7?downto?0);--臺號2顯示
dis3:?out?std_logic_vector(7?downto?0);--臺號3顯示
dis4:?out?std_logic_vector(7?downto?0);--臺號4顯示
??????HEX??????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管
???);
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;
???
--數(shù)碼管譯碼
COMPONENT?LED7S?is
Port(
din:?in?std_logic_vector(3?downto?0);
dis1:?out?std_logic_vector(7?downto?0);--臺號1顯示
dis2:?out?std_logic_vector(7?downto?0);--臺號2顯示
dis3:?out?std_logic_vector(7?downto?0);--臺號3顯示
dis4:?out?std_logic_vector(7?downto?0);--臺號4顯示
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
--調用分頻模塊
???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
??????);

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=539

  • 2-2401111523593E.doc
    下載

相關推薦