999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM9嵌入式教學的打地鼠游戲設計

2018-10-24 04:39:04趙志欣趙震羅登月洪升
現代電子技術 2018年20期

趙志欣 趙震 羅登月 洪升

摘 要: 針對高校嵌入式課程的本科教學,設計并開發一款基于ARM9的打地鼠游戲,并具體介紹此游戲的設計實現過程。通過整個過程讓讀者了解掌握基于ARM9嵌入式系統的一般游戲的設計流程及硬件環境。實驗平臺以ARM9微處理器S3C2410A硬件平臺為控制核心,并擴展LCD觸摸屏模塊,利用ADS開發工具對其開發并調試。通過設計實踐,提出一種創新型的教學方式,可以激發讀者學習的興趣,培養創新思維。

關鍵詞: ARM9; 打地鼠游戲; ADS開發工具; S3C2410A; LCD; 嵌入式教學

中圖分類號: TN99?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2018)20?0122?05

Abstract: A whac?a?mole game based on the ARM9 is designed and developed for undergraduate teaching of embedded courses in colleges and universities. The design implementation process of the game is introduced detailly so that readers can learn and understand the design process and hardware environment of general games based on the ARM9 embedded system. In the experimental platform, the ARM9 microprocessor S3C2410A is taken as the control core of the hardware platform, and the LCD touch screen module is extended, which is developed and debugged by using the ADS development tool. An innovative teaching method is proposed by means of the design practice, which can stimulate readers′ learning interest and cultivate their innovative thinking.

Keywords: ARM9; whac?a?mole game; ADS development tool; S3C2410A; LCD; embedded teaching

0 引 言

隨著嵌入式系統在消費電子領域的發展,消費者對嵌入式系統的游戲娛樂功能也越來越關注。對于嵌入式系統而言,在硬件方面,ARM微處理器體系結構被認為是較成熟的32位嵌入式RISC微處理器結構[1],市場占有率較高。ADS[2]是ARM公司的集成開發軟件;ADS的編譯器調試器較SDT都有了非常大的改觀,ADS 1.2提供完整的Windows界面開發環境。C編譯器效率極高,支持C以及C++[3],使工程師可以很方便地使用C語言進行開發;提供軟件模擬仿真功能,使沒有Emulators的學習者也能夠熟悉ARM的指令系統。配合FFT?ICE使用,ADS 1.2提供強大的實時調試跟蹤功能,片內運行情況盡在掌握。但ADS 1.2需要硬件支持才能發揮強大功能,目前支持的硬件調試器有Multi?ICE以及兼容Multi?ICE的調試工具,如FFT?ICE。

打地鼠游戲是一款實用性小游戲,娛樂性很強,現在網絡上也出現了許多關于打地鼠游戲的設計[4?5]。本文在ARM9微處理器S3C2410A開發板和ADS開發工具下設計并實現了打地鼠游戲。

1 游戲總體功能的設計

打地鼠游戲整體由開始說明部分、游戲主部分、游戲進階部分組成。首先運行進入游戲的開始說明部分來介紹游戲的規則;接著進入游戲的主要部分,在游戲的主要部分界面上隨機出現2只動物(動物的種類為老鼠、野兔或者青蛙),其中打中1次老鼠得1分,打中1次野兔得2分,打中1次青蛙減1分;游戲主界面循環出現15次動物后進入游戲的進階部分界面來選擇是否提升難度,玩家可以自主選擇提升游戲難度、降低難度或者等待。整個游戲設計的流程圖如圖1所示。

圖1中:游戲開始動畫中的游戲說明部分向用戶介紹游戲的玩法和注意事項;游戲的核心部分是游戲功能實現,程序的具體操作在此部分實現;游戲進階部分是給玩家選擇下一輪游戲的難度,同時還會有等待時間給玩家休息。

2 系統硬件的電路設計

打地鼠游戲設計需要使用到控制芯片的內部定時器[6];可以提供控制外部的LCD觸摸屏蜂鳴器的端口及驅動;并且需要極高的工作頻率等條件。S3C2410A處理器集成了常用的接口,提供了豐富的內部設備,包含8通道10位ADC和觸摸屏接口以及內部PLL倍頻器,其時鐘頻率可以通過內部倍頻最高達到266 MHz。同時內部擁有5個獨立的定時器并且提供1通道LCD專用DMA與觸摸屏所需要的兩路ADC通道,保障了系統的二次開發。因此使用S3C2410A處理器[7?8]滿足游戲設計的條件,同時還需要LCD及觸摸屏、串行接口及蜂鳴器。嵌入式設備處理速度快,而且采用高速閃存進行存儲,因此系統的整體處理速度得到保障。硬件結構如圖2所示。

2.1 S3C2410最小系統設計

最小系統是保證一款芯片正常工作的最簡外圍硬件電路,包括電源電路、晶振電路與復位電路。為了便于芯片程序下載,通常將FLASH擦寫電路也設計到最小系統之中,本設計中擦寫接口為JTAG電路[9]。

2.1.1 電源電路

S3C2410A最小系統工作電壓為3.3 V,由于LM117具有短路保護功能的擴展及溫度可調節線性穩壓器,因此最小系統由外接的USB接口的5 V電源通過LM117?3.3芯片轉化為3.3 V(見圖3)。電源電路中增加了濾波電容,使芯片工作更加穩定。

2.1.2 復位電路

S3C2410A為低電平復位,因此電路連接如圖4所示,電源通過開關、下拉電阻接地組成復位電路,當開關按下時,輸入信號為低電平。

2.1.3 JTAG電路

JTAG(Joint Test Action Group)接口用于實現程序的下載與調試,包含4根控制數據線,分別為TMS(模式選擇),TCK(時鐘),TDO(數據輸出),TDI(數據輸入),4個引腳依次連接芯片如圖5所示。

2.2 S3C2410A與蜂鳴器接口電路

S3C2410A處理器通過控制PNP三極管的導通與關斷來使蜂鳴器發聲,通過導通關斷的時間不同來產生不同的音調,用來指示不同的情況,例如得分鳴高音減分鳴低音等。其電路圖如圖6所示。

2.3 S3C2410與LCD觸摸屏接口電路

2.3.1 S3C2410與LCD液晶屏的連接

本節設計采用LCD觸摸屏來人機交互,選用的顯示模塊是夏普液晶模組LQ080V3DG01(TFT?LCD模塊)。LQ080V3DG01由彩色TFT?LCD面板、驅動電路、控制電路、供電電路及背光單元組成。支持最大分辨率為640×480的圖形和文字顯示,數據輸入格式為18 bit,綠色、紅色及藍色均為6 bit,提供的顏色共有26萬多種。

其電路圖如圖7所示。

2.3.2 S3C2410與觸摸屏的連接

觸摸屏采用四線式電阻式屏,S3C2410A 的AIN[7]和AIN[5]用于連接觸摸屏的模擬信號輸入。觸摸屏接口電路一般由觸摸屏、4個外部晶體管和一個外部電壓源組成,如圖8所示。觸摸屏接口的控制和選擇信號(nYPON,YMON,nXPON和XMON) 連接切換X坐標和Y坐標轉換的外部晶體管。模擬輸入引腳(AIN[7],AIN[5])則連接到觸摸屏引腳。觸摸屏控制接口包括一個外部晶體管控制邏輯和具有中斷產生邏輯的ADC接口邏輯。

2.4 系統軟件設計

打地鼠游戲設計的軟件部分[10]主要由同時在不同地點出現多只動物,出現不同種類的動物,判斷是否擊打中及提升擊打難度等模塊組成。

2.5 程序主流程圖

打地鼠游戲設計的主程序工作流程如圖9所示。

步驟1:定義一些全局變量。數組a[2],b[2]隨機選擇動物出現的位置;pic用于區分當前所展示的不同界面,以及在觸摸中斷中判斷當前的觸摸位置是什么功能;Num用于記錄動物出現的次數,滿15次一輪;c用于判斷此時應該出現幾只動物;d[2]用于判斷此時刻出現哪一只動物。

步驟2:LCD及觸摸屏ADC等驅動初始化。

步驟3:顯示開機界面,等待觸摸中斷使標志位Flag置0,跳出While死循環。

步驟4:跳出While循環后配置定時器后進入While死循環,等待定時器及觸摸屏判斷Num來確定當前狀態。

2.6 程序的定時器中斷流程圖

打地鼠游戲設計的定時器中斷的工作流程如圖10所示。

定時器的計數器減到零時,觸發進入定時器中斷。首先在定時器中斷中判斷Num的大小,當出現動物的次數等于15次時進入界面3,判斷選擇是否提升難度或者繼續當前難度(通過觸摸中斷來選擇);當選擇完后在觸摸中斷中將Num置為17,然后跳轉到界面2的同時將Num置0,開始新的一輪記錄動物次數;c通過獲取2以內的隨機數來選擇當前要出現動物的數量,a[],b[]通過獲取3以內的隨機數來確定在哪個位置顯示,d[]通過或者3以內的隨機數來選擇要顯示的動物種類,接著用for循環來在確定的位置畫出d[]選擇的動物。

總的來說,定時器的主要功能是通過獲取隨機數函數rand()來選擇動物種類地方等;接著在觸摸中斷中通過判斷觸摸點的坐標與d[],a[],b[]的大小比較來確定是否擊中,這部分是本游戲設計的核心。

2.7 程序的觸摸屏中斷流程圖

打地鼠游戲設計的觸摸屏中斷的工作流程如圖11所示。

當游戲啟動后停留在開始說明界面,首先判斷Pic的值,然后判斷操作者觸摸位置與開始界面的“開始新游戲”按鈕位置的坐標是否匹配,如果匹配則清除標志位Flag同時蜂鳴器鳴笛,接著配置定時器0進入界面2(游戲主界面),同時Pic置為2。

進入界面2(游戲主界面)后,定時器會根據設定的時間定時地刷新屏幕隨機出現動物。操作者觸摸屏幕,將觸摸位置的坐標與a[],b[],d[]相比較,如果d[]等于0則打中老鼠,則記錄分數增加1分;如果d[]等于1,則打中野兔,記錄分數增加2分;如果d[]等于2,則打中青蛙,記錄分數減1分;蜂鳴器分別根據頻率不同發出不同的音量。擊中后將a[],b[]的值置4來防止一只動物被點擊多次,記錄多次分數。

當動物出現的次數達到15次即Num的值為16,Pic的值為3,進入界面3(進階界面)后,觸摸位置的坐標與界面3上的“提升難度”按鈕和“再次挑戰”按鈕相比較來判斷是否減少定時器的每次計時時間;接著通過配置定時器的寄存器來改變計時時間,同時將Num置為17,等到下次進入定時器后會將界面切換至界面2重新開始游戲;如果無觸摸則在界面3(進階界面)長時間等待。

3 游戲的結果展示

游戲設計通過編譯器調試無誤之后,將其下載至S3C2410A處理器上,其部分效果圖如圖12~圖14所示。

圖12為開始游戲界面。通過觸摸屏為用戶提供了人機交互界面,介紹了游戲規則并且讓用戶選擇此時是否開始游戲或者退出游戲。

圖13為游戲中運行界面。通過觸摸屏為用戶提供了人機交互界面,用戶通過擊打動物所在的位置來完成游戲、獲取分數。圖13a)是青蛙與兔子在一個界面上可以分別擊打;圖13b)與圖13d)是青蛙與地鼠同框且圖13d)是地鼠在時間周期到或者被擊打消退的過程;圖13c)是兩只地鼠同框;

圖14為游戲結束進階界面。通過觸摸屏為用戶提供了人機交互界面,用戶選擇“提升難度”來增快動物出現的頻率或者“再次挑戰”來降低游戲難度。

4 結 語

本文基于ARM9嵌入式微控制器進行游戲設計,能夠在游戲運行過程中進行游戲難度修改,并且能夠通過多組隨機函數產生多個擊中后有不同效果的目標。由此增加游戲樂趣同時增加了游戲難度的可選擇。以后的設計中可以在美化界面、多人機對戰、分數排行榜等方面加以改善。本游戲可以為開發者提供指引,使開發者能夠系統地制作,在程序設計過程當中熟練程度不斷得到提升,具有借鑒與教學參考意義。

參考文獻

[1] 徐英慧,馬忠梅,王磊,等.ARM9嵌入式系統設計:基于S3C2410與Linux[M].北京:北京航空航天大學出版社,2007.

XU Yinghui, MA Zhongmei, WANG Lei, et al. ARM9 embedded system design based on S3C2410 and Linux [M]. Beijing: Beihang University Press, 2007.

[2] 李哲英,駱麗,劉元盛.ARM核嵌入式系統的開發平臺ADS[J].半導體技術,2002,27(2):13?16.

LI Zheying, LUO Li, LIU Yuansheng. The development platform ADS based on ARM core embedded system [J]. Semiconductor technology, 2002, 27(2): 13?16.

[3] BARR M. C/C++嵌入式系統編程[M].北京:中國電力出版社,2001.

BARR M. C/C++ programming for embedded systems [M]. Beijing: China Electric Power Press, 2001.

[4] 李倩.基于PLD的打地鼠游戲的設計與實現[J].中國現代教育裝備,2015(7):121?123.

LI Qian. Design and implementation of whac?a?mole game based on PLD [J]. China modern educational equipment, 2015(7): 121?123.

[5] 毋玉芝,段向東.基于Authorware的打地鼠游戲設計[J].科技信息,2008(4):79.

WU Yuzhi, DUAN Xiangdong. Design of whac?a?mole game based on Authorware [J]. Science & technology information, 2008(4): 79.

[6] 吳明暉.基于ARM的嵌入式系統開發與應用[M].北京:人民郵電出版社,2004.

WU Minghui. Development and application of embedded systems based on ARM [M]. Beijing: Posts & Telecom Press, 2004.

[7] 馬義德,湯書森,張北斗,等.嵌入式系統課程群建設與創新型人才培養[J].高等理科教育,2008(2):23?25.

MA Yide, TANG Shusen, ZHANG Beidou, et al. Embedded system course group construction and innovative talent cultivation [J]. Higher education of sciences, 2008(2): 23?25.

[8] 俸皓.嵌入式系統教學體系改革的討論[J].科技信息,2007(30):157.

FENG Hao. Discussion on teaching system reform of embedded system [J]. Science & technology information, 2007(30): 157.

(上接第126頁)

[9] 楊雪,羅賢全,馬俊濤.基于嵌入式Linux的測試系統軟件實現研究[J].現代電子技術,2008,31(6):117?119.

YANG Xue, LUO Xianquan, MA Juntao. Research on realization of test system software based on embedded Linux [J]. Modern electronics technique, 2008, 31(6): 117?119.

[10] 張舸,林世勇.基于嵌入式系統的游戲程序設計[J].現代電子技術,2009,32(6):86?90.

ZHANG Ge, LIN Shiyong. Gobang design based on embedded system [J]. Modern electronics technique, 2009, 32(6): 86?90.

[11] 熊光澤,古幼鵬,桑楠.嵌入式應用軟件設計方法學研究綜述[J].計算機應用,2004,24(4):1?4.

XIONG Guangze, GU Youpeng, SANG Nan. Overviews on design methodologies for embedded software [J]. Journal of computer applications, 2004, 24(4): 1?4.

主站蜘蛛池模板: 女人18毛片一级毛片在线| 亚洲免费毛片| 97久久免费视频| 九色视频在线免费观看| 人妻精品久久无码区| 免费观看亚洲人成网站| 伊人久久影视| 久久成人18免费| 精品国产中文一级毛片在线看 | 亚洲三级a| 成人在线亚洲| 国内精品伊人久久久久7777人| 日韩在线网址| 国产精品免费p区| 欧美日韩亚洲国产| 亚洲婷婷在线视频| 91香蕉视频下载网站| 欧美a在线看| 综合色在线| 亚洲综合久久成人AV| 亚洲精品777| 天天躁夜夜躁狠狠躁图片| 91视频国产高清| 九九热视频精品在线| 国产一区二区三区在线无码| 狼友视频一区二区三区| 超清无码一区二区三区| 欧美精品导航| 午夜视频www| 伊在人亞洲香蕉精品區| 国产精品爽爽va在线无码观看 | 国产男人的天堂| 国产精品毛片一区视频播| 亚洲AV成人一区二区三区AV| 青青草一区二区免费精品| 国产黄网永久免费| 91小视频在线| 成人在线观看不卡| 国产乱人伦精品一区二区| 欧美性色综合网| 久久夜色精品国产嚕嚕亚洲av| 亚洲精品天堂在线观看| 无码人中文字幕| 黄色成年视频| 欧美国产中文| 国产精品一线天| 亚洲欧美综合另类图片小说区| 亚洲色图欧美在线| 亚洲成人一区二区三区| 国产高清不卡| 欧美日本在线播放| 国产无码精品在线播放| 国产精品播放| 日韩一区精品视频一区二区| 国产原创演绎剧情有字幕的| 88av在线| 91精品国产91久久久久久三级| av一区二区三区高清久久| 日本精品一在线观看视频| 美女国产在线| 一级做a爰片久久毛片毛片| 无码一区中文字幕| 精品一区二区三区波多野结衣 | 欧美成a人片在线观看| 五月激情综合网| 国产一在线观看| 青草视频网站在线观看| 国产菊爆视频在线观看| 在线亚洲小视频| 中文字幕精品一区二区三区视频| 亚洲最黄视频| 国产精品毛片一区| 欧美三級片黃色三級片黃色1| 亚洲欧美不卡中文字幕| 国产视频久久久久| 亚洲天堂日韩在线| 六月婷婷精品视频在线观看| 四虎国产永久在线观看| 美女啪啪无遮挡| 国产美女主播一级成人毛片| 亚洲永久免费网站| av在线手机播放|