2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  挑戰(zhàn)迷宮</b></p><p>  1、申請題目:挑戰(zhàn)迷宮</p><p>  題目,命題描述(5號宋體)</p><p>  這是一個基于FPGA控制點陣板顯示的益智趣味類小游戲,游戲中玩家通過鍵盤↑↓←→鍵控制控制人物上下左右移動,從起始點出發(fā),目的是走到迷宮的出口。游戲有著友好的用戶界面,而且有多種模式,多

2、種地圖供玩家選擇。</p><p>  1.普通不計時模式:玩家可以看到整個迷宮地圖,游戲沒有時間限制;</p><p>  2.普通計時模式:玩家可以看到整個迷宮地圖,必須在20秒內找到出口,否則游戲失??;</p><p>  3.高級不計時模式:玩家并不能看到整個迷宮的地圖,只能看到其周圍的2步以內部分路徑,其他路徑需要靠自己移動來探索,這樣就仿佛置身迷宮之中,

3、更有可玩性,游戲沒有時間限制;</p><p>  4.高級計時模式:同樣玩家:玩家并不能看到整個迷宮的地圖,只能看到其周圍的2步以內部分路徑;必須在20秒內找到出口,否則游戲失敗。</p><p><b>  2、課題背景:</b></p><p><b>  存在問題、應用背景</b></p><p

4、>  走迷宮是大家所非常熟悉的一款小游戲,規(guī)則簡單,老少皆宜,可以段煉玩家的判斷力和觀察力;而且其不同于普通的走迷宮游戲,增加了一些趣味性玩法及創(chuàng)新點,可供人們平時娛樂所用。該游戲主要在LED點陣板上實現(xiàn),做成電腦軟件效果將更佳。</p><p><b>  3、項目規(guī)劃: </b></p><p><b>  功能、指標、規(guī)模</b>&l

5、t;/p><p><b>  功能:</b></p><p>  游戲開始之前,玩家通過鍵盤選擇游戲模式和游戲地圖,然后啟動游戲,其中有相應的指示燈提示;</p><p>  2.點陣板顯示中,以黃色表示玩家,綠色表示迷宮出口,紅色表示迷宮墻壁;玩家通過鍵盤上相應的鍵控制人物的上下左右移動。勝利或失敗后有相應的畫面出現(xiàn),能夠通過按鍵重新啟動游戲。&

6、lt;/p><p>  3.計時模式中,數(shù)碼管顯示倒計時;</p><p><b>  指標:</b></p><p>  游戲中主要采用16X16點陣板顯示地圖,計時模塊中,時間限制為20秒比較合理。</p><p><b>  規(guī)模:</b></p><p>  由于涉及數(shù)據(jù)

7、結構在硬件語言中的實現(xiàn)與優(yōu)化,具有多種模式下點陣板的操作,本項目難度為中上。由于硬件語言中使用了大量矩陣,所有功能都實現(xiàn)后,占用的邏輯單元的總數(shù)在5000多左右。</p><p>  面板(顯示)、操作、規(guī)則</p><p><b>  顯示面板:</b></p><p>  數(shù)碼管:第一位表示關卡,后兩位表示倒計時時間。 </p>

8、;<p><b>  LED顯示燈:</b></p><p><b>  操作:</b></p><p><b>  游戲規(guī)則:</b></p><p>  本游戲的規(guī)則相對簡單。玩家使用鍵盤操縱一個人,在規(guī)定的時間內走到迷宮出口即可勝利。</p><p><

9、;b>  輸入、輸出接口</b></p><p><b>  鍵盤輸入輸出接口;</b></p><p>  點陣板掃描、顯示接口。</p><p><b>  4、實現(xiàn)方案: </b></p><p><b>  核心問題</b></p>&l

10、t;p>  1. 多種模式下的選擇和表示;</p><p>  2.對LED點陣板中迷宮地圖的顯示和人物移動的顯示控制;</p><p>  3. 點陣中只顯示人物周圍的2步以內部分路徑。</p><p><b>  解決方案</b></p><p>  對于多種模式,使用狀態(tài)機的不同狀態(tài)來表示,這樣就可以通過狀態(tài)

11、來作為后面點陣顯示模塊的使能信號;</p><p><b>  點陣板的顯示:</b></p><p>  點陣板的行采用掃描信號的形式掃描,16位行輸出信號依次為:</p><p>  ”1111111111111110”,”1111111111111101”,”1111111111111011,"1111111111110111&

12、quot;,"1111111111101111"等(低電平使能);當相應的行選中時,輸入相應的紅燈16位列信號,綠燈16位列信號,這樣紅燈和綠燈的信號就有16X16個需要存儲;</p><p>  分別用兩個16X16的矩陣存儲紅燈和綠燈的信號,當點陣板第一行選中時,輸出矩陣第一行的16位信號;當點陣板第二行選中時,輸出矩陣第二行的16位信號;以此類推。</p><p>

13、;  采用一個16X16的矩陣顯示人物的位置,事先知道人物點的位置坐標,當上下左右鍵按下后,就修改該矩陣中的值,最后把該矩陣和紅燈信號的矩陣和綠燈信號的矩陣相與作為紅燈和綠燈的輸出。</p><p>  定義一個初始化為全0的16X16的矩陣,當每次人物點移動時,把人物坐標周圍2步以內的點對應的矩陣中的值修改為1;輸出的紅燈信號的矩陣和綠燈信號的矩陣與這個矩陣相與輸出。</p><p>&

14、lt;b>  5、系統(tǒng)結構:</b></p><p><b>  系統(tǒng)框圖</b></p><p><b>  模塊功能描述</b></p><p>  分頻器模塊fenping:</p><p>  對輸入的2MHz信號進行不同的分頻,分別產(chǎn)生1KHz、100Hz、2Hz、1Hz

15、的時鐘信號。</p><p>  鍵盤模塊keyboard:</p><p>  外接鍵盤,當鍵盤按下鍵時,輸出按下的鍵值(用4位二進制數(shù)表示)和相應的按鍵脈沖。</p><p>  狀態(tài)機模塊statemachine:</p><p>  輸入鍵盤按鍵信號,輸出4位二進制數(shù)來表示不同的狀態(tài)。</p><p>  游戲

16、關卡選擇模塊hard_setting:</p><p>  當狀態(tài)為關卡選擇狀態(tài)時,初始輸出值為1,按下A鍵關卡加一,按下D鍵關卡減一。</p><p>  倒計時模塊daojishi:</p><p>  當選中計時模式并游戲開始后,倒計時開始,共20秒,倒計時最后3秒時輸出2Hz蜂鳴器信號,倒計時結束時輸出timeover信號為1.</p><

17、;p>  點陣控制模塊maze:</p><p>  存儲著不同關卡的地圖矩陣,游戲未開始時,用相應關卡的地圖矩陣初始化輸出矩陣;游戲開始后,檢測上下左右鍵,若有鍵按下,修改人物矩陣中相應的值,輸出紅色和綠色點陣的矩陣值,供掃描顯示模塊使用。</p><p>  點陣掃描顯示模塊display:</p><p>  把輸入的相應紅色和綠色矩陣值與點陣掃描信號關

18、聯(lián),產(chǎn)生16位紅色輸出信號和生16位綠色輸出信號,連接至點陣板。</p><p>  模塊接口標注(參數(shù)、協(xié)議)</p><p>  鍵盤行列輸入輸出信號:</p><p>  游戲關卡顯示數(shù)碼管:</p><p><b>  倒計時顯示數(shù)碼管:</b></p><p><b>  點陣

19、板行掃描信號:</b></p><p><b>  點陣板紅燈信號:</b></p><p><b>  點陣板綠燈信號:</b></p><p><b>  LED顯示燈信號:</b></p><p><b>  時鐘輸入信號:</b><

20、;/p><p><b>  6、狀態(tài)流程圖:</b></p><p><b>  系統(tǒng)工作狀態(tài)流程</b></p><p>  7、各主要模塊仿真結果波形</p><p>  各模塊的仿真波形,詳細注釋輸入輸出功能端口</p><p>  1.鍵盤模塊波形圖:</p>

21、<p><b>  輸入輸出功能端口:</b></p><p>  CLK:輸入2MHz時鐘信號</p><p>  KEY_down_:輸出按下鍵的脈沖</p><p>  col[3..0]:列掃描信號</p><p>  row[3..0]:行輸入信號</p><p>  q[

22、3..0]:4位鍵盤碼信號</p><p><b>  波形意義:</b></p><p>  從波形可以看出,可以成功產(chǎn)生列掃描信號,而且按下F鍵,和4鍵后可以輸出相應的鍵值,且能產(chǎn)生按鍵脈沖。</p><p>  2. 狀態(tài)機模塊波形圖: </p><p><b>  輸入輸出功能端口:</b>

23、</p><p><b>  CLK:時鐘信號</b></p><p>  1、2、A、B、C、D、E、F:鍵盤按鍵信號</p><p><b>  X1:暫停信號</b></p><p>  STATE:輸出狀態(tài)信號</p><p><b>  波形意義:<

24、/b></p><p>  波形表示在初始狀態(tài)0000下,按下“F”鍵啟動控制器進入0001狀態(tài),通過按“1” 選擇,普通不計時模式0100,按下E鍵確認地圖,開始游戲進入1000狀態(tài);在初始狀態(tài)0000下,按下“F”鍵啟動控制器進入0001狀態(tài),通過按“2” 選擇普通計時模式0101,按下E鍵確認地圖,開始游戲進入1001狀態(tài),按F鍵結束游戲回到初始狀態(tài)。可見狀態(tài)機功能可以實現(xiàn)。</p>&

25、lt;p>  3.倒計時顯示模塊波形圖: </p><p><b>  輸入輸出功能端口:</b></p><p>  A[3..0]: 4位鍵盤按鍵碼</p><p>  State:當前狀態(tài)</p><p>  CLK1Hz:1Hz時鐘信號</p><p><b>  MinH

26、:分鐘高位</b></p><p><b>  MinL:分鐘低位</b></p><p><b>  SecH:秒高位</b></p><p><b>  SceL:秒低位</b></p><p><b>  波形意義:</b></p&

27、gt;<p>  可以看出在計時模式狀態(tài)中可以實現(xiàn)倒計時的功能。</p><p>  4.本系統(tǒng)仿真涉及兩個16*16自定義矩陣向量,超出Quatus 提供的pin腳上限,故游戲控制模塊仿真無法實現(xiàn),實際中采用直接燒進FPGA中調試,此處模塊仿真略。</p><p><b>  8、課程設計總結</b></p><p>  預期的

28、目標與當前實現(xiàn)功能的差異詳細注釋</p><p>  游戲結果基本實現(xiàn)了預期的全部主要功能,完全編譯已經(jīng)需要5200多個門,考慮到FPGA門數(shù)的限制(只有約6000個門),我省略了游戲中的雙人模式;而且由于時間和資源的有限,程序內部只預置了兩幅地圖。</p><p>  可以進一步發(fā)揮提高的部分</p><p>  可以增加雙人模式,兩個玩家同時走迷宮,比較誰最先走

29、出迷宮,增加游戲的趣味性和競爭性;</p><p>  可以為游戲增加提示音樂,讓其更完美、更人性化。</p><p><b>  課程設計體會</b></p><p>  首先,這次的課程設計讓我學會了VHDL語言,讓我深深體會到語言設計的強大性和簡潔性,然而,雖然用語言編寫有很大的優(yōu)勢,但這畢竟是一個相當大的系統(tǒng),再加上VHDL語言的嚴謹性

30、,要想讓整個系統(tǒng)的邏輯結構清晰明了,完全不出錯誤,也是一件煞費苦心的事情,由于用了許多矩陣,程序關編譯就需要好幾分鐘的時間,所以這毫無疑問花費了我大把的時間去調試。</p><p>  由于之前有用語言編寫健身自行車的基礎,前面模式選擇以及狀態(tài)機什么的都很快調試成功了;但點陣板卻完全不是輕而易舉就能成功的。首先,光其原理我就研究了好一陣子,理解了編寫出來也是錯誤百出,起初燒進去點陣板也是一點反應也沒有。但是經(jīng)過鍥

31、而不舍的調試運行,最終還是完美的成功了。整個一個數(shù)字系統(tǒng)的設計讓我初次體會了從申請一個項目到實施、中途經(jīng)歷的學習、解決問題……等等諸多以前從未有過的體驗,也是對自身的一次鍛煉。</p><p><b>  9、參考文獻</b></p><p>  1. VHDL數(shù)字電路設計教程, Volnei A. Pedroni, 喬廬峰/王志功 電子工業(yè)出版社</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論