基于单片机的模拟射击游戏设计说明书.docx
- 文档编号:30572499
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:11
- 大小:239.14KB
基于单片机的模拟射击游戏设计说明书.docx
《基于单片机的模拟射击游戏设计说明书.docx》由会员分享,可在线阅读,更多相关《基于单片机的模拟射击游戏设计说明书.docx(11页珍藏版)》请在冰豆网上搜索。
基于单片机的模拟射击游戏设计说明书
作品制作说明
课题
基于单片机的模拟射击游戏设计
学院
电子信息工程学院
专业(方向)
应用电子技术(通信电子)
班级
电子104
学号
100202428
姓名
刘洋
完成日期
2012年12月
指导教师
居金娟
基于单片机的模拟射击游戏设计
作品简介
本作品是基于单片机的模拟射击游戏设计,电路由单片机最小系统、电源电路、LED160128A液晶显示屏、开关电路、单片机STC12C5A80S2、蜂鸣器、晶振电路组成。
本设计是利用STC12C5180S2单片机与160*128的液晶组合设计的模拟射击游戏,实现模拟简单的射击游戏,在像素为160*128的液晶上显示模拟的手枪图标,并可通过按键控制手枪的上下移动和射击并判断是否击中目标然后统计得分显示出来,每次击中目标时蜂鸣器会发出击中音效,另有重新开始的功能键。
本课题是基于单片机技术和160*128的广泛应用而提出。
本次做的模拟射击游戏是以单片机为核心,结合LCM160128ALCD显示器,再配以相应的软件,达到实现模拟射击游戏的目的。
本作品通过K1、K2、K3、K4四个按键对游戏进行控制,其中K1为“向上”键,K2为“向下”键,K3为“发射”键,K4为“重新开始”键。
通过上下键使射击器与射击目标保持同一水平线上,然后开始射击,如射中即可获得一分得分,否则得分不变。
当子弹弹数为0时,按“重新开始”键游戏即可重新开始,进行新一轮的挑战。
引言
当今是一个信息化的时代,信息的重要性是不言而喻的,获取手段显得尤其重要。
人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。
在各种显示技术中,以液晶显示器LCD(LiquidCrystalDisplay)为代表的平板显示器发展最快、应用最广。
液晶显示技术的普及应用和发展,给仪器、设备的小型化及智能化带来了光辉的前景,特别是点阵图形式液晶显示模块,它具有体积小、重量轻、低电压、底功耗之优点,因而在显示内容和显示功能等方面表现出了独特的性能。
由于液晶显示器已成为日常工作和生活中各种显示仪器、仪表、和袖珍电子产品的重要组成部分,因此对于点阵图形液晶显示器件(模块)的开发、设计、应用和研究具有重要意义。
该设计是基于LCD的广泛应用,用单片机为控制中心,以键盘为输入设备,用LCD为显示器,实现了汉字和图片的显示以及键盘控制等功能。
1工作原理及系统组成
系统启动后LCD首先初始化,接着从左上角开始清屏,接着显示预置好的游戏界面。
延迟五秒再次清屏,在第一行显示“★★射击训练游戏★★”,中间显示游戏主图像,最下面调用Show_Score_and_Bullet()函数显示游戏得分和剩余子弹数目。
接着打开定时器T0,定时器T1和外部中断INT0,定时器T0控制屏幕每秒通过随机函数刷新应该被击中的目标位置,定时器T1模拟命中后的枪声,并将剩余子弹数目和得分在液晶上同步显示。
图1系统组成框
2系统硬件总体设计
系统硬件主要包括Atmel公司的8位单片机STC12C5A80S2、LCM60128ALCD,电源以及开关电路组成。
下面将对这些分别予以介绍:
2.1电源电路
本子模块电路中由于需要5V电源所以我们没有从主模块中获取,而是在本模块中采用7805模块作为降压模块,本电路仅由4个电容和一片7805组成,在电路中电解电容容量较大用于滤除中低频杂波。
当7805有足够面积的散热器时,可以提供超过1.5A的输出电流。
7805具有精度高、易于安装使用等特点,被广泛使用在要求并不是很高的场合。
首先将220V交流电通过变压器为12V的交流电,然后再通过整流电路和电容一次滤波得到15V的直流电,接着该直流电通过7805的输入端1脚输入,2脚接地,3脚输出,再经过电容的二次滤波得到5V的直流电,提供给整个系统工作。
电源电路如图
图2电源电路图
2.2STC12C5A80S2单片机
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;
2.工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机);
3.工作频率范围:
0-35MHz,相当于普通8051的0~420MHz;
4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节;
5.片上集成1280字节RAM;
6.通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);
9.看门狗;
10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);
11.外部掉电检测电路:
在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;
12.时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz,3.3V单片机为:
8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;
13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器;
14.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;
15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3);
16.PWM(2路)/PCA(可编程计数器阵列,2路):
——也可用来当2路D/A使用
——也可用来再实现2个定时器
——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
17.A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;
19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);
20.工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)21.封装:
PDIP-40,LQFP-44,LQFP-48I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
图3STC12C5A60S2引脚图
2.3LCM160128A液晶显示屏
LCM160128A是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器160128全点阵液晶显示器组成。
他能显示各种字符、图形、汉字,基于T6963C内核控制,其在Proteus中的元器件图形如下:
图4LCM160128引脚图
2.4按键控制模块
K1,K2,K3,K4四个按键的左触点分别与四输入与门74LS21的输入端相连,右触点并联接地,同时从74LS21的输入端引出四根阴线1,2,3,4分别与单片机的P1.4,P1.5,P1.6,P1.7相连,当有按键按下时,74LS21输出为低电平,进入外部中断0的服务子程序,在子程序中具体判断是1,2,3,4的哪个线为低电平从而判断哪个键按下并进行相应响应。
按键控制模块如下所示:
图5按键控制电路图
3所需原件及焊接
3.1所需原件
STC12C5A80S2芯片一个,12MHz晶振一个,NE555振荡器一个,10K电阻一个,22PF电容两个,10μF电解电容一个,LCM160128ALCD显示器,电源接口一个,导线若干,74HC04非门一个,74LS21与门一个,按键4个。
3.2元件的焊接方法
手工焊接是传统的焊接方法,虽然批量电子产品生产已较少采用手工焊接了,然而在日常生活中电子产品的维修、调试还是要用到手工焊接。
手工焊接握电烙铁一般有三种方法:
正握、反握及握笔式。
焊接元器件及维修电路板时以握笔式为主。
3.3手工焊接有四步
准备焊接:
对被焊元件处的积尘及油污进行清洁处理,然后将被焊元器件周围的器件瓣瓣,确保电烙铁头能够触到被焊元器件的焊锡处,以免烙铁头烫坏其他元器件。
加热焊接:
将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。
若是要拆下印刷板上的元器件,则待烙铁头加热后,用手或银子轻轻拉动元器件,看是否可以取下。
清理焊接面:
若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到印刷电路板上),用光烙锡头"沾"些焊锡出来。
若焊点焊锡过少、不圆滑时,可以用电烙铁头"蘸"些焊锡对焊点进行补焊。
检查焊点:
看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。
3.4焊接质量不高的原因
焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。
焊剂过量,焊点明围松香残渣很多。
当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。
夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。
若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。
对于有加热不足的松香膜的情况,可以用烙铁进行补焊。
焊锡连桥。
指焊锡量过多,造成元器件的焊点之间短路。
这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。
冷焊。
焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮,有细小裂纹。
总结
通过这次毕业设计中,对单片机的知识结构、硬件电路实现和软件开发等各个方面有了更进一步的了解,初步掌握了开发硬件电路的基本思路和方法。
同时,巩固了用PROTEUS工具进行电路图的绘制,加深了对C语言的理解。
另外,通过本次毕业设计,综合运用所学专业知识分析、解决了实际问题;掌握了文献检索、资料查询的基本方法以及获取新知识的能力;动手能力书面表达及口头表达能力都得到了很大的提高。
从理论到实践有了一次系统的梳理。
在本次设计中切身感受到了理论联系实际的重要性,从最开始资料的收集到最后硬件检测成功、毕业论文初稿的完成都遇到了这样那样的困难,但是通过自己的努力和老师同学的帮助困难最后都迎刃而解。
在设计过程中感受最深的是细心。
从软件每个模块的编程调试到硬件电路板的焊接,稍有不慎就会出错。
通过本次设计,使我在走向工作岗位之前对自己的专业有了更深的体会,我们通过查资料和搜集有关的文献,培养了自学能力和动手能力,由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。
在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。
在团队合作方面,我也有了更深的理解。
团队的力量是巨大的,大家通过明确分工,在各自任务完成的前提下,互相补充,互相帮助,都更有效率的完成了课题,每个人都收获很大。
经过这次设计,我更多的发现了自己的不足。
C语言编程是非常灵活的东西,而我却不能灵活运用它,缺乏创新和活学活用的能力,在很多时候不能编写出来符合要求的语句,这点需要加强。
然后我也发现了自己对专业知识掌握不牢固,考虑问题不全面,要想在这个领域中继续进步,必须弥补自己的不足,努力学习。
附录
附录模拟射击游戏设计图及实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 模拟 射击 游戏 设计 说明书