记忆训练器(嵌入式课程设计报告).doc_第1页
记忆训练器(嵌入式课程设计报告).doc_第2页
记忆训练器(嵌入式课程设计报告).doc_第3页
记忆训练器(嵌入式课程设计报告).doc_第4页
记忆训练器(嵌入式课程设计报告).doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

上海电力学院嵌入式系统课程设计报告题目: 记忆训练器 姓 名: xx 学 号: 14105016 院系: 电子与信息工程学院 专业年级: 电工理论与新技术一年级 2015 年1月15日1.设计题目:记忆训练器屏幕显示记忆内容, 然后开始输入倒计时, 倒计时期间可以输入记忆内容, 若输入正确, 则加分, 错误或超时则显示提示信号。2.设计要求和目标1.1 基本要求1.1.1记忆内容通过键盘输入, 键盘各键对应值可以自己定义。1.1.2屏幕显示倒计时和所输内容, 输入内容后需点击确认键, 然后程序判断并决定下一步动作。1.2 扩展内容1.2.1 加入不同评分规则, 如可基于单个字符对错评分。1.2.2 设置不同游戏级别。3.硬件模块图和程序流程图硬件:PC机,ARM仿真器,S32410实验箱软件:Keil uVision图1.程序流程图图2.watchdog中断流程图图3.TSP中断流程图图4.系统结构框图4.程序说明4.1 烧入程序运行后,LCD显示开机界面,数码管显示学号,然后按keypad任意键,LCD显示游戏说明(游戏时,你也可以通过按FUN键查看游戏说明),再按任意键,LCD清屏,正式进入游戏。4.2 游戏说明(1).用keypad选择游戏难度(其中A、B、C键分别对应easy,normal,hard三个难度),按键按下后,会语音(可优化:加入代码,使可以用keypad的一个键来切换是否语音播报)提示您选择游戏关卡;(2). 用keypad选择游戏关卡(其中09键分别对应110十个游戏关卡,而且难度递增,每关的难度系数是通过改变记忆时间(显示所有图片正面的时间)和回忆时间(进度条显示的最大时间,也是该关结束后数码管前四位上会显示的时间,即规定时间)来确定的),按键按下后,产生一串随机数,根据这串数据显示出所有图片的正面,并给您留出一定的时间来记忆图片的位置,时间到后,全部翻转到背面(在这之前请不要触摸屏幕);(3).待图片都翻转过来后,进度条开始倒计时,这时请您根据您刚才的记忆(有些关卡比较难,没有留出记忆时间,其实这样更有意思,因为您可以边找边记,也更利于训练记忆),在规定的时间内找出所有的相同图片,具体步骤如下:首先点击(请尽量用大拇指,像按指纹一样来点击屏幕)一张图片,待它翻转到正面并看清是什么动物的图片后,根据您的记忆寻找相同动物的图片的位置并点击,如果图片一样,则两张图片一起消失,如果不一样,则都翻转到背面(有待优化:(1)硬件上的bug,有时会出现,您按的是某处的坐标,而触摸屏测的却是另外一处的坐标,这会导致游戏出错(因为如果图片消失后,那么这些地方不能再被触摸),请用软件解决这个问题;(2)软件上的小缺点,一张图片如果被一连触摸了两次,程序会判断出您找到了一对图片,并将该图片隐藏,进而出现错误,请解决该问题),如此循环下去,一共分三种结果(要是您能在规定的时间内找出所有的相同图片,则LCD清屏后显示成功图片,数码管前四位显示该关的规定时间且后四位显示您完成该关后还剩余的时间(可优化:你可以换算出分数并在数码管上显示),并进行语音播报“恭喜你通过了”,该关结束;要是您没能在规定的时间内找出所有图片,则LCD清屏后显示失败图片,数码管前四位显示该关的规定时间且后四位显示“0000”,并进行语音播报“对不起你失败了”,该关结束;正在游戏中时,如果您不想玩这关了,则可通按keypad的任意键使该关停止,此时数码管会在前四位显示该关的规定时间且后四位显示该关停止后还剩余的时间,该关结束(可优化:您可以加入代码,使按任意键后又可接着玩)。在每关的最后三秒,都会通过蜂鸣器报警和led闪烁来提醒您时间还剩三秒);(4).每关结束后,您只需重复(1)(2)(3)三个步骤即可继续游戏。5.主要程序代码说明5.1 主函数:硬件的初始化,以及大循环的架构5.2 Keypad按键处理函数部分代码5.3 随机数的产生(1)、方法一:用变化的看门狗寄存器的值作为srand()函数的形参,使其产生变化的种子给rand()函数使用,从而使得每次调用下面的函数都能产生不同的随机数序列。void normal_Random_series(void);void hard_Random_series(void);(2)、方法二:用洗牌算法产生随机数,在此不再介绍,请参看函数void easy_Random_series(void);5.4 LCD各种显示函数5.5 数码管显示函数5.6 Watchdog计时中断处理函数部分计时代码5.7 TSP触摸屏中断处理函数部分代码触摸屏上点击第一张和第二张图片的处理部分触摸屏上点击的第一张和第二张图片进行比较的处理部分5.8 I2S语音播报函数5.9 报警函数6. 课程设计现象详见视频。7. 课程设计心得首先,感谢老师给我们提供了学习嵌入式的这个平台,不远万里,担着很大风险从南汇校区给我们带来了实验箱,后来又给我们补买了电源线,我们都很感动,遇到如此负责有担当的老师,我们深感荣幸。通过本次课程设计,让我对S3C2410实验箱硬件模块以及keil编程软件有了更加深刻地了解:硬件上,用到了开发箱的LCD、LED、8-LED、keypad、IIS、蜂鸣器、watchdog、TSP触摸屏等,使我对这些模块的原理有了更深的认识;软件上,通过本次课程设计让我加深了C语言的认识,更是用到了很多指针的知识,更加熟悉了多文件编程方法及技巧,总体上提高了自己的编程能力;在keil的使用上,学会了通过设置断点逐步运行查找程序中的问题及阅读错误提示语句进行纠错的方法。这次课程设计的完满收工,使我收获很多,首先是提高了我对程序的分析能力、程序结构设计的能力。其次,在和老师同学的交流中,我明白了个人能力是有限的,集思广益才能获得更大突破,是学习新知识的最有效捷径,闭门造车、夜郎自大是不可取的,另外,有想法就要想方法实现它。最后,我想说,嵌入式是一门实践性很强的学科,唯有不断的实践才能真正地掌握它, 只有多读多想多写,编程能力才能够提高,才能写出更简练、实用高效的代码。致 谢不得不说,这次课程设计给我带来了无穷的乐趣和十足的成就感,在此我要深深地感谢带我进入嵌入式世界以及给予我

温馨提示

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

评论

0/150

提交评论