




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、日期成績評定表學(xué)生姓名王超班級學(xué)號1003020330專業(yè)測控課程設(shè)計題目基于ARM的貪吃蛇游戲設(shè)計評語組長簽字:成績20 年 月日課程設(shè)計任務(wù)書學(xué)院信息科學(xué)與工程學(xué)院專業(yè)測控學(xué)生姓名王超班級學(xué)號1003020330課程設(shè)計題目基于ARM的貪吃蛇游戲設(shè)計實踐教學(xué)要求與任務(wù) 要求:1、設(shè)計電路,選擇器件。2、利用Protel畫原理圖。3、軟件編程、調(diào)試。4、焊接硬件電路,并調(diào)試。任務(wù):1 、設(shè)計基于ARM的貪吃蛇游戲2 、通過按鍵能進行調(diào)整及在電子屏上顯示工作計劃與進度安排:1、查找資料。(2天)2、設(shè)計電路、畫電路圖。(2天)3、軟件編程與調(diào)試。(2天)4、系統(tǒng)調(diào)試。(2天)5、撰寫報告。(2
2、天)指導(dǎo)教師:專業(yè)負責(zé)人:學(xué)院教學(xué)副院長:201 年 月日201 年 月日201 年 月日摘要在電腦極大普及的今天,游戲是我們?nèi)粘I畹闹匾獖蕵贩绞健kS著科技的快速發(fā)展,時間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。隨便計算機技術(shù)的發(fā)展,游戲行業(yè)越來越得到人們的關(guān)注,特別是在年輕人行列。現(xiàn)行的游戲一般是基于個人計算機的,像貪吃蛇這類小游戲在高檔掌上電腦或高檔電子消費品,但基于小型掌上低端游戲機在市場上卻幾乎沒有。本文以飛利浦公司的LPC2124芯片板為平臺,在討論ARM體系結(jié)構(gòu)和游戲開發(fā)的 同時,設(shè)計并實現(xiàn)了貪吃蛇游戲機的軟件仿真。綜上所述此類貪吃蛇游戲機具有使用方便,
3、綠色安全,低功耗、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關(guān)鍵詞: ARM ;低功耗;游戲;貪吃蛇;LPC2124AbstractIn the great popularity of computers today, games are important forms of entertainment in our daily lives, With the rapid development of science and technology, the passage of time, from concept to the sun, the electronic
4、 clock pendulum clock to now, human constant research, innovation record. Not the development of computer technology, games industry has been growing concern, especially among young people. The current game in general is based on the personal computer, such as Snake game in the high-end high-end Poc
5、ket PC or consumer electronics, but based on small-scale low-end handheld game in the market is virtually non-existent.In this paper, Philips LPC2124 chip board as a platform, in discussing the ARM architecture and game development, design and realization of the Snake game simulation software.To sum
6、 up such a Snake game with easy-to-use, green safe, low-power, low cost and many other advantages, in line with the electronic instrumentation of the development trend of the market prospects are broad.Key words: ARM; Low power consumption; Game; Greedy snake; LPC2124引言 11 ARM 概述 12 ARM 的開發(fā)環(huán)境22.1 Ke
7、il 介紹 22.2 ADS 介紹 23 系統(tǒng)的硬件設(shè)計33.1 電路設(shè)計框圖 33.2 系統(tǒng)硬件概述 33.3 系統(tǒng)主要硬件 33.3.1 LPC2124 33.3.2 LP3228 顯示屏63.3.3 用戶操作接口 74 軟件仿真75 系統(tǒng)的軟件設(shè)計與實現(xiàn)85.1 游戲說明 85.2 游戲結(jié)構(gòu)設(shè)計 85.3 游戲具體設(shè)計 85.3.1 矩陣鍵盤按鍵掃描子程序 85.3.2 矩陣鍵盤處理子程序 95.3.3 LCD 顯示子程序105.3.4 主程序流程 106 程序測試 116.1 仿真測試116.2 程序的局限性117 總結(jié) 12謝 辭 錯誤!未定義書簽。參考文獻 13附 錄 13附錄一統(tǒng)
8、仿真電路圖 13附錄二程序文件清單 13附錄三使用說明書 14引言基于 ARM 芯片的產(chǎn)品憑借其強大的功能、低廉的價格和體積小等優(yōu)點,在許多領(lǐng)域得到了廣泛的應(yīng)用。而當(dāng)前在游戲開發(fā)中,ARM 并沒有充分顯示出它的這些特點。而彩色液晶顯示器具有功耗低、顯示信息量大、顯示效果逼真等特點。所以若用彩色液晶顯示器為游戲提供界面一會受到歡迎。液晶顯示屏LCD 作為一種功耗低、體積小、無輻射的顯示器件,近幾年被廣泛應(yīng)用于各式各樣的嵌入式電子產(chǎn)品中,LCD 可分為段位式、字符式和點陣式三種,其中,段位式 LCD 和字符式LCD 只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求,而點陣式LCD 不
9、僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動動畫功能,分區(qū)開窗口、反轉(zhuǎn)、閃爍等功能,用途十分廣泛,為了簡化液晶顯示電路的設(shè)計和應(yīng)用,生產(chǎn)廠家通常將液晶顯示單元、顯示控制器,顯示內(nèi)存和顯示驅(qū)動電路等裝配在一起,做成液晶顯示模塊LCD Module( LCM ) 。目前,基于ARM 芯片的產(chǎn)品遍布人類生活空間,在移動娛樂工具上應(yīng)用廣泛,特別在手機游戲制作方面越來越收人們的歡迎。1 ARM 概述ARM( Advanced RISC Machines) , 既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術(shù)的名字。1991 年 AR
10、M 公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,采用ARM技術(shù)知識產(chǎn)權(quán)(IP)核的微處理器,即我們通常所說的 ARM微處理器,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了32 位 RISC 微處理器75以上的市場份額,ARM技術(shù)正在逐步滲入到我們生活的各個方面。ARM 公司是專門從事基于RISC 技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM 公司購買其設(shè)計的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥?/p>
11、而形成自己的ARM 微處理器芯片進入市場。目前, 全世界有幾十家大的半導(dǎo)體公司都使用ARM 公司的授權(quán),因此既使得ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。ARM 公司出售芯片技術(shù)授權(quán)給半導(dǎo)體公司,ARM 核因為具有高性能、低成本、低功耗的特點而被廣采用。這樣在全球范圍內(nèi)圍繞著ARM 技術(shù)形成了從一個芯片設(shè)計、生產(chǎn)、銷售,工具軟件設(shè)計與開發(fā),系統(tǒng)軟件開發(fā)以及應(yīng)用軟件開發(fā)的龐大產(chǎn)業(yè)鏈。說 ARM代表著以ARM為核心的軟硬件開發(fā)技術(shù)也不為過。2 ARM的開發(fā)環(huán)境2.1 Keil 介紹uVision3集成開發(fā)環(huán)境(uV
12、ision3 IDE)是一個窗口化的軟件開發(fā)平臺,它集成了功 能強大的編輯器、工程管理器以及各種編譯工具(包括 C編譯器、宏編譯器、鏈接/裝 載器和十六進制文件轉(zhuǎn)換器)。uVision3包括以下功能組件,能加速嵌入式應(yīng)用程序的 開發(fā)過程:(1)功能強大的源代碼編輯器;(2)可根據(jù)開發(fā)工具配置的設(shè)備數(shù)據(jù)庫;(3)用于創(chuàng)建和維護工程的工程管理器;(4)集匯編、編譯和鏈接過程于一體的編譯工具;(5)用于設(shè)置開發(fā)工具配置的對話框;(6)真正集成高速CPU及片上外設(shè)模擬器的源碼級調(diào)試器;(7)高級GDI接口;可用于目標(biāo)硬件的軟件調(diào)試和KEIL ULINK仿真器的連接;(8)用于下載應(yīng)用程序到 FLASH
13、 ROM中的FLASH編程器;(9)完善的開發(fā)工具手冊、設(shè)備數(shù)據(jù)手冊和用戶向?qū)?。uVision3 IDE使用簡單、功能強大,是設(shè)計者完成設(shè)計任務(wù)的重要保證。uVision3 IDE 還提供了大量的例程及相關(guān)信息,有助于開發(fā)人員快速開發(fā)嵌入式應(yīng)用程序。2.2 ADS介紹ADS集成開發(fā)環(huán)境是 ARM公司推出的ARM核微控制器集成開發(fā)工具,英文全 稱為 ARM Developer Suite,成熟版本為 ADS1.2。ADS1.2支持 ARM10之前的所有 ARM系列微控制器,支持軟件調(diào)試及 JTAG硬件仿真調(diào)試,支持匯編、C、C+源程 序,具有編譯效率高、系統(tǒng)庫功能強等特點,可以在 Windows
14、98、Windows XP、Windows2000以及 RedHat Linux上運行。這里將簡單介紹使用 ADS1.2建立工程,編 譯連接設(shè)置,調(diào)試操作等等。最后還介紹了基于LPC2200系列ARM7微控制器的工程模板的使用,EasyJTAG仿真器的安裝與使用。ADS 1.2由6個部分組成,如表2.1所示。表2.1 ADS1.2組成表名稱描述使用方式代碼生產(chǎn)工具ARM匯編去,ARM的C、 C+編譯器,Thumb的C、由 CodeWarrior IDE 調(diào)用C+編譯器,ARM連接器集成開發(fā)環(huán)境CodeWarrior IDE工程管理,編譯連接調(diào)試器AXD,ADW/ADU,armsd仿真調(diào)試指令模
15、擬器ARMulator由AXD調(diào)用ARM開發(fā)包一些底層的例程,實用程 序(如 fromELF)一些實用程序由CodeWarrior IDE 調(diào)用ARM應(yīng)用庫C、C+函數(shù)庫等用戶程序使用3系統(tǒng)的硬件設(shè)計3.1 電路設(shè)計框圖系統(tǒng)以LPC2124ARM芯片作為核心控制器件,外圍只有液晶顯示和鍵盤操作,且均為申行通信器件,使得系統(tǒng)線路簡單可靠性高。系統(tǒng)結(jié)構(gòu)框圖 3.1所示。圖3.1系統(tǒng)結(jié)構(gòu)框圖3.2 系統(tǒng)硬件概述本電路由ARM芯片LPC2124為控制核心,具有在線編程功能,低功耗,能在 3V 超低壓工作;液晶顯示部份由LM2124液晶顯示器作為顯示,因其具有很多優(yōu)點,被廣泛 使用;按鍵部分我們使用矩陣
16、鍵盤,因其使用方便,且便于記住,所以我們使用矩陣鍵 盤而不是用獨立鍵盤。3.3 系統(tǒng)主要硬件3.3.1 LPC2124LPC2124是基于一個支持實時仿真和跟蹤的16/32位 ARM7TDMI-STM CPU 的微控制器,并帶有128/256 k字節(jié)(kB)嵌入的高速Flash存儲器。128位寬度的存儲器接 口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴(yán)格控制 的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。 由 于LPC2124較小的64腳封裝、極低的功耗、多個 32位定時器、4路10位ADC以 及多達9個外部中斷使它們特別適用于工業(yè)控制
17、、醫(yī)療系統(tǒng)、訪問控制和POS機。在64腳的封裝中,最多可使用 46個GPIO。由于內(nèi)置了寬范圍的串行通信接口,它們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟modern以及其它各種類型的應(yīng)用。3.3所示。=92'勺32*| lWD Df FAMDWQ BMWD I即SC IaAwicwci-uj j 單:Sm%W3 g用5 1UX-一一1IKE 一二手.nrrFirK u w - 口L -二 a ? nr i > 二 r 一z二. me nrrr口 frrr L- a FTF n-LM 二。_>£ d¥ =s-gd FTF* ns? -1rmSB3 Lc
18、l,囚三 MErlmmEZImplam可回用回!7> £l二七初始30 ft? 12. S3CI MATS 2電 附三卬MtnmtCAM am-三21 a=ESiWT 力JStflOitOffirfri-i丐若95ffWM美鼻3mMCT”項 N 田 IMT Ii1書昌二豐麗工司l 小 丁 5 2F1 :LPC2124是64管腳封裝的,具封裝圖如圖圖3.3 LPC2124封裝圖 dfjiws E6.»mnw« 二一才一昌3LPC2124里面最重要的組成部分是寄存器,其部分寄存器功能如表3-1所示表3.1管腳連接映射名稱描述訪問復(fù)位值地址PINSEL0管腳選擇寄
19、存器0讀/寫0x0000 00000XE002C000PINSEL1管腳選擇寄存器讀/寫0x1540 00000XE002C004PINSEL2管腳選擇寄存器讀/寫見表63和640XE002C014其管腳功能選擇寄存器如表3-2和表3-3所示。表3.2 PINSEL0管腳選擇功能PINSEL0管腳名 稱00011011復(fù)位 值1: 0P0.0GPIO P0.0TXD(UART0)PWM1保留003: 2P0.1GPIO P0.1RXD(UART0)PWM3EINT0005: 4P0.2GPIO P0.12SCL( I C)捕狀0.0(TIMER0)保留007: 6P0.3GPIO P0.32S
20、DA(I C)匹配0.0 (TIMER0)EINT1009: 8P0.4GPIO P0.4SCK(SPI0)捕獲0.1 (TIMER0)保留0011: 10P0.5GPIO P0.5MIS0(SPI0)匹配0.1 (TIMER0)保留0013: 12P0.6GPIO P0.6MOSI(SPIO)捕獲0.2 (TIMER0)保留0015: 14P0.7GPIO P0.7SSEL(SPIO)PWM2EINT20017: 16P0.8GPIO P0.8TXD(UART1)PWM4保留0019: 18P0.9GPIO P0.9RXD(UART1)PWM8保留0021: 20P1.0GPIO P1.0R
21、TS(UART1)捕狀1.0(TIMER1 )保留0023: 22P1.1GPIO P1.1CTS(UART1)捕狀1.1(TIMER1 )保留0025: 24P1.2GPIO P1.2DSR(UART1)匹配1.0(TIMER1 )保留0027: 26P1.3GPIO P1.3DTR(UART1)匹配1.1(TIMER1 )保留0029: 28P1.4GPIO P1.4CD(UART1)EINT1保留0031: 30P1.5GPIO P1.5RI(UART1)EINT2保留00表3.3 PINSEL1管腳選擇功能PINSEL1管腳 名稱00011011復(fù)位 值1: 0P0.16GPIO P0
22、.16EINT0PWM1捕狀0.2 (TIMER0)003: 2P0.17GPIO P0.17捕狀1.2(TIMER1 )PWM3匹配1.2(TIMER1 )005: 4P0.18GPIO P0.18捕牙關(guān)1.3(TIMER1 )捕狀0.0 (TIMER0)匹配1.3(TIMER1 )007: 6P0.19GPIO P0.19匹配1.2(TIMER1 )匹配0.0(TIMER0)匹配1.3(TIMER1 )009: 8P0.20GPIO P0.20匹配1.3(TIMER1 )捕狀0.1 (TIMER0)EINT30011: 10P0.21GPIO P0.21PWM5保留捕狀1.3(TIMER1
23、 )0013: 12P0.22GPIO P0.22保留捕狀0.0 (TIMER0)匹配0.0 (TIMER0)0015: 14P0.23GPIO P0.23保留保留保留0017: 16P0.24GPIO P0.24保留保留保留0019: 18P0.25GPIO P0.25保留保留保留0021: 20P1.26保留0023: 22P1.27GPIO P1.27AIN0(A/D 轉(zhuǎn)換器)捕狀0.1 (TIMER0)匹配0.1 (TIMER0)0125: 24P1.28GPIO P1.28AIN1(A/D 轉(zhuǎn)換器)匹配0.2 (TIMER0)匹配0.2 (TIMER0)0127: 26P1.29GP
24、IO P1.29AIN2(A/D 轉(zhuǎn)換器)匹配0.3 (TIMER0)匹配0.3 (TIMER0)0129: 28P1.30GPIO P1.30AIN3(A/D 轉(zhuǎn)換器)EINT3捕狀0.0 (TIMER0)0131: 30P1.31保留003.3.2LP3228 顯示屏采用LM3228液晶顯示,其擁有微功耗無電磁輻射,壽命長,價格低,接口方便等 一系列顯著特點,被廣泛應(yīng)用于各種儀器儀表,測量顯示裝置,計算機顯示終端等方面。 它是以點陣為單位組成的液晶顯示器,內(nèi)部 CMOS驅(qū)動,由日本東芝公司 T6963c控 制集成電路,印制電路板和金屬支持框架所組成。LM3228液晶可以用來顯示字母,數(shù)字,
25、漢字等,因此可以用LM3228液晶形象的模擬出貪吃蛇的形狀和它運動的情況。LM3228的硬件結(jié)構(gòu)圖如圖3.3所示。RESE._CE 77r BD-DB" VO5aCOF.ifcor/3K RAMB048-80COLLCD PANELCOL-60GOLBL-BL23RIVE VOLTAGE CIRCUIT.4向 LSIBACKLIGHT圖3.3 LM3228的硬件結(jié)構(gòu)圖3.3.3用戶操作接口用戶操作接口采用的是4速矩陣鍵盤,用戶可以通過操縱鍵盤控制貪吃蛇的游動方 向,控制方向如表3-4所示:表3.4貪吃蛇方向控制8貪吃蛇1可上運動 |2黃吃蛇向卜運動 14貪吃蛇向左運動6貪吃蛇向右運動
26、5暫停/繼續(xù)游戲矩陣鍵盤原理圖如圖3.5所示:圖3.5矩陣鍵盤原理圖矩陣鍵盤的工作原理如下:(1)先讀取鍵盤的狀態(tài),得到按鍵的特征編碼。先從P1 口的高四位輸出低電平,低四位輸出高電平,從 P1 口的低四位讀取鍵盤狀 態(tài)。再從P1 口的低四位輸出低電平,高四位輸出高電平,從 P1 口的高四位讀取鍵盤狀 態(tài)。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。使用上述方法我們得到 16個鍵的特征編碼。(2)根據(jù)按鍵的特征編碼,查表得到按鍵的順序編碼。將16個鍵的特征編碼按順序排成一張表,然后用當(dāng)前讀得的特征編碼來查表,當(dāng)表 中有該特征編碼時,它的位置就是對應(yīng)的順序編碼。(3)根據(jù)特征編碼與順序編
27、碼的對應(yīng)關(guān)系就可以確定所按下的是哪一個鍵。4軟件仿真Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是: 實現(xiàn)了單片機仿真和SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232 動態(tài)仿真、I2C 調(diào)試器、 SPI 調(diào)試器、鍵盤和LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、 8051系列、AVR系列、PIC12系列
28、、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2 等軟件。 具有強大的原理圖繪制功能。該軟件是一款集單片機和SPICE 分析于一身的仿真軟件,功能極其強大。本次實中設(shè)計的貪吃蛇電路,電路核心是LPC2124,P0端接液晶顯示屏,P1端接的是控制按鍵,具體仿真電路圖請見附錄一。5 系統(tǒng)的軟件設(shè)計與實現(xiàn)5.1 游戲說明游戲目標(biāo)是控制貪吃蛇吃掉畫
29、面中的目標(biāo)豆,每吃掉一個目標(biāo)豆就會加分,但同時貪吃蛇的尾巴會相應(yīng)地長上一截,吃得越多,尾巴越長。游戲中,貪吃蛇碰上了自己的身體游戲即結(jié)束。分數(shù)增加到一定后,貪吃蛇移動的速度增加,從而逐步增加游戲的難度。5.2 游戲結(jié)構(gòu)設(shè)計游戲主要分為A、 B、 C 三個模塊。A 模塊主要用于控制游戲的開始、暫停與結(jié)束,這些方法與其他程序相同。B 模塊主要用于完成游戲的主要功能,包括了蛇體控制,目標(biāo)豆的擺放,游戲控制,屏幕繪制等。C 模塊主要用于完成蛇體在屏幕上的定位。5.3 游戲具體設(shè)計5.3.1 矩陣鍵盤按鍵掃描子程序用戶設(shè)計行列鍵盤接口,一般常采用3 種方法讀取鍵值。分別為:中斷式,掃描法和反轉(zhuǎn)法。(1)
30、中斷式:在鍵盤按下時產(chǎn)生一個外部中斷通知CPU,并由中斷處理程序通過不同的地址讀取數(shù)據(jù)線上的狀態(tài),判斷哪個按鍵被按下。( 2)掃描法:對鍵盤上的某一行送低電平,其他行為高電平,然后讀取列值。若列值中有一位是低,則表明該行與低電平對應(yīng)列的鍵被按下;否則,掃描下一行。( 3)反轉(zhuǎn)法:先將所有行掃描線輸出低電平,讀列值。若列值有一位是底,則表明有鍵按下,讀列值;然后所有列掃描線輸出低電平,再讀行值。根據(jù)讀到的值組合就可以查表得到鍵值。在本次實訓(xùn)中我們采用的是反轉(zhuǎn)法,其硬件連接請見圖3.5。關(guān)鍵代碼如下所示,具體可見源代碼。uint8 Keyboard_Scan(void) uint8 keycode
31、 = 0xff;uint8 row;uint8 col;for(col=0;col<KEYBOARD_COLUMN;col+) Column_Clear(col);for(row=0;row<KEYBOARD_ROW;row+) if(Row_Status(row)=0) keycode = row*KEYBOARD_ROW+col; Column_Set(col); return keycode;5.3.2 矩陣鍵盤處理子程序主要是對鍵盤掃描子程序返回的鍵值進行處理,為了程序化模塊化,處理返回的鍵值時調(diào)用了各個鍵的處理函數(shù),這里就不給出具體的處理函數(shù)了,具體可見源代碼。void
32、Key_Process(uint8 num) /num為鍵盤掃描子程序返回的鍵值 switch(num) case 1:up();break;/向上case 4:left();break; /向左case 5:pause();break; 暫停/case 6:right();break; /向右case 9:down(); break; / 下default:move();break; /默認為自動移動5.3.3 LCD顯示子程序這部分的處理是在文件LOADBIT.C中完成。子程序的功能為顯示單色圖形及漢字顯示。實現(xiàn)的流程是先將圖形轉(zhuǎn)換為對應(yīng)的點陣數(shù)組,然后即可調(diào)用LM3228的設(shè)備驅(qū)動程序中
33、的函數(shù)輸出驅(qū)動。本次實訓(xùn)中采用LM3228的顯示屏,圖形液晶模塊驅(qū)動程序要考慮它的操制器,要 參考它的DataSheet來設(shè)計,這部分程序具體可見源代碼。5.3.4 主程序流程主程序 在main.c中,它的程序流程如圖5.3所示開始圖5.3主程序流6程序測試6.1 仿真測試由于ARM芯片管腳比較多,而且很多元器件都是貼片元件,做成電路板比較困難,由于資源等客觀限制,所以在這里只進行仿真測試。測試將粗略檢測貪吃蛇游戲的5項基本功能:向上,向下,向左,向右和暫停功能。這里將測試貪吃蛇向右運動的情況, 如圖6.1所示。圖6.1貪吃蛇向右運動測試結(jié)果:在按了矩陣鍵盤的" 6#鍵之后,貪吃蛇開
34、始向右運動,測試成功。然后再測試貪吃蛇小游戲的暫停和繼續(xù)功能, 按了一次矩陣鍵盤的” 5號鍵之后,貪 吃蛇停止運動,再按一次矩陣鍵盤的" 5號鍵,貪吃蛇又繼續(xù)運動,測試成功。6.2 程序的局限性由于時間的局限性和個人能力的局限性, 這個程序中檢測出不少局限性,如下所述。(1)在算法實現(xiàn)上,未充分考慮貪吃蛇碰壁的情況,只是簡單的讓貪吃蛇穿過墻壁, 沒做其他處理。(2)貪吃蛇在運動時可以改變至相反方向,即存在掉頭情況3)貪吃蛇吃到自己尾巴的時候,有時會分成兩截,有待改進。7 總結(jié)本次實踐,我選的題目是基于LPC2124實現(xiàn)的貪吃蛇游戲機。因為課題貪吃蛇游戲 比較難,此次實踐我多方請教同學(xué)。這次實踐,我們可謂歷經(jīng)重重困難。第一階段是方案確定,我們花了大量時間采集資料,整理資料,首先是確定自己的課題,最后著手設(shè)計。在第二階段將我們的原理圖設(shè)計好。然后進入第三階段軟件的編程。但是在編寫程序時,困難時刻困擾著我,可能是因為自己平時不太注重動手能力的培養(yǎng),在實踐過程中遇到了好多問題。我們通過虛心請教計算機專業(yè)的同學(xué)和老師,用自己所學(xué)的知識分析后及時改正錯誤,通過再次不斷的修改原理圖,請教,再修改程序,但是在程序編寫部分我還是困難重重。當(dāng)自己著手編寫程序時,通過采集到的資料進行修改,通過不斷的運行調(diào)試,仿真。按照自己的設(shè)計構(gòu)思,
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 龍池鎮(zhèn)屋頂防水施工方案
- 三亞市海棠區(qū)青田健康養(yǎng)護中心項目環(huán)境影響報告表環(huán)評報告表
- 鋪裝廣場專項施工方案
- 庭院洗手池設(shè)計與施工方案
- 低壓輸電線路搶修施工方案
- 天津陽臺垂直綠化施工方案
- 鄭州餐廳防滑地板施工方案
- 遵義鋁合金防滑條施工方案
- 數(shù)控加工工藝與編程技術(shù)基礎(chǔ) 教案 模塊三 項目一 任務(wù)5 孔的加工
- 茶葉多角度精細化栽培種植優(yōu)勢與路徑的建議分析
- 中國貨幣發(fā)展史-一年級ppt
- 第3課 中古時期的歐洲
- 水利監(jiān)理工程師安全生產(chǎn)責(zé)任制度
- 2023年廣安市岳池縣事業(yè)單位考試真題
- 【招標(biāo)控制價編制研究文獻綜述(論文)4800字】
- 駕駛員應(yīng)急駕駛操作指南
- 細胞和組織損傷與修復(fù)復(fù)習(xí)題
- 2023年長沙民政職業(yè)技術(shù)學(xué)院單招面試題庫及答案解析
- 二年級下冊科學(xué)課程綱要
- GB/T 9793-2012熱噴涂金屬和其他無機覆蓋層鋅、鋁及其合金
- GB/T 30839.33-2015工業(yè)電熱裝置能耗分等第33部分:工頻無心感應(yīng)爐
評論
0/150
提交評論