• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

電子拔河游戲機(jī)VHDL代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-240105094321Y4.doc

共1個(gè)文件

名稱:電子拔河游戲機(jī)VHDL代碼Quartus仿真

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:

電子拔河游戲機(jī)

電子拔河游戲機(jī)是一種能容納甲乙雙方參賽游戲電路。由一排發(fā)光二極管表示拔河的“電子繩”。由甲乙雙方通過按紐開關(guān)使發(fā)光二極管向一方的終點(diǎn)延伸當(dāng)延伸到某方的最后一個(gè)發(fā)光二極管時(shí),則該方獲勝,連續(xù)比賽多局以定勝負(fù)。

基本要求

設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。

2、電路使用9個(gè)發(fā)光二極管,開機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。

3、游戲雙方各持一個(gè)按鈕,迅速地、不斷地按動(dòng),產(chǎn)生脈沖,誰(shuí)按得快,亮點(diǎn)就向誰(shuí)的方向移動(dòng),每按一次,亮點(diǎn)移動(dòng)一次。

4、亮點(diǎn)移到任一方終端二極管時(shí),這一方就獲勝,此時(shí)雙方按鈕均無(wú)作用,輸出保持,只有復(fù)位后才使亮點(diǎn)恢復(fù)到中心。

5、用數(shù)碼管顯示獲勝者的盤數(shù)。

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

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

原理圖文件

代碼文件

3. 程序編譯

4. RTL圖

5. 仿真圖

整體仿真圖

拔河控制模塊仿真圖

顯示模塊仿真圖

部分代碼展示:

library?IEEE;
use?IEEE.std_logic_1164.all;
use?IEEE.std_logic_unsigned.all;
--拔河游戲
entity?bahe?is
port?(
????--?CLOCK
????CLK:?in?std_logic;
????--?SEG7
????HEX0:?out?std_logic_vector(7?downto?0);--數(shù)碼管1
????HEX1:?out?std_logic_vector(7?downto?0);--數(shù)碼管2
????--?KEY?(debounced)
????Button1:?in?std_logic;--選手1
?Button2:?in?std_logic;--選手2
????reset_n????????:?IN?STD_LOGIC;--復(fù)位信號(hào),低有效?
????restart????????:?IN?STD_LOGIC;--裁判控制重新開始
????--?LED
????LEDR:?out?std_logic_vector(8?downto?0)
?);
end?bahe;
architecture?behav?of?bahe?is
????
?signal?score_1????????:?STD_LOGIC_VECTOR(3?DOWNTO?0);--選手1分?jǐn)?shù)
????signal?score_2????????:?STD_LOGIC_VECTOR(3?DOWNTO?0);--選手2分?jǐn)?shù)
?
????component?BIN2HEX
????port?(
????????bin:?in?std_logic_vector(3?downto?0);
????????hex:?out?std_logic_vector(7?downto?0));?
????end?component;
????
????--?provide?the?component?of?your?design?here
component?bahe_ctrl
???PORT?(
??????clk???????:?IN?STD_LOGIC;--標(biāo)準(zhǔn)時(shí)鐘
??????reset_n????????:?IN?STD_LOGIC;--復(fù)位信號(hào),低有效?
??????restart????????:?IN?STD_LOGIC;--裁判控制重新開始
??????Button1???????:?IN?STD_LOGIC;--選手1
??????Button2???????:?IN?STD_LOGIC;--選手2
??????led????????????:?OUT?STD_LOGIC_VECTOR(8?DOWNTO?0);--9個(gè)led
??????score_1????????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--選手1分?jǐn)?shù)
??????score_2????????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)--選手2分?jǐn)?shù)
???);
END?component;
????
begin
????--拔河控制模塊
U_bahe_ctrl:?bahe_ctrl
???port?map??(
??????clk=>CLK,
??????reset_n=>reset_n,
??????restart=>restart,
??????Button1=>Button1,
??????Button2=>Button2,
??????led=>LEDR,
??????score_1=>score_1,
??????score_2=>score_2
???);
????--數(shù)碼管顯示模塊
????U_HEX0:?BIN2HEX
?port?map?(
?bin=>score_1,?
?hex=>HEX0
?);
?--數(shù)碼管顯示模塊
????U_HEX1:?BIN2HEX?
?port?map?(
?bin=>score_2,
?hex=>HEX1
?);
end?behav;

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

  • 2-240105094321Y4.doc
    下載

相關(guān)推薦