資源描述:
《eda課程設(shè)計(jì)---拔河游戲機(jī)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、XXXXXX學(xué)院課程設(shè)計(jì)題目:EDA拔河游戲機(jī)課程設(shè)計(jì)作者:XXX專業(yè):自動(dòng)化班級(jí):XXX學(xué)號(hào):XXXXX指導(dǎo)老師:XXX2012年12月15日16主要內(nèi)容、基本要求、主要參考資料等主要內(nèi)容:電子拔河游戲機(jī)是一種能容納甲乙雙方參賽游戲電路。由一排發(fā)光二極管表示拔河的“電子繩”。由甲乙雙方通過(guò)按紐開(kāi)關(guān)使發(fā)光二極管向一方的終點(diǎn)延伸,當(dāng)延伸到某方的最后一個(gè)發(fā)光二極管時(shí),則該方獲勝,連續(xù)比賽多局以定勝負(fù)?;疽螅?、設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。2、電路使用9個(gè)發(fā)光二極管,開(kāi)機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。3、游戲雙方各持一個(gè)按鈕,迅
2、速地、不斷地按動(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ù)碼管顯示獲勝者的盤(pán)數(shù)。主要參考資料:[1]潘松著.EDA技術(shù)實(shí)用教程(第二版).北京:科學(xué)出版社,2005.[2]康華光主編.電子技術(shù)基礎(chǔ)模擬部分.北京:高教出版社,2006.[3]閻石主編.數(shù)字電子技術(shù)基礎(chǔ).北京:高教出版社,2003.一、總體設(shè)計(jì)思想1.基本原理由設(shè)計(jì)內(nèi)容可知,需要一個(gè)十進(jìn)制的計(jì)數(shù)器,用于對(duì)雙方按鈕的次數(shù)計(jì)數(shù),并通過(guò)譯碼
3、器顯示在數(shù)碼管上。顯視控制部分設(shè)計(jì)要求在發(fā)光二極管上顯示游戲狀態(tài),雙方每按十次,亮點(diǎn)向先按十次移動(dòng)一次,對(duì)脈沖進(jìn)行計(jì)數(shù),每十次移一位。需接入一個(gè)清零端,用于復(fù)位。將以上程序組裝起來(lái)。2.設(shè)計(jì)框圖16譯碼器編碼電路選擇開(kāi)關(guān)整形電路可逆計(jì)數(shù)器控制電路圖1.拔河機(jī)游戲機(jī)框圖二、設(shè)計(jì)步驟和調(diào)試過(guò)程1、總體設(shè)計(jì)電路總體電路圖和仿真圖如圖(25)所示,由仿真圖可知,此電路設(shè)計(jì)無(wú)誤,可以實(shí)現(xiàn)按動(dòng)A、B兩個(gè)按鍵時(shí),分別產(chǎn)生兩個(gè)脈沖信號(hào),經(jīng)整形后分別加到可逆計(jì)數(shù)器上,可逆計(jì)數(shù)器輸出的代碼經(jīng)譯碼器譯碼后驅(qū)動(dòng)電平指示燈點(diǎn)亮并產(chǎn)生位移,當(dāng)亮點(diǎn)移到任何一方終端后
4、,由于控制電路的作用,使這一狀態(tài)被鎖定,雙方按鍵產(chǎn)生的輸入脈沖不起作用。如按動(dòng)復(fù)位鍵C,亮點(diǎn)又回到中點(diǎn)位置,再次按C鍵則比賽又可重新開(kāi)始。16圖2.電路圖2、模塊設(shè)計(jì)和相應(yīng)模塊程序1.頂層文件libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.all;entitybaheisport(player1,player2:instd_logic;--玩家1,2輸入clk_in:instd_logic;--clk_in(1MHZ)reset:instd_logic;
5、--重置鍵row:outstd_logic_vector(7downto0);col:outstd_logic_vector(7downto0);led:outstd_logic_vector(7downto0);--繩子cats:outstd_logic_vector(6downto0);--比分q:outstd_logic_vector(5downto0);--數(shù)碼管控制mus:outstd_logic);--蜂鳴輸出endbahe;architecturebody_baheofbaheis--計(jì)數(shù)模塊componentcountp
6、ort(clk_1:instd_logic;--1HZ輸入sw:instd_logic;--狀態(tài)開(kāi)關(guān)player1,player2:instd_logic;--選手輸入sum1,sum2:outstd_logic_vector(4downto0));--計(jì)數(shù)結(jié)果輸出endcomponent;--比較模塊componentcmpport(clk_100:instd_logic;--100hzclk_1:instd_logic;--1hzsw:outstd_logic;--狀態(tài)開(kāi)關(guān)輸出reset:instd_logic;--重置start:
7、instd_logic;--開(kāi)始sum1,sum2:instd_logic_vector(4downto0);--計(jì)數(shù)結(jié)果輸入music_begin:outstd_logic;--音樂(lè)16record1,record2:outstd_logic_vector(1downto0);--比分輸出lights:outstd_logic_vector(2downto0));--拔河繩子顯示endcomponent;--音樂(lè)模塊componentmusicport(reset:instd_logic;--重置clk:instd_logic;--1
8、MHzclk_5:instd_logic;--5hzmusic_begin:instd_logic;--音樂(lè)開(kāi)始mus:outstd_logic);endcomponent;--譯碼模塊componentd