




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微控制器应用及系统设计课程设计报告姓 名 学 号 912110学院(系) 自动化学院专 业 自动化 同组人标 题 基于MSP430F449单片机的设计赛车游戏南京理工大学2015 年 5 月91 引言小时候,各种各样的小游戏虽然不大,但丰富了我们当年的生活,逐渐长大后,这些小游戏也离开了我们的生活。现在,我们基于MSP430开发板,以生活中常见的赛车游戏为模板,设计的一款小游戏。回归童年的记忆。2 系统总体设计2.1 系统功能介绍下载程序到单片机,系统呈现如下初始界面:按任意键开始游戏图中右边的是小车,通过按键“9”“3”,上下移动小车,躲避从屏幕左方出现的障碍物,如果撞到障碍物,游戏就会结束,并呈现如下界面:按任意键可以重新游戏2.2 系统组成结构及工作原理系统的总体框图如图所示,通过键盘输入,LCD显示游戏界面,单片机处理算法实现赛车游戏。键盘输入单片机处理LCD显示2.3 系统工作流程流程分两部分,第一部分为主程序,第二部分为中断服务子程序,中断由定时器周期产生,其中flag为游戏首次运行的标志,over为游戏结束的标志。开始显示界面否是否有按键是over=1?是清屏,重绘小车否flag=1?否是清屏,绘小车,开中断根据键值,移动小车开始是over=1?否创造并移动障碍小车是否碰到障碍否是清屏,显示结束界面,over=1退出中断程序3 系统软件设计我本次课题设计中,我主要负责游戏的LCD模块,这里仅介绍其他模块中各函数的功能,重点介绍LCD模块的功能实现。3.1 LCD模块设计void lcd_init(void) LCD屏幕初始化void write_command(char temp) 向LCD输入指令,配置相关参数void write_data(char temp) 向LCD写入数据,进行显示void setpoint(char x,char y) 设置数据显示的位置void draw(unsigned char* data,unsigned char x,unsigned char y,unsigned char width) 将data中的数据逐个在LCD中绘出void clear(unsigned char x,unsigned char y,unsigned char h,unsigned char w) LCD清屏本实验所用LCD点阵模块ZJM12864BSBD是一低功耗的点阵图形LCD模块。1)显示格式:128点(列)64点(行)。2)显示类型:STN黄绿模式、半反半透、6:00视角、正向显示。3)驱动方式:1/64占空比。4)易与8位的MPU相连。5)多功能指令。6)加电自动复位。7)控制芯片:KS0107B、KS0108B。8)EL背光源:AC110V、400HZ。9)工作电压:5.0V0.5V。10)控制和显示指令11)各个引脚的功能12)显示数据RAM(DDRAM)模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英、数字型(16*8)、CGRAM字型及CGROM的中文字型。三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140D75F),GB(A1A0-F7FFH)。13)字型产生RAM(CGRAM)字型产生RAM提供图象定义(造字)功能,可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中14)举例说明,想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。实验中,每一个字符都是用一个字节的代码记录的。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。例如 “A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1A这样的方法。PC在编译时就把“A”先转为41H代码了。查资料得到:0x200x7F为标准的ASCII码,0xA00xFF为日文字符和希腊文字符,其余字符码(0x100x1F及0x800x9F)没有定义。实验中我们是采用了字模生成软件PCtoLCD2002。界面如下:3.2 键盘模块设计void key_init(void) 键盘初始化void check_Key(void) 获取按键键值void key_Event(void) 检测是否有键按下,并获取按键键值3.3 游戏算法设计算法总体思想:通过按键改变小车的位置,利用定时器产生的周期性中断,在每个中断中移动障碍物,产生新的障碍物,并判断小车是否和障碍物相撞,如果相撞,游戏结束。4 系统调试与结果分析我们设计和调试的步骤如下:1. 调试LCD模块,确认LCD屏幕能正确显示开始界面、小车、结束界面;2. 加上键盘模块以及部分算法,能通过键盘切换界面,改变小车的位置;3. 加上定时中断模块,使障碍物能按间隔产生并且移动;4. 完善程序,使游戏达到预期的要求。5. 最终游戏能够正确运行。5 遇到的问题及解决方案开始,对于LCD模块并不是很了解,再看了实验指导书的相关介绍以及查阅资料后,终于有了一点体会,开始摸索着前进,其他程序参考实例的还很顺利,就是字符显示的位置有点糊涂,在慢慢探索中,想办法让字符显示在中间,还有怎么分行等。后来才知道是根据点阵的所在x y轴坐标定下来的,试验几次之后,问题就迎刃而解了。6 实验总结通过本次实验,我们又一次熟悉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁波职业技术学院《交替传译(俄)》2023-2024学年第二学期期末试卷
- 西安航空职业技术学院《新能源仪器分析》2023-2024学年第二学期期末试卷
- 西安科技大学《土壤肥料学》2023-2024学年第二学期期末试卷
- 杭州万向职业技术学院《马克思主义哲学原著(下)》2023-2024学年第二学期期末试卷
- 平顶山文化艺术职业学院《产品参数化设计》2023-2024学年第二学期期末试卷
- 重庆艺术工程职业学院《产品展示设计》2023-2024学年第二学期期末试卷
- 保险职业学院《中国古代文学A(III)》2023-2024学年第二学期期末试卷
- 2024年医用植入材料资金申请报告代可行性研究报告
- 保安个人思想汇报
- 2024年疾病预防控制及防疫服务项目资金需求报告代可行性研究报告
- 2025年河南省洛阳市中考数学一模试卷
- 信息安全管理员-初级工练习题(附答案)
- 2025全国不动产登记代理人《不动产登记代理实务》考试真题(附完整解析)
- 2025届高考英语二轮复习专题一应用文写作课件
- 2023法律职业资格(主观题)真题带解析
- 2025电力变压器(电抗器)综合监测与预警装置
- 2025年中考化学第一轮复习 课件 2024-2025学年九年级化学人教版下册
- 培训学校合伙协议书
- 湖北省武汉市2025届高中毕业生四月调研考试化学试题及答案(武汉四调)
- 农服公司招聘试题及答案
- 小学生摄影课件
评论
0/150
提交评论