- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游蛇吃豆嵌入式课程设计
目录
一、 绪论 1
1. 开发背景 1
2. 开发平台 1
3. 小组成员 2
二、 功能描述 3
三、 基本原理 3
四、 系统总体设计 4
1. 相关初始化 4
2. 任务设计 5
五、 硬件设计 8
六、 软件设计 8
1. 移动功能的实现 8
2. 判断吃否吃到豆子 11
3. 画豆子 14
4. 声音的播放 15
5. 数码管的点亮 16
6. 判断游戏进程 17
7. 加速,计分,计时功能 19
8. 监听键盘 20
七、 小结 21
八、 参考文献 21
绪论
开发背景
贪吃蛇是一款常见的小游戏,简单有趣,深受人们的喜爱,本项目作为学习软件文档写作和简单游戏编程而提出。希望通过《贪吃蛇》游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高嵌入式设计的能力。
开发平台
知识储备 嵌入式实时操作系统μC/OS-II简介
μC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已经在40多种不同架构的微处理器上使用。使用μC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。 μC/OS-II全部以源代码的方式提供,大约有5500行。CPU相关的部分使用的是针对Intel80x86微处理器的代码。μC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。
μC/OS-II的特点:
源代码
可移植
可固化
可裁减
可抢占性
支持多任务
可确定性
任务栈
系统服务
中断管理
稳定性
ARM简介
采用RISC架构的ARM微处理器一般具有如下特点:
体积小、低功耗、低成本、高性能;
支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
大量使用寄存器,指令执行速度更快;
大多数数据操作都在寄存器中完成;
寻址方式灵活简单,执行效率高;
指令长度固定;
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间。
小组成员
功能描述
基本功能:开始蛇向右方移动。按键盘上定义的上下左右键,蛇改变游动的方向,可以上下左右游动。蛇不能碰到图中的灰色栅栏,如碰到游戏结束。若蛇碰到图中一粒豆子,则豆子被蛇吃掉,图中的豆子消失,蛇身变长。
最终所有的豆子都被吃掉,游戏结束。
增强要求:
必须改进游戏的界面,增加显示相关的统计信息。左边的显示区保持不变,右边动态显示积分和总时间统计信息,其中积分栏目显示当前已经吃下的豆子数目,总时间显示本局游戏从开始到现在经过的时间。
优化主程序,注意CPU和内存的使用效率。
考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。
得分可以在发光二极管上显示出来。
基本原理
游戏开始后进入游戏界面.首先初始化蛇的坐标,食物的坐标.线程基本流程:判断是否是暂停阶段,是否有有退出按键,游戏是否有结束,如果都没有就执行, 如果游戏结束了就重新游戏或者退出。开启键盘功能,实现通过方向键来控制蛇的移动方向; 开启数码管功能,实现蛇吃到食物后能够更新和显示分数; 利用变量,实现吃了6个食物后,游戏能够结束,并能通过增加蛇的移动速度来增加游戏的难度。
贪吃蛇游戏设计最主要在蛇移动的控制,在设计中用数组来存放蛇身的坐标,用数组boolbean00[3]、boolbean01[1]、boolbean10[1]、boolbean11[1]存放豆子,变量mscore记录得分,并利用数码管显示技术实时显示分数,考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。
系统总体设计
相关初始化
堆栈大小,任务优先级定义
OS_STK Main_Stack[STACKSIZE*8]={0, }; //Main_Test_Task堆
文档评论(0)