單片機在游戲貪吃蛇中的應(yīng)用_第1頁
單片機在游戲貪吃蛇中的應(yīng)用_第2頁
單片機在游戲貪吃蛇中的應(yīng)用_第3頁
單片機在游戲貪吃蛇中的應(yīng)用_第4頁
單片機在游戲貪吃蛇中的應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、摘要:凌陽16位單片機采用凌陽最新的nsp(Microcontroller and Signal Processor)位微處理器內(nèi)核(以下簡稱nSP); nSP核是通用的核結(jié)構(gòu)。 SPCE061A內(nèi)嵌32K字(Word)閃存(FLASH)、2K字(Word)SRAM;設(shè)置十位ADC和DAC,多達十四個中斷源等豐富的芯片資源。 CPU可以工作在高達49MHz的主頻,高處理速度使nSP能夠非常輕松快速地處理復(fù)雜的數(shù)字信號;這使得 SPCE061A具有靈活的語音處理能力。因此,與其他類型的單片機相比,061A以nSP為核心的SPCE單片機是具有數(shù)字語音功能的應(yīng)用領(lǐng)域產(chǎn)品最經(jīng)濟的選擇。本文討論了SPE

2、C061A簡化開發(fā)板-61板、SPLC501液晶模組和LED_keyboard板在小游戲Snake中的應(yīng)用。關(guān)鍵詞:液晶模組、Snake一、簡介SPCE061A是凌陽科技的 16 位單片機。 SPCE061A內(nèi)嵌 32K 閃存 (FLASH)。 SPCE061A為語音產(chǎn)品集成了ADC、DAC、AGC等。 SPCE061A也有 n-term 產(chǎn)品操作說明。高處理速度使unSP能夠非常輕松快速地處理復(fù)雜的數(shù)字信號,是數(shù)字語音識別應(yīng)用中最經(jīng)濟的選擇。 SPCE061A簡化開發(fā)板61板配備在線調(diào)試功能;結(jié)合集成開發(fā)環(huán)境,無需任何外部仿真調(diào)試器即可完成在線編程、仿真和調(diào)試功能。本程序直接使用SPCE06

3、1A簡化開發(fā)板,使用SPCE061A的語音處理功能,處理能力強大,配合SPLC501液晶模組等,輕松實現(xiàn)貪吃蛇游戲,有音樂背景;非常好 體現(xiàn)了061ASPCE的優(yōu)秀表現(xiàn)。二、芯片特性介紹 SPCE061A介紹本方案采用凌陽科技16位高性能單片機SPCE061A作為主控處理器,其CPU硬件資源如下:16位nSP微處理器;工作電壓 (CPU) VDD 為 2.43.6V (I/O) VDDH 為 2.45.5VCPU時鐘:0.32MHz49.152MHz;設(shè)置2K字SRAM;設(shè)置32K字FLASH;當系統(tǒng)處于待機狀態(tài)(時鐘處于停止狀態(tài))時,功耗僅為2 A3.6V;2個16位可編程定時器/計數(shù)器(初

4、始計數(shù)值可自動預(yù)置);2個10位DAC(數(shù)模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;14個中斷源可來自定時器A/B、時基、2個外部時鐘源輸入、按鍵喚醒;具有觸摸鍵喚醒功能;7通道10位電壓模數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模數(shù)轉(zhuǎn)換器;聲音模數(shù)轉(zhuǎn)換器輸入通道配備麥克風(fēng)放大器和自動增益控制(AGC)功能;帶串口設(shè)備接口;具有低壓復(fù)位(LVR)功能和低壓監(jiān)控(LVD)功能;在線仿真電路ICE(In-Circuit Emulator)接口;有能力;帶看門狗功能SPCE最顯著的特點是它的語音功能,集成了ADC、DAC、AGC等語音產(chǎn)品。 061ASPCE061A還有n-term產(chǎn)品操作說明,凌陽擁

5、有豐富的語音產(chǎn)品經(jīng)驗,提供多種語音壓縮算法的應(yīng)用。憑借其強大的處理能力,可以輕松實現(xiàn)一些具有一定復(fù)雜性的小游戲,同時應(yīng)用其特殊的語音功能,還可以為小游戲添加背景音樂或音效,增加設(shè)計的趣味性。游戲。3、系統(tǒng)總體方案介紹貪吃蛇的原理:游戲貪吃蛇是在液晶屏上畫一條蛇,同時隨機給予食物。玩家通過鍵盤操作控制貪吃蛇的動作,吃掉食物,吃完后食物消失,然后隨機給予食物,蛇的身體變大。畫蛇的原理是利用人眼的視覺效果將蛇的頭部向前移動一格,然后所有的蛇身依次向前移動一格,最后擦除蛇的尾巴。這使得人眼看起來蛇正在向前移動。要給食物,首先需要生成一個隨機數(shù),然后通過這個隨機數(shù)計算出食物的橫縱坐標,并顯示在液晶屏上。

6、要控制蛇的移動方向,需要掃描鍵盤,然后根據(jù)鍵值改變蛇的移動方向。系統(tǒng)結(jié)構(gòu):系統(tǒng)結(jié)構(gòu)框圖如圖1所示:圖 1 Game Snake 系統(tǒng)框圖系統(tǒng)主要包括061A三部分:SPCE簡化開發(fā)板-61板、SPLC501液晶模塊、LED_keyboard板。電源采用5V直流供電,芯片I/O電壓為3.3V。 SPCE簡化開發(fā)板是整個設(shè)計061A的核心,主要負責(zé)控制LCD的游戲界面輸出,鍵盤信息的采集和輸入,背景音樂也061A由SPCE在后臺處理。 SPLC501液晶模塊主要起到人機界面的作用,顯示游戲的信息,LED_keyboard負責(zé)接收玩家的操作。四、系統(tǒng)硬件設(shè)計 4.1 061ASPCE簡化開發(fā)板介紹:

7、 SPCE061A簡化開發(fā)板,簡稱61板,主要由SPCE061A芯片加晶振、復(fù)位電路、音頻電路等組成。 61板的電路原理圖見附錄圖1。本方案直接使用61板;板卡有音頻功放電路1個,MIC接口電路1個(配合芯片資源)等,提供32個便捷的I/O接口。這樣就可以用支持SPLC501液晶模塊的61板和LED_keyboard板完成本方案的設(shè)計。 4.2 SPLC501液晶模組介紹:本液晶模組采用凌陽科技大學(xué)規(guī)劃的128*64點陣液晶模組,驅(qū)動芯片采用凌陽SPLC501。模塊接口簡單,應(yīng)用方便,功耗低,可完成多項液晶特效功能。液晶模組可顯示字符、漢字、圖形等,4級灰度可調(diào)。特點: 1.設(shè)置8580位顯示

8、RAM。 RAM 中的一些數(shù)據(jù)控制 LCD 屏幕上像素的明暗狀態(tài)。 “1”亮 “0”暗。 2. 65行驅(qū)動輸出,132列驅(qū)動輸出。 3、可直接連接80系列和68系列微處理器。 4.設(shè)置晶振電路,或外接晶振。工作溫度范圍為- 40攝氏度+85攝氏度接口引腳說明液晶模塊與61板硬件的連接關(guān)系如表1所示,其中片選信號的CS引腳接地。引腳名稱闡明/CS1片選,低電平有效/RES復(fù)位引腳A0數(shù)據(jù)指令選擇引腳讀/寫/寫6800 系列 MPU 的讀/寫信號8080系列MPU的寫信號EP/RD6800 系列 MPU 的時鐘信號使能引腳8080 系列 MPU 的讀取信號DB08位數(shù)據(jù)總線DB1DB2DB3DB4

9、DB5DB6DB7虛擬現(xiàn)實端口輸出電壓C 86H 選擇 6800 MPU 系列C86 = L 選擇 8080 MPU 系列電壓邏輯電源 (3.3V5V)VSS接地 (0V)61 板液晶模組描述IOA8IOA15D0D78位數(shù)據(jù)線IOB4AO地址建立時間/地址保持時間IOB5讀/寫讀/寫時序IOB6EP數(shù)據(jù)建立/數(shù)據(jù)保持時間表格14.3 LED_Keyboard:LED_Keyboard 是一種常見的1X8 鍵盤。 LED_keyboard板和61板的接口是鍵盤一端接高電平,另一端接61板的IOA7-IOA0。 61板的I/O定義為下拉輸入法。但軟件中只定義了其中的 7 個。硬件原理圖見附錄圖2

10、。五、系統(tǒng)軟件設(shè)計5.1 游戲主要功能:開機界面:開機后會顯示3秒的“歡迎玩游戲”字幕。菜單界面:顯示啟動界面后,出現(xiàn)菜單選項。菜單提示“按音樂播放”,按1”不按音樂播放2”。鍵盤掃描:掃描1X8鍵盤,得到鍵值(只取7個鍵)。按鍵功能:實現(xiàn)游戲的人機交互。 1.開機狀態(tài)下,K1鍵的作用是有背景音樂進入游戲, 2.游戲狀態(tài)無背景音樂下,K1鍵的作用是打開背景音樂, 3 . 開機狀態(tài)下,K2鍵的作用是無背景音樂進入游戲, 4.游戲狀態(tài)下有背景音樂時,K2鍵的作用是關(guān)閉背景音樂。 5.在游戲狀態(tài)下,K3鍵的作用是讓蛇向上移動。 6.在游戲狀態(tài)下,K4鍵的作用是讓蛇下移。 7.在游戲狀態(tài)下,K5鍵的作

11、用是為了讓蛇向左移動, 8.在游戲狀態(tài)下,K6鍵的作用是讓蛇向右移動。 9、游戲狀態(tài)下,K7鍵的作用是隨時退出游戲。 10、K3、K4、K5、K6、K7按鍵在開機狀態(tài)下無效。游戲界面:游戲界面液晶屏左側(cè)顯示“蛇”字樣,右側(cè)有一個矩形區(qū)域,即游戲區(qū),矩形區(qū)域內(nèi)有食物和蛇。貪婪的蛇用一條線表示。一開始,蛇有3個部分。每吃一次食物,蛇的身體就會延長一節(jié),蛇的身體可以達到200節(jié)。食物用一個點表示,食物的位置每次隨機出現(xiàn)。游戲的具體界面如圖 3-7 所示。游戲功能: 游戲功能:讓蛇在游戲中越久越好,但蛇不能撞到周圍的墻壁,蛇的身體也不能碰撞,否則游戲結(jié)束。 “你贏了 !”當貪吃蛇的身體節(jié)數(shù)達到200個

12、時會顯示。 5.2 程序流程:根據(jù)上述功能確定程序流程。圖 5.1 主程序流程圖首先初始化LCD,設(shè)置系統(tǒng)時鐘連接I/O口,然后中斷,因為鍵盤掃描和延遲等待需要中斷處理,然后開始繪制游戲界面和snake。然后啟動計時器,獲取“隨機數(shù)”并進入游戲,如果游戲結(jié)束,將顯示游戲結(jié)束畫面。這里的隨機數(shù)只是一個概念。在這個設(shè)計中,它只是一個基于定時器模擬的“隨機數(shù)”;因為用戶對游戲的每次操作的間隔時間是不確定的,所以本設(shè)計中取的隨機數(shù)實際上是用戶操作的間隔時間等值。如果需要更好的游戲效果,可以參考偽隨機碼算法編程,并以此獲取“偽隨機碼”,實現(xiàn)更合理的隨機數(shù)。關(guān)于游戲部分,游戲的關(guān)鍵是PlayGame功能。

13、流程圖如下:圖 3.2 GamePlay 程序流程圖首先初始化蛇的頭部坐標、身體坐標、蛇的段數(shù)、蛇的狀態(tài)、蛇的運動方向,然后判斷是否需要背景音樂。如有必要,初始化播放功能以播放音樂并進入游戲循環(huán)。由于音樂是循環(huán)播放的,所以需要判斷是否需要音樂。如果是,判斷音樂是否完成。如果它完成了,請再次播放。否則,直接設(shè)置食物。然后通過得到的key值改變snake的移動方向。判斷snake的狀態(tài)并進行相應(yīng)的操作。如果蛇死了,退出游戲,否則返回游戲循環(huán)。幾點注意事項: 1、由于貪吃蛇和食物的數(shù)據(jù)很多,而且關(guān)系密切,所以貪吃蛇和食物都是定義好的結(jié)構(gòu)數(shù)據(jù)類型,易于操作和處理。 2.關(guān)于背景音樂。在主循環(huán)中調(diào)用播放音樂函數(shù),然后使用FIQ的TimerA中斷進行音頻輸出。這樣做的好處是在后臺處理,相當于雙重任務(wù)。6、結(jié)語凌陽公司SPCE的結(jié)構(gòu)特點061A及其相關(guān)的開發(fā)平臺,為我們開發(fā)具有語音特性的產(chǎn)品解決方案帶來了極大的便利;本系統(tǒng)只是061ASPCE的一個基礎(chǔ)應(yīng)用,

溫馨提示

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

評論

0/150

提交評論