文档介绍:目录
一、绪论 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