基于ARM7的老鼠走迷宫的游戏设计说明书Word文档格式.docx
- 文档编号:21657841
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:48
- 大小:341.56KB
基于ARM7的老鼠走迷宫的游戏设计说明书Word文档格式.docx
《基于ARM7的老鼠走迷宫的游戏设计说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于ARM7的老鼠走迷宫的游戏设计说明书Word文档格式.docx(48页珍藏版)》请在冰豆网上搜索。
基于嵌入式平台的迷宫游戏的开发和应用对当今嵌入式学员来讲有十分重要的现实意义,对未来嵌入式高端技术教学建设的全面发展和教学体制具有深远的意义。
在工业自动化方面也起着举足轻重的作用。
1.3基于ARM7的老鼠走迷宫游戏简介
迷宫的游戏设计,作为计算机应用的一部分,使用计算机对信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点极大能够极大地提高管理的效率,也是正规化管理,于世界接轨的重要条件。
然而为促进教学手段的现代化,提高教学质量,促进学员在嵌入式方向的发展,深入了解ARM嵌入式的相关课题。
基于ARM的迷宫游戏的设计是作为嵌入式教学中重要的基础开发平台,软件的开发成功,对今后嵌入式的教学打下了良好基础。
由于,老鼠走迷宫的游戏设计是在嵌入式方向最基础的程序设计,是跨过嵌入式这高门槛必须经过的,因此,迷宫游戏设计的专业化和正规化开发犹显重要。
如果这类简单的游戏的开发不成熟则会直接影响后续大型嵌入式系统的建立。
在老鼠走迷宫的游戏中,在Proteus模拟环境下,程序开始运行时,在LCD12864上显示游戏系统的开始界面“欢迎界面”,紧接着就是游戏迷宫的建立,此时在LCD上显示一个迷宫和一只迷你型的小老鼠,并在屏幕左上方显示时间,对老鼠走完最优路径的所需时间的计时。
程序设计的目的旨在计算出迷宫的最优路径,并使老鼠能沿着最优路径走。
1.4基于ARM7的老鼠走迷宫游戏设计的作用
老鼠走迷宫的游戏设计是基于ARM7核的LPC2103芯片的嵌入式软件设计,该软件系统能大大地提高嵌入式初学者的基础,有效地提高整个考试过程的效率,对学校、培训机构等推动教学改革、提高教学质量起着很大的促进作用。
嵌入式老鼠走迷宫的游戏设计以“实用”为基本指导思想,在算法选择方面做了细致的研究和对比,在综合分析了各种算法的优缺点和迷宫游戏的特点后选用了稳定实用的迷宫求解算法;
在对软件系统做了大量分析后,确定了本系统的数据结构及相应的堆栈结构;
本系统采用的显示屏为LCD12864,易于使用,通用性强;
其中使用的芯片为LPC2103,LPC2103芯片程序存储能力强,实时性强等优点。
1.5设计说明书的内容
设计说明书是在基于LPC2103及LCD12864组成的硬件环境,对老鼠走迷宫游戏进行设计和开发,以实现迷宫的最优路径算法。
本软件的难点在于应用堆栈的迷宫求解算法及相应的数据结构在下位机下难以调试。
设计说明书包括八章:
第一章,绪论,即本章,主要介绍了老鼠走迷宫游戏的开发背景以及其设计原则;
第二章,可行性研究,主要介绍了对该游戏系统的可行性分析,包括系统的规模和目标等;
第三章,需求分析,主要介绍了该系统开发过程中对系统进行需求分析所得到的总体认识,包括游戏系统两个功能模块时钟模块和LCD显示模块的需求分析;
第四章,总体设计,进行了系统软件结构、硬件配置方面的规划,分析系统的总体设计方案,对系统功能模块的设计,以及对编程环境的选择;
第五章,详细设计,本章包括各个模块的逻辑设计,对相关模块的详细设计;
第六章,编码,介绍了编码的相关理论知识;
第七章,软件测试,对本系统的功能进行测试,包括软件测试原则、测试的过程及组织、测试用例及结果等;
第八章,软件使用说明书,对如何使用本软件加以说明,使用户能更好、更方便地使用本系统。
此外,还包括设计总结,参考文献和致谢等内容。
第二章可行性研究
2
2.1系统规模和目标
本游戏系统主要应用于中小型培训机构或日常教学。
由于近几年嵌入式方向的高端技术正在快速发展。
为了让学生能掌握嵌入式开发流程,及了解嵌入式相关的开发必备知识,提高教学质量,帮助教师能方便、快捷地培养出符合社会的新型嵌入式人才,本研究在单片机C编程环境下开发了一套能实现教学目的的迷宫游戏软件。
2.2可行性分析
当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。
并不是所有问题具有简单的解决办法,许多问题不能在预定的规模之内解决。
因此通过可行性的研究分析可以知道问题。
有无可行性的解决方法,进而避免人力、物力和才力的浪费。
在现行系统初步调查的基础上就可以提出新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。
系统目标应充分体现,为了让学生能掌握嵌入式开发流程,及了解嵌入式相关的开发必备知识,便于教师对学生进行过程性测验和终结性测试,并且,通过此游戏的设计还需让学生了解熟悉ARM核各个端口的功能。
但是,需要指出的是,系统目标是不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化,以达到更加出色的程序系统。
2.4.1技术可行性
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬、软件配置能否满足开发者需要等。
根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本游戏系统是一个基于ARM7核上的一个嵌入式软件系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
2.4.2经济可行性
经济可行性主要是对要使用老鼠走迷宫游戏设计的培训机构或学校的经济实力进行评价,一方面是估算开发它的支出费用,其中包括设备购置费、软件开发费、管理和维护费、人员工资和培训费等。
另一方面是估算老鼠走迷宫游戏这个软件可能取得的收益中可以用钱来衡量的那部分。
并对目前的软件市场进行调查,所做软件是否有很大的销售市场和相当规模的用户群。
所做软件的开发成本与客户提出的要求是否可达到双方都满意。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
经过调查我们了解到,现在很多培训机构都在寻找此类迷宫游戏系统来增强学员在基于ARM7核的嵌入式开发,而且这个软件带来的收益超过它的开发所花费的代价。
经过对上述几个方面的调查研究和分析,我们得出老鼠走迷宫游戏这个软件的市场前景是相当客观的,在经济角度来说,开发此系统是基本可行的。
2.4.3操作可行性
主要是了解培训机构管理的相关工作人员对开发信息系统是否支持,现有培训机构管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
培训机构师资队伍积极支持该系统开发,使本系统能够充分的发挥作用;
系统界面友好美观,操作简单易行,易于理解,功能更加齐全。
由于本系统界面友好,所以嵌入式学员经过短时间的培训就可以理解其中的算法。
2.4.4结论意见
经过认真地可行性研究,系统基本上做到了在技术、经济、运行、法律上的可行。
因此,相信在按照计划上实施的前提下,全系统的设计将会按时、高质量完成。
所以,系统研制和开发是可以马上进行的。
第三章需求分析
3
3.1所需系统分析
嵌入式教学过程中充分利用游戏算法设计这种教学资源,进行有效的测验,可以帮助师生把注意力从名次、得分集中到要实现的教学目标上来。
让教师真正关心学生的学习困难和错误所在,关心学生素质的提高,促使教育观念从“应试教育”向“素质教育”转变。
因此,对游戏算法设计进行研究和建设是有十分重要的意义,也是非常有实用价值的。
迷宫游戏设计在教学实践中有独特的优势,在迷宫游戏的发展过程中,出现了很多类型的迷宫。
根据迷宫游戏系统的使用方向来划分,可以分为:
专业的迷宫游戏系统和教学通用的迷宫游戏系统。
在此,我基于嵌入式ARM系列核培训业务为背景,通过调研、分析现有的嵌入式入门开发软件,我认为可以开发一个老鼠走迷宫游戏系统。
包括的主要的内容有迷宫的建立、迷宫最优路径算法、电子时钟、计时等。
3.2需求定义
3.2.1系统名称
基于ARM7的老鼠走迷宫的游戏设计。
3.2.2需求功能
当游戏进入开始主界面时,LCD12864上显示该游戏系统的一些基本信息,包括学校、教师、学生的信息。
等待一小段时间后,系统就自动进入迷宫游戏,此时LCD12864上将显示模拟的迷宫和老鼠,并且时间的初始值全部清零,此时程序自动计算出该迷宫的最优路径,通过该模块的动态图像显示子模块实现老鼠沿该迷宫的最优路径行走,同时ARM7核里的时钟计时器开始计时,直至老鼠由迷宫的起点沿最优路径走完至终点,LCD12864上的时间刷新一次,程序套在一个死循环里,程序一直运行,直到手动终止。
系统中时钟上的管理,通过设置相应的时钟寄存器对其时钟进行初始化,并通过设置中断寄存器,执行中断服务子程序,读取RTC的时间值,并将读出的时分秒值显示于LCD12864上。
通过中断CPU的服务处理可实现对迷你老鼠沿迷宫最优路径走完至终点所需时间的计时。
3.3系统功能模块描述
该系统在主体模块上分为:
时钟模块和LCD显示模块。
该系统的主要功能模块的作用说明如下:
3.3.1时钟模块
时钟模块主要负责如下操作:
1.电子时钟显示:
在LCD12864左上方显示时间。
2.计时:
对老鼠沿迷宫最优路径走所需的时间计时。
3.3.2LCD显示模块
LCD显示模块处理信息主要有如下:
1.游戏系统开始主界面:
显示该游戏的设计者和指导教师。
2.迷宫界面切换:
显示不同的迷宫地图。
3.时间显示:
在LCD12864左上方显示老鼠沿迷宫最优路径走到出口所需的时间。
4.动态显示老鼠移动:
由程序自动求出迷宫的最优路径,然后老鼠沿其最优路径走,在LCD12864上动态显示老鼠的移动足迹。
第四章系统总体设计
通过这个阶段的工作将划分出组成系统的物理元素。
系统总体设计的基本目的是用比较抽象的概括方式确定系统如何完成预定的任务,也就是要确定系统的配置物理方案。
软件结构设计时应该遵循的最主要的原理是模块独立,让模块彼此间的接口关系应该尽量简单。
1
4
4.1系统特点
本系统完全基于单片机技术,采用嵌入式开发模式实现了零客户端的要求。
游戏软件通过软件界面的巧妙设计,使嵌入式初学者更加易懂。
采用Keil3.0加VC++6.0开发,具有管理方便,代码清晰的特点。
可以完全通过Proteus模拟游戏的运行,维护方便。
各种功能模块独立性强,可以根据需要任意组合。
具有清新简洁方便的特性,操作简单,易于理解。
4.2系统结构
4.1
4.2
4.2.1系统的先进性
所谓“单任务系统”是指该系统必能支持多任务并发操作,宏观穿行地执行一个任务。
而多任务系统则可以宏观并行(微观上可能串行)地同时执行多个任务。
多任务的并发执行通常依赖于一个多任务操作系统(OS),多任务OS的核心是系统调度器,它使用任务控制块(TCB)来管理任务调度功能。
TCB包括任务的当前状态、优先级、要等待的事件或资源、任务程序码的起始地址、初始堆栈指针等信息。
调度器在任务被激活时,要用到这些信息。
此外,TCB还被用来存放任务的“上下文”。
任务上下文就是当一个执行中的任务被停止时,所要保存的所有信息。
通常,上下文就是计算机当前的状态,也即各个寄存器的内容,当发生任务切换时,当前运行的任务上下文被存入TCB,并将要执行的任务的上下文从它的TCB中取出,放入各个寄存器中。
嵌入式多任务OS的典型例子有Vxworks、ucLinux等。
嵌入式OS并非遥不可及的神坛之物,我们可以用不到1000行代码实现一个争对80186处理器的功能最简单的OS内核。
究竟选择多任务还是单任务方式,依赖于软件的体系是否庞大。
绝大多数手机都是多任务的,但也有一些小灵通的协议栈是单任务的,没有操作系统,他们的主程序轮流调用各个软件模块的处理程序,模拟多任务环境,单任务程序典型架构:
1.从CPU复位时的指定地址开始执行;
2.跳转至汇编代码startup处执行;
3.跳转至用户主程序main执行,在mian中完成;
4.2.2系统的结构设计
此次系统时间设计采用中断处理,中断是嵌入式系统中重要的组成部分,但是在标准C中不包含中断。
许多编译开发商在标准c上增加了对中断的支持,提供新的关键字用于标识中断服务程序(ISR),类似于__interrupt、#programinterrupt等。
当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要的中断现场入栈和出栈代码。
中断服务程序需要满足如下要求:
1.不能返回值;
2.不能向ISR传递参数;
3.ISR应该尽可能的短小精悍;
4.Printf(char*ipFormatString)函数会带来重入和性能问题,不能在ISR中采用。
4.3系统的总体设计方案
为了适应教师、培训管理人员、学校、等能让学员掌握嵌入式开发流程,及了解嵌入式相关的开发必备知识,我们以ARM7为核的LPC2103芯片及LCD12864作为游戏开发的硬件基础,就老鼠走迷宫游戏系统的构架、功能、指标等做了完整的“项目规划”,并在此基础上进行了软件的系统设计。
系统的总体设计以及游戏系统的具体功能如下:
1.LCD12864上时间显示功能
能将当前的时间显示于LCD12864的左上方。
2.最优路径计时功能
对老鼠沿其最优路径行走至终点所需的时间计时并于显示。
3.动态显示功能
动态显示老鼠的移动,并相应的留下足迹。
4.在LCD的任意位置显示满足条件的任意图片的功能嵌入式学员可根据需要显示不同类型的迷宫。
4.4编程环境的选择
4.3
4.4
4.4.1编程语言—C语言
C语言是一种简单的,面向过程的语言,分布式的,解释的,键壮的,安全的,结构的,中立的,可移植的,性能很优异的,多线程的,动态的语言。
C语言的开发环境有不同的版本,如MicrosoftVisualC++6.0,后又推出了专门面向嵌入式C编程的KeiluVision2、KeiluVision3等一些列嵌入式C编程环境。
C语言的特点
(1)设计特性
C是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,控制特性是很重要的,其设计使得用户可以自然地采用自顶向下的规划、结构化的编程,以及模块化的设计。
这种做法使得编写出的程序可靠、更易懂。
(2)高效性
C是一种高效的语言。
在设计上它充分利用了当前计算机在能力上的优点。
C程序往往很紧凑且运行速度快。
事实上,C可以表现出通常只有汇编语言才具有的精细控制能力(汇编语言是特定的CPU设计所采用的一组内部指令助记符。
不同的CPU类型使用不同的汇编语言)。
如果愿意可以细调程序以获得最大速度或最大内存使用率。
(3)可移植性
C是一种可移植语言。
这意味着,在一个系统上编写的C程序经过很少改动或不经改动就可以再其他系统上运行。
如果修改是必要的,则通常只须改变随主程序的一个头文件中的几项内容即可。
多数语言原本都想具有可移植性,但任何曾将IBMPCBASIC程序转换为AppleBASIC程序(他们还是近亲)的人。
或者试图在UNIX系统上运行一个IBM大型机FORTRAN程序的人都知道,移植至少是在制造麻烦。
C在可移植性方面处于领先地位。
C编译器(将C代码转换为计算机内部使用的指令的程序)在大约40种系统上可用,包括从使用8位微处理器的计算机到Cray超级计算机。
不过要知道,程序中为访问特定硬件设备(例如显示器)或操作系统的特殊功能而专门编写的部分,通常是不能移植的。
由于C与UNIX的紧密联系,UNIX系统通常都带有一个C编译器作为程序包的一部分。
Linux中同样也包括一个C编译器。
个人计算机,包括运行不同版本的Windows,可使用若干种C编译器。
所以不论您使用的是家用计算机、专业工作站还是大型计算机,都很容易得到针对您的特定系统的C编译器。
(4)强大的功能和灵活性
C强大而又灵活(计算机世界中经常使用的两个词)。
例如,强大而灵活的UNIX操作系统的大部分便是用C编写的。
其他语言(如FORTRAN、Perl、Python、Lisp)的许多编译器核解释器也都是用C编写的,结果是,当您在用一台已经用于解决物理学和工程学问题,甚至用来为《角斗士》这样的电影制造特殊效果。
(5)面向编程人员
C面向编程人员的需要。
他允许你访问硬件,并可以操纵内存中的特定位,它具有丰富的运算符选择,让你简洁的表达意图,在限制您所能做的事情方面,C不如PascaL这样的语言严格。
这种灵活性是优点,同时也是一种危险。
优点在于:
血多任务在C中都简单得多,危险在于:
使用C时,您可能会犯在使用其他一些语言时不可能犯的错,C给以您更多的自由,但同时也让您承担更大的风险。
不管C++和Java这样较新的语言如何流行,C在软件产业中任然是一种重要的技能,在最想获得的技能中,它一般都列在前10名。
特别是在嵌入式系统的编程中,C已开始流行。
也就是说,它将用来为汽车、照相机、DVD播放器和其他现代化设备中逐渐普及的微处理器编程。
同样,C已开始进入长期以来一直属于FORTRAN的科学编程领域。
最后,由于它是一种适合用来开发操作系统的语言,C在Linux的开发中也扮演着重要的角色。
因此,在21世纪的前十年中,C仍将保持强劲的势头。
总而言之,C是最重要的编程语言之一,并将继续如此。
4.4.2工具平台—Keil
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发体系,于汇编相比,C语言在功能上、结构上、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后在使用C体会会更加深刻。
Keil软件最大的特点就是提供丰富的库函数和功能强大的集成开发环境和调试工具,全Windows界面。
另外重要一点是:
只要看一下编译后生成的汇编代码,就能体会到Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
开发大型软件是更能体现高级语言的优势。
Keil工具包的整体结构,uvision与Ishell分别是Keilforwindows和forDos的集成开发环境,可以完成编辑,编译、链接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其他编辑器编辑C汇编源文件,然后分别由Keil及Keil编辑器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以和库文件一起经L51链接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的HEX烧录文件,以供调试器使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试。
4.4.3设计模式
最早最基础的嵌入式设计模式是Liskov提出的七种基本模式,并提出对象构成模式的五条基本准则【1-4】,为面向对象设计模式奠定了理论基础,所有依赖的View都会自动更新。
类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
第一模式是平面模式,这个名称源于划分一个通信系统的处理任务的“控制面板”和“数据平面”。
它是一个广泛的和不同类型的多内核设计统称为非对称处理技术,如果采用平面模式,系统需要划分成具有显著不同处理要求的多个字包含模式,在其标准的通信和媒体处理形式中,该模式的优点在于一个专业的DSP或网络处理器上运行需要进行大量数据处理的算法,同时在一个通用的CPU上保持其他系统软件上的正常运行。
这种特殊性意味着平面模式系统通常在基本构建硬件实现。
由于许多平面硬件设备仅有一个通用CPU核,因此传统的单内核工具、操作系统和设计方法都可用来设计和调试系统的通用部分。
第二模式是片上栅格模式,其包含许多完全独立的和网络互联的节点组成的任意多处理器系统。
栅格是办公计算机网络的片上版本,它是共享相邻物理链路但彼此独立的许多网络处理节点,使用栅格模式的关键要求是首先要分割系统,然后找到一个合适的节点间通信系统。
除分割之外,栅格系统具有三种设计模式中最少的高级设计约束。
一旦系统被分割,每个独立节点的设计与实现就会如同一个独立系统一样进行,栅格系统可在专用硬件上运行实现。
栅格模式系统与其他设计相比具有突出的优点。
首先,他们可以很容易与过去的软件整合在一起,过去的系统甚至可以再栅格范围内他们自己的节点上继续完整运行,栅格系统在判决能力和调适能力方面具有明显的优势。
所以调试相对简单,栅格模式系统的分割特性其更为强大,但这也缺陷的根源所在。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM7 老鼠 迷宫 游戏 设计 说明书