嵌入式系统课程设计 基于ARM9嵌入式教学的打地鼠游戏设计_第1页
嵌入式系统课程设计 基于ARM9嵌入式教学的打地鼠游戏设计_第2页
嵌入式系统课程设计 基于ARM9嵌入式教学的打地鼠游戏设计_第3页
嵌入式系统课程设计 基于ARM9嵌入式教学的打地鼠游戏设计_第4页
嵌入式系统课程设计 基于ARM9嵌入式教学的打地鼠游戏设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章概述1.1课题目的与意义随着嵌入式系统在消费电子领域的发展,消费者对嵌入式系统的游戏娱乐功能也越来越关注。对于嵌入式系统而言,在硬件方面,ARM微处理器体系结构被认为是较成熟的32位嵌入式RISC微处理器结构,市场占有率较高。ADS是ARM公司的集成开发软件;ADS的编译器调试器较SDT都有了非常大的改观,ADS1.2提供完整的Windows界面开发环境。C编译器效率极高,支持C以及C++,使工程师可以很方便地使用C语言进行开发;提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。配合FFT⁃ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。但ADS1.2需要硬件支持才能发挥强大功能,目前支持的硬件调试器有Multi⁃ICE以及兼容Multi⁃ICE的调试工具,如FFT⁃ICE。1.2课题现状打地鼠游戏是一款实用性小游戏,娱乐性很强,现在网络上也出现了许多关于打地鼠游戏的设计。本文在ARM9微处理器S3C2410A开发板和ADS开发工具下设计并实现了打地鼠游戏。第2章总体设计方案2.1设计任务打地鼠游戏整体由开始说明部分、游戏主部分、游戏进阶部分组成。首先运行进入游戏的开始说明部分来介绍游戏的规则;接着进入游戏的主要部分,在游戏的主要部分界面上随机出现2只动物(动物的种类为老鼠、野兔或者青蛙),其中打中1次老鼠得1分,打中1次野兔得2分,打中1次青蛙减1分;游戏主界面循环出现15次动物后进入游戏的进阶部分界面来选择是否提升难度,玩家可以自主选择提升游戏难度、降低难度或者等待。2.2系统流程整个游戏设计的流程图如图所示:2.2总体功能流程图游戏开始动画中的游戏说明部分向用户介绍游戏的玩法和注意事项;游戏的核心部分是游戏功能实现,程序的具体操作在此部分实现;游戏进阶部分是给玩家选择下一轮游戏的难度,同时还会有等待时间给玩家休息。第3章硬件设计3.1系统组成打地鼠游戏设计需要使用到控制芯片的内部定时器;可以提供控制外部的LCD触摸屏蜂鸣器的端口及驱动;并且需要极高的工作频率等条件。S3C2410A处理器集成了常用的接口,提供了丰富的内部设备,包含8通道10位ADC和触摸屏接口以及内部PLL倍频器,其时钟频率可以通过内部倍频最高达到266MHz。同时内部拥有5个独立的定时器并且提供1通道LCD专用DMA与触摸屏所需要的两路ADC通道,保障了系统的二次开发。因此使用S3C2410A处理器满足游戏设计的条件,同时还需要LCD及触摸屏、串行接口及蜂鸣器。嵌入式设备处理速度快,而且采用高速闪存进行存储,因此系统的整体处理速度得到保障。硬件结构如图所示。3.1硬件系统组成图3.2最小系统设计最小系统是保证一款芯片正常工作的最简外围硬件电路,包括电源电路、晶振电路与复位电路。为了便于芯片程序下载,通常将FLASH擦写电路也设计到最小系统之中,本设计中擦写接口为JTAG电路。3.2.1电源电路S3C2410A最小系统工作电压为3.3V,由于LM117具有短路保护功能的扩展及温度可调节线性稳压器,因此最小系统由外接的USB接口的5V电源通过LM117⁃3.3芯片转化为3.3V。电源电路中增加了滤波电容,使芯片工作更加稳定。3.3.1电源及滤波电路3.2.2复位电路S3C2410A为低电平复位,因此电路连接如图所示,电源通过开关、下拉电阻接地组成复位电路,当开关按下时,输入信号为低电平。3.3.2系统复位电路3.2.3JTAG电路S3C2410A处理器通过控制PNP三极管的导通与关断来使蜂鸣器发声,通过导通关断的时间不同来产生不同的音调,用来指示不同的情况,例如得分鸣高音减分鸣低音等。其电路图如图所示:3.2.3JTAG电路图3.3S3C2410A与蜂鸣器接口电路S3C2410A处理器通过控制PNP三极管的导通与关断来使蜂鸣器发声,通过导通关断的时间不同来产生不同的音调,用来指示不同的情况,例如得分鸣高音减分鸣低音等。其电路图如图所示。3.3蜂鸣器指示电路图3.4S3C2410与LCD触摸屏接口电路3.4.1S3C2410与LCD液晶屏的连接本节设计采用LCD触摸屏来人机交互,选用的显示模块是夏普液晶模组LQ080V3DG01(TFT-LCD模块)。LQ080V3DG01由彩色TFT-LCD面板、驱动电路、控制电路、供电电路及背光单元组成。支持最大分辨率为640×480的图形和文字显示,数据输入格式为18bit,绿色、红色及蓝色均为6bit,提供的颜色共有26万多种。其电路图如图所示。3.4.1LCD液晶屏电路图3.4.2S3C2410与触摸屏的连接触摸屏采用四线式电阻式屏,S3C2410A的AIN[7]和AIN[5]用于连接触摸屏的模拟信号输入。触摸屏接口电路一般由触摸屏、4个外部晶体管和一个外部电压源组成,如图8所示。触摸屏接口的控制和选择信号(nYPON,YMON,nXPON和XMON)连接切换X坐标和Y坐标转换的外部晶体管。模拟输入引脚(AIN[7]AIN[5])则连接到触摸屏引脚。触摸屏控制接口包括一个外部晶体管控制逻辑和具有中断产生逻辑的ADC接口逻辑。3.4.2触摸屏电路第4章软件设计4.1软件主流程设计打地鼠游戏设计的软件部分主要由同时在不同地点出现多只动物,出现不同种类的动物,判断是否击打中及提升击打难度等模块组成。4.1程序主流程图步骤1:定义一些全局变量。数组a[2],b[2]随机选择动物出现的位置;pic用于区分当前所展示的不同界面,以及在触摸中断中判断当前的触摸位置是什么功能;Num用于记录动物出现的次数,满15次一轮;c用于判断此时应该出现几只动物;d[2]用于判断此时刻出现哪一只动物。步骤2:LCD及触摸屏ADC等驱动初始化。步骤3:显示开机界面,等待触摸中断使标志位Flag置0,跳出While死循环。步骤4:跳出While循环后配置定时器后进入While死循环,等待定时器及触摸屏判断Num来确定当前状态。4.2程序的定时器中断流程打地鼠游戏设计的定时器中断的工作流程如图所示:4.2程序定时器流程图定时器的计数器减到零时,触发进入定时器中断。首先在定时器中断中判断Num的大小,当出现动物的次数等于15次时进入界面3,判断选择是否提升难度或者继续当前难度(通过触摸中断来选择);当选择完后在触摸中断中将Num置为17,然后跳转到界面2的同时将Num置0,开始新的一轮记录动物次数;c通过获取2以内的随机数来选择当前要出现动物的数量,a[],b[]通过获取3以内的随机数来确定在哪个位置显示,d[]通过或者3以内的随机数来选择要显示的动物种类,接着用for循环来在确定的位置画出d[]选择的动物。总的来说,定时器的主要功能是通过获取随机数函数rand()来选择动物种类地方等;接着在触摸中断中通过判断触摸点的坐标与d[],a[],b[]的大小比较来确定是否击中,这部分是本游戏设计的核心。4.3程序的触摸屏中断流程打地鼠游戏设计的触摸屏中断的工作流程如图所示:当游戏启动后停留在开始说明界面,首先判断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(进阶界面)长时间等待。

游戏调试本设计仿真软件采用keiluvision3软件。KeilSoftware公司推出的Uision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,Uvision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。Uvision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。Uvision3提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADUC83x和ADUC84x,以及Infineon的XC866等。游戏调试如下:5.1游戏运行游戏设计通过编译器调试无误之后,将其下载至S3C2410A处理器上,其部分效果图如图5.1~图5.3所示:图5.1打地鼠游戏设计的开始界面5.2打地鼠游戏设计的游戏主界面5.3打地鼠游戏设计的选择进阶界面图5.1为开始游戏界面。通过触摸屏为用户提供了人机交互界面,介绍了游戏规则并且让用户选择此时是否开始游戏或者退出游戏。图5.2为游戏中运行界面。通过触摸屏为用户提供了人机交互界面,用户通过击打动物所在的位置来完成游戏、获取分数。图5.2a是青蛙与兔子在一个界面上可以分别击打;图5.2b与图5.2d是青蛙与地鼠同框且图5.2d是地鼠在时间周期到或者被击打消退的过程;图5.2c是两只地鼠同框;图5.3为游戏结束进阶界面。通过触摸屏为用户提供了人机交互界面,用户选择“提升难度”来增快动物出现的频率或者“再次挑战”来降低游戏难度。

总结通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。在此要感谢我们的指导老师孙老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心相信会对今后的学习工作生活有非常重要的影响,而且大大提高了动手的能力,使我充分体会到了在创造过程中探探索的艰难和成功时的喜说,虽然这个设计做的也不太好,但是在设计过程中所学到的东四是这次毕业设计的最大收获和财富,使我终身受益。。

参考文献[1]华清远见嵌入式学院,刘洪涛,秦山虎,武立鑫,陈泽顺.ARM嵌入式体系结构与接口技术[M].人民邮电出版社:,201704..[2]刘洪涛,苗德行,杨新蕾,刘飞.嵌入式LinuxC语言程序设计基础教程[M].人民邮电出版社:,201704..[3]刘洪涛,高明旭,熊家,于博.嵌入式操作系统[M].人民邮电出版社:,201703..[4]华清远见嵌入式学院,刘洪涛,熊家,王建秋,安东.嵌入式应用程序设计综合教程[M].人民邮电出版社:,201702..[5]本特松,林德.嵌入式C编程实战[M].人民邮电出版社:,201610..[6]刘龙,张云翠,申华.嵌入式Linux软硬件开发详解[M].人民邮电出版社:,201512..[7]常本超,夏宁,但唐仁.嵌入式系统开发技术[M].

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论