单片机在游戏贪吃蛇中的应用_第1页
单片机在游戏贪吃蛇中的应用_第2页
单片机在游戏贪吃蛇中的应用_第3页
单片机在游戏贪吃蛇中的应用_第4页
单片机在游戏贪吃蛇中的应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要:凌阳16位单片机采用凌阳最新的nsp(Microcontroller and Signal Processor)位微处理器内核(以下简称nSP); nSP核是通用的核结构。 SPCE061A内嵌32K字(Word)闪存(FLASH)、2K字(Word)SRAM;设置十位ADC和DAC,多达十四个中断源等丰富的芯片资源。 CPU可以工作在高达49MHz的主频,高处理速度使nSP能够非常轻松快速地处理复杂的数字信号;这使得 SPCE061A具有灵活的语音处理能力。因此,与其他类型的单片机相比,061A以nSP为核心的SPCE单片机是具有数字语音功能的应用领域产品最经济的选择。本文讨论了SPE

2、C061A简化开发板-61板、SPLC501液晶模组和LED_keyboard板在小游戏Snake中的应用。关键词:液晶模组、Snake一、简介SPCE061A是凌阳科技的 16 位单片机。 SPCE061A内嵌 32K 闪存 (FLASH)。 SPCE061A为语音产品集成了ADC、DAC、AGC等。 SPCE061A也有 n-term 产品操作说明。高处理速度使unSP能够非常轻松快速地处理复杂的数字信号,是数字语音识别应用中最经济的选择。 SPCE061A简化开发板61板配备在线调试功能;结合集成开发环境,无需任何外部仿真调试器即可完成在线编程、仿真和调试功能。本程序直接使用SPCE06

3、1A简化开发板,使用SPCE061A的语音处理功能,处理能力强大,配合SPLC501液晶模组等,轻松实现贪吃蛇游戏,有音乐背景;非常好 体现了061ASPCE的优秀表现。二、芯片特性介绍 SPCE061A介绍本方案采用凌阳科技16位高性能单片机SPCE061A作为主控处理器,其CPU硬件资源如下:16位nSP微处理器;工作电压 (CPU) VDD 为 2.43.6V (I/O) VDDH 为 2.45.5VCPU时钟:0.32MHz49.152MHz;设置2K字SRAM;设置32K字FLASH;当系统处于待机状态(时钟处于停止状态)时,功耗仅为2 A3.6V;2个16位可编程定时器/计数器(初

4、始计数值可自动预置);2个10位DAC(数模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B、时基、2个外部时钟源输入、按键唤醒;具有触摸键唤醒功能;7通道10位电压模数转换器(ADC)和单通道声音模数转换器;声音模数转换器输入通道配备麦克风放大器和自动增益控制(AGC)功能;带串口设备接口;具有低压复位(LVR)功能和低压监控(LVD)功能;在线仿真电路ICE(In-Circuit Emulator)接口;有能力;带看门狗功能SPCE最显着的特点是它的语音功能,集成了ADC、DAC、AGC等语音产品。 061ASPCE061A还有n-term产品操作说明,凌阳拥

5、有丰富的语音产品经验,提供多种语音压缩算法的应用。凭借其强大的处理能力,可以轻松实现一些具有一定复杂性的小游戏,同时应用其特殊的语音功能,还可以为小游戏添加背景音乐或音效,增加设计的趣味性。游戏。3、系统总体方案介绍贪吃蛇的原理:游戏贪吃蛇是在液晶屏上画一条蛇,同时随机给予食物。玩家通过键盘操作控制贪吃蛇的动作,吃掉食物,吃完后食物消失,然后随机给予食物,蛇的身体变大。画蛇的原理是利用人眼的视觉效果将蛇的头部向前移动一格,然后所有的蛇身依次向前移动一格,最后擦除蛇的尾巴。这使得人眼看起来蛇正在向前移动。要给食物,首先需要生成一个随机数,然后通过这个随机数计算出食物的横纵坐标,并显示在液晶屏上。

6、要控制蛇的移动方向,需要扫描键盘,然后根据键值改变蛇的移动方向。系统结构:系统结构框图如图1所示:图 1 Game Snake 系统框图系统主要包括061A三部分:SPCE简化开发板-61板、SPLC501液晶模块、LED_keyboard板。电源采用5V直流供电,芯片I/O电压为3.3V。 SPCE简化开发板是整个设计061A的核心,主要负责控制LCD的游戏界面输出,键盘信息的采集和输入,背景音乐也061A由SPCE在后台处理。 SPLC501液晶模块主要起到人机界面的作用,显示游戏的信息,LED_keyboard负责接收玩家的操作。四、系统硬件设计 4.1 061ASPCE简化开发板介绍:

7、 SPCE061A简化开发板,简称61板,主要由SPCE061A芯片加晶振、复位电路、音频电路等组成。 61板的电路原理图见附录图1。本方案直接使用61板;板卡有音频功放电路1个,MIC接口电路1个(配合芯片资源)等,提供32个便捷的I/O接口。这样就可以用支持SPLC501液晶模块的61板和LED_keyboard板完成本方案的设计。 4.2 SPLC501液晶模组介绍:本液晶模组采用凌阳科技大学规划的128*64点阵液晶模组,驱动芯片采用凌阳SPLC501。模块接口简单,应用方便,功耗低,可完成多项液晶特效功能。液晶模组可显示字符、汉字、图形等,4级灰度可调。特点: 1.设置8580位显示

8、RAM。 RAM 中的一些数据控制 LCD 屏幕上像素的明暗状态。 “1”亮 “0”暗。 2. 65行驱动输出,132列驱动输出。 3、可直接连接80系列和68系列微处理器。 4.设置晶振电路,或外接晶振。工作温度范围为- 40摄氏度+85摄氏度接口引脚说明液晶模块与61板硬件的连接关系如表1所示,其中片选信号的CS引脚接地。引脚名称阐明/CS1片选,低电平有效/RES复位引脚A0数据指令选择引脚读/写/写6800 系列 MPU 的读/写信号8080系列MPU的写信号EP/RD6800 系列 MPU 的时钟信号使能引脚8080 系列 MPU 的读取信号DB08位数据总线DB1DB2DB3DB4

9、DB5DB6DB7虚拟现实端口输出电压C 86H 选择 6800 MPU 系列C86 = L 选择 8080 MPU 系列电压逻辑电源 (3.3V5V)VSS接地 (0V)61 板液晶模组描述IOA8IOA15D0D78位数据线IOB4AO地址建立时间/地址保持时间IOB5读/写读/写时序IOB6EP数据建立/数据保持时间表格14.3 LED_Keyboard:LED_Keyboard 是一种常见的1X8 键盘。 LED_keyboard板和61板的接口是键盘一端接高电平,另一端接61板的IOA7-IOA0。 61板的I/O定义为下拉输入法。但软件中只定义了其中的 7 个。硬件原理图见附录图2

10、。五、系统软件设计5.1 游戏主要功能:开机界面:开机后会显示3秒的“欢迎玩游戏”字幕。菜单界面:显示启动界面后,出现菜单选项。菜单提示“按音乐播放”,按1”不按音乐播放2”。键盘扫描:扫描1X8键盘,得到键值(只取7个键)。按键功能:实现游戏的人机交互。 1.开机状态下,K1键的作用是有背景音乐进入游戏, 2.游戏状态无背景音乐下,K1键的作用是打开背景音乐, 3 . 开机状态下,K2键的作用是无背景音乐进入游戏, 4.游戏状态下有背景音乐时,K2键的作用是关闭背景音乐。 5.在游戏状态下,K3键的作用是让蛇向上移动。 6.在游戏状态下,K4键的作用是让蛇下移。 7.在游戏状态下,K5键的作

11、用是为了让蛇向左移动, 8.在游戏状态下,K6键的作用是让蛇向右移动。 9、游戏状态下,K7键的作用是随时退出游戏。 10、K3、K4、K5、K6、K7按键在开机状态下无效。游戏界面:游戏界面液晶屏左侧显示“蛇”字样,右侧有一个矩形区域,即游戏区,矩形区域内有食物和蛇。贪婪的蛇用一条线表示。一开始,蛇有3个部分。每吃一次食物,蛇的身体就会延长一节,蛇的身体可以达到200节。食物用一个点表示,食物的位置每次随机出现。游戏的具体界面如图 3-7 所示。游戏功能: 游戏功能:让蛇在游戏中越久越好,但蛇不能撞到周围的墙壁,蛇的身体也不能碰撞,否则游戏结束。 “你赢了 !”当贪吃蛇的身体节数达到200个

12、时会显示。 5.2 程序流程:根据上述功能确定程序流程。图 5.1 主程序流程图首先初始化LCD,设置系统时钟连接I/O口,然后中断,因为键盘扫描和延迟等待需要中断处理,然后开始绘制游戏界面和snake。然后启动计时器,获取“随机数”并进入游戏,如果游戏结束,将显示游戏结束画面。这里的随机数只是一个概念。在这个设计中,它只是一个基于定时器模拟的“随机数”;因为用户对游戏的每次操作的间隔时间是不确定的,所以本设计中取的随机数实际上是用户操作的间隔时间等值。如果需要更好的游戏效果,可以参考伪随机码算法编程,并以此获取“伪随机码”,实现更合理的随机数。关于游戏部分,游戏的关键是PlayGame功能。

13、流程图如下:图 3.2 GamePlay 程序流程图首先初始化蛇的头部坐标、身体坐标、蛇的段数、蛇的状态、蛇的运动方向,然后判断是否需要背景音乐。如有必要,初始化播放功能以播放音乐并进入游戏循环。由于音乐是循环播放的,所以需要判断是否需要音乐。如果是,判断音乐是否完成。如果它完成了,请再次播放。否则,直接设置食物。然后通过得到的key值改变snake的移动方向。判断snake的状态并进行相应的操作。如果蛇死了,退出游戏,否则返回游戏循环。几点注意事项: 1、由于贪吃蛇和食物的数据很多,而且关系密切,所以贪吃蛇和食物都是定义好的结构数据类型,易于操作和处理。 2.关于背景音乐。在主循环中调用播放音乐函数,然后使用FIQ的TimerA中断进行音频输出。这样做的好处是在后台处理,相当于双重任务。6、结语凌阳公司SPCE的结构特点061A及其相关的开发平台,为我们开发具有语音特性的产品解决方案带来了极大的便利;本系统只是061ASPCE的一个基础应用,

温馨提示

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

评论

0/150

提交评论