基于ARM9嵌入式教学的打地鼠游戏设计.docx

上传人:b****3 文档编号:3058561 上传时间:2022-11-17 格式:DOCX 页数:8 大小:286.14KB
下载 相关 举报
基于ARM9嵌入式教学的打地鼠游戏设计.docx_第1页
第1页 / 共8页
基于ARM9嵌入式教学的打地鼠游戏设计.docx_第2页
第2页 / 共8页
基于ARM9嵌入式教学的打地鼠游戏设计.docx_第3页
第3页 / 共8页
基于ARM9嵌入式教学的打地鼠游戏设计.docx_第4页
第4页 / 共8页
基于ARM9嵌入式教学的打地鼠游戏设计.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于ARM9嵌入式教学的打地鼠游戏设计.docx

《基于ARM9嵌入式教学的打地鼠游戏设计.docx》由会员分享,可在线阅读,更多相关《基于ARM9嵌入式教学的打地鼠游戏设计.docx(8页珍藏版)》请在冰豆网上搜索。

基于ARM9嵌入式教学的打地鼠游戏设计.docx

基于ARM9嵌入式教学的打地鼠游戏设计

基于ARM9嵌入式教学的打地鼠游戏设计

作者:

赵志欣赵震罗登月洪升

来源:

《现代电子技术》2018年第20期

        摘要:

针对高校嵌入式课程的本科教学,设计并开发一款基于ARM9的打地鼠游戏,并具体介绍此游戏的设计实现过程。

通过整个过程让读者了解掌握基于ARM9嵌入式系统的一般游戏的设计流程及硬件环境。

实验平台以ARM9微处理器S3C2410A硬件平台为控制核心,并扩展LCD触摸屏模块,利用ADS开发工具对其开发并调试。

通过设计实践,提出一种创新型的教学方式,可以激发读者学习的兴趣,培养创新思维。

        关键词:

ARM9;打地鼠游戏;ADS开发工具;S3C2410A;LCD;嵌入式教学

        中图分类号:

TN99⁃34;TP311文献标识码:

A文章编号:

1004⁃373X(2018)20⁃0122⁃05

        Abstract:

Awhac⁃a⁃molegamebasedontheARM9isdesignedanddevelopedforundergraduateteachingofembeddedcoursesincollegesanduniversities.ThedesignimplementationprocessofthegameisintroduceddetaillysothatreaderscanlearnandunderstandthedesignprocessandhardwareenvironmentofgeneralgamesbasedontheARM9embeddedsystem.Intheexperimentalplatform,theARM9microprocessorS3C2410Aistakenasthecontrolcoreofthehardwareplatform,andtheLCDtouchscreenmoduleisextended,whichisdevelopedanddebuggedbyusingtheADSdevelopmenttool.Aninnovativeteachingmethodisproposedbymeansofthedesignpractice,whichcanstimulatereaders′learninginterestandcultivatetheirinnovativethinking.

        Keywords:

ARM9;whac⁃a⁃molegame;ADSdevelopmenttool;S3C2410A;LCD;embeddedteaching

        随着嵌入式系统在消费电子领域的发展,消费者对嵌入式系统的游戏娱乐功能也越来越关注。

对于嵌入式系统而言,在硬件方面,ARM微处理器体系结构被认为是较成熟的32位嵌入式RISC微处理器结构[1],市场占有率较高。

ADS[2]是ARM公司的集成开发软件;ADS的编译器调试器较SDT都有了非常大的改观,ADS1.2提供完整的Windows界面開发环境。

C编译器效率极高,支持C以及C++[3],使工程师可以很方便地使用C语言进行开发;提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。

配合FFT⁃ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。

但ADS1.2需要硬件支持才能发挥强大功能,目前支持的硬件调试器有Multi⁃ICE以及兼容Multi⁃ICE的调试工具,如FFT⁃ICE。

        打地鼠游戏是一款实用性小游戏,娱乐性很强,现在网络上也出现了许多关于打地鼠游戏的设计[4⁃5]。

本文在ARM9微处理器S3C2410A开发板和ADS开发工具下设计并实现了打地鼠游戏。

        打地鼠游戏整体由开始说明部分、游戏主部分、游戏进阶部分组成。

首先运行进入游戏的开始说明部分来介绍游戏的规则;接着进入游戏的主要部分,在游戏的主要部分界面上随机出现2只动物(动物的种类为老鼠、野兔或者青蛙),其中打中1次老鼠得1分,打中1次野兔得2分,打中1次青蛙减1分;游戏主界面循环出现15次动物后进入游戏的进阶部分界面来选择是否提升难度,玩家可以自主选择提升游戏难度、降低难度或者等待。

整个游戏设计的流程图如图1所示。

        图1中:

游戏开始动画中的游戏说明部分向用户介绍游戏的玩法和注意事项;游戏的核心部分是游戏功能实现,程序的具体操作在此部分实现;游戏进阶部分是给玩家选择下一轮游戏的难度,同时还会有等待时间给玩家休息。

        打地鼠游戏设计需要使用到控制芯片的内部定时器[6];可以提供控制外部的LCD触摸屏蜂鸣器的端口及驱动;并且需要极高的工作频率等条件。

S3C2410A处理器集成了常用的接口,提供了丰富的内部设备,包含8通道10位ADC和触摸屏接口以及内部PLL倍频器,其时钟频率可以通过内部倍频最高达到266MHz。

同时内部拥有5个独立的定时器并且提供1通道LCD专用DMA与触摸屏所需要的两路ADC通道,保障了系统的二次开发。

因此使用S3C2410A处理器[7⁃8]满足游戏设计的条件,同时还需要LCD及触摸屏、串行接口及蜂鸣器。

嵌入式设备处理速度快,而且采用高速闪存进行存储,因此系统的整体处理速度得到保障。

硬件结构如图2所示。

        2.1S3C2410最小系统设计

        最小系统是保证一款芯片正常工作的最简外围硬件电路,包括电源电路、晶振电路与复位电路。

为了便于芯片程序下载,通常将FLASH擦写电路也设计到最小系统之中,本设计中擦写接口为JTAG电路[9]。

        2.1.1电源电路

        S3C2410A最小系统工作电压为3.3V,由于LM117具有短路保护功能的扩展及温度可调节线性稳压器,因此最小系统由外接的USB接口的5V电源通过LM117⁃3.3芯片转化为3.3V(见图3)。

电源电路中增加了滤波电容,使芯片工作更加稳定。

        2.1.2复位电路

        S3C2410A为低电平复位,因此电路连接如图4所示,电源通过开关、下拉电阻接地组成复位电路,当开关按下时,输入信号为低电平。

        2.1.3JTAG电路

        JTAG(JointTestActionGroup)接口用于实现程序的下载与调试,包含4根控制数据线,分别为TMS(模式选择),TCK(时钟),TDO(数据输出),TDI(数据输入),4个引脚依次连接芯片如图5所示。

        2.2S3C2410A与蜂鸣器接口电路

        S3C2410A处理器通过控制PNP三极管的导通与关断来使蜂鸣器发声,通过导通关断的时间不同来产生不同的音调,用来指示不同的情况,例如得分鸣高音减分鸣低音等。

其电路图如图6所示。

        2.3S3C2410与LCD触摸屏接口电路

        2.3.1S3C2410与LCD液晶屏的连接

        本节设计采用LCD触摸屏来人机交互,选用的显示模块是夏普液晶模组LQ080V3DG01(TFT⁃LCD模块)。

LQ080V3DG01由彩色TFT⁃LCD面板、驱动电路、控制电路、供电电路及背光单元组成。

支持最大分辨率为640×480的图形和文字显示,数据输入格式为18bit,绿色、红色及蓝色均为6bit,提供的颜色共有26万多种。

        其电路图如图7所示。

        2.3.2S3C2410与触摸屏的连接

        触摸屏采用四线式电阻式屏,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(进阶界面)长时

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1