基于51单片机的俄罗斯方块游戏毕业设计论文.docx
- 文档编号:47866
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:35
- 大小:641.31KB
基于51单片机的俄罗斯方块游戏毕业设计论文.docx
《基于51单片机的俄罗斯方块游戏毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的俄罗斯方块游戏毕业设计论文.docx(35页珍藏版)》请在冰豆网上搜索。
基于51单片机的俄罗斯方块游戏毕业设计论文
基于51单片机的俄罗斯方块游戏毕业设计论文
1绪论
1.1课题背景
如今,计算机系统的发展已明显地朝三个方向发展,这三个方向就是:
巨型化,单片化,网络化。
对于解决复杂计算和高速数据处理的问题仍然是巨型机在起作用,因而,目前巨型机正在朝高速及高处理能力的方向发展。
单片机在出现时Intel公司就给其单片机取名为嵌入式微控制器[4]。
单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。
这一点是巨型机和网络不可能做到的。
单片机在内部已集成了趆来趆多的部件,这些部件包括一般常用的电路,例如:
定时器,比较器,EEPROM,D/A转换器,串行通信接口,Watchdog电路等。
同时,俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,目前在网络单机游戏和kele8等上都有它的身影。
而它曾经造成的轰动与经济价值可以说是游戏史上一件大事。
因此,对它的研究,无论从技术上,还是社会意义上看都是很有价值的。
单片机在游戏上的应用是具有非常大的潜力的,它能将游戏带入到另一个阶段。
此次设计仅仅是为了举一个单片机在游戏应用方面的简单例子,它可以很好的说明单片机功能的强大,体现其更高的可控性和高集成度的好处,因此它可以在电子游戏方面成为一个不可计量的明日之星。
1.2课题的主要研究内容
本课题研究和实现了基于8051+RTX51到Tiny平台下的智能俄罗斯方块游戏系统。
主要研究内容是实现智能俄罗斯方块游戏系统软硬件平台的搭建;本系统以8051微处理器为核心来运行RTX51Tiny多任务实时操作系统,利用KEILC51开发工具进行软件开发,通过LCD12864液晶屏显示游戏界面。
该设计能实现单人单机游、双人单机对战游戏、游戏背景音乐的播放和单人最高积分存储等功能。
在俄罗斯方块游戏系统开发过程中,本文作者首先进行硬件平台的搭建,包括单片机最小系统的搭建、电源系统的搭建、串口下载器的设计、游戏手柄的设计、音效播放模块的设计以及LCD液晶显示接口的设计。
然后,作者才开展软件平台的构建,这也是本设计的重要部分,主要包括对RTX51Tiny操作系统的配置、俄罗斯方块模型的设计、模型图块的旋转及坐标变换设计、双人单机对战游戏设计和音效系统设计等。
最后,从硬件和软件两方面对完成的智能俄罗斯方块游戏系统进行调试及运行试验。
1.3课题的研究现状及意义
现今国内外的俄罗斯方块游戏设计主要有基于PC机上Windows平台的俄罗斯方块游戏、基于手机平台的智能俄罗斯方块游戏以及基于单片机平台的俄罗斯方块游戏等。
前两种属于高端游机,性能优越,但成本高,而且计算机编程已不是新命题,VB、VC、Delphi版本的俄罗斯方块游戏都有发布[9]。
从学术角度来看,针对俄罗斯方块游戏的开发,国内外也有不少学者展开过研究,比如Niko将进化算法引入到俄罗斯方块中并验证了其有效性,Hoogeboom探讨了俄罗斯方块游戏的构造问题,王宇等针对存在于俄罗斯方块中的两个数学问题提出解决方案,高凌琴探讨游戏功能要求、数据结构、图形旋转、坐标变换等关键技术,胡代弟在SPCE061A单片机实现了俄罗斯方块游戏[10]。
综上,国内外的研究多着重于游戏数学原理的讨论,也有部分文献涉及游戏的具体实现,但多是在Windows操作系统下实现的,在单片机平台下的开发俄罗斯方块游戏鲜少有文献刊载。
而单片机由于具有体积小、性能突出、价格低廉等特点,应用领域不断扩大,除了工业控制、智能化仪表、家用电器外,在智能化高档电子玩具产品也大量采用单片机芯片作为核心控制部件。
曾经80年代非常流行的掌上游戏机便是单片机在电子玩具中的应用之一,其中的俄罗斯方块游戏现已被我们所熟知。
本文探讨基于8051单片机硬件平台和RTX51Tiny多任务实时操作系统的俄罗斯方块游戏的设计与实现,将理论与实践相结合。
其主要目标是再现经典的俄罗斯方块游戏,并在此基础上实现双人单机对战游戏模式,以丰富产品功能,增强游戏的趣味性。
2系统硬件平台设计
2.1STC12C5A60S2单片机概述
STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051系列单片机,指令代码完全兼容传统8051,但速度快8~12倍。
用户程序空间为60KB,片上集成1280字节RAM,具有EEPROM功能,能够额外储蓄1KB的数据。
该单片机共有4个16位定时器,两个与传统8051兼容的定时器/计数器,即16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,此两路可编程计数器阵列(PCA)可用来再实现2个定时器。
此外,STC12C5A60S2内部还集成MAX810专用复位电路,2路PWM,8路高速度10位A/D转换(250K/S),针对电机控制,强干扰场地合。
综上所述,STC12C5A605S2单片机具有许多强大的功能,能够满足大多数用户对8位单片机的要求。
2.2STC12C5A60S2最小系统
单片机最小系统主要由电源、振荡、复位电路以及扩展电路等部分组成。
在本设计中,扩展了液晶显示接口。
因此,本设计的最小系统如图2-1所示。
图2-1STC12C5A60S2最小系统
Fig2-1STC12C5A60S2MinimumSystem
2.3电源系统
本设计的电源系统比较简单,直接由LM7805稳压芯片输出的+5V电源供电。
具体电路如图2-2所示。
图片2-2电源系统
Fig2-2PowerSystem
2.4振荡电路
单片机系统里都有振荡电路,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率趆高,那么单片机运行速度就趆快,单片机的一切指令执行都是依靠单片机晶振提供的时钟频率。
[4]
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。
本设计中STC12C5A60S2使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。
如图2-3所示即为本设计的振荡电路。
图2-3振荡电路
Fig2-3oscillatorycircuit
2.5复位系统
MCS51单片机通常采用上电自动复位和按钮复位两种方式。
通常因为系统运行等需要,常常需要人工复位,本设计采用按钮复位的方式,即按下开关一定时间就能使RTS引脚端为高电平,从而使单片机复位。
同时,简单复位电路中,干扰信号易串入复位端,由此可能会引起内部某些寄存器错误复位,这时可在RST引脚上接去耦电容。
在STC12C5A60S2单片机中有两个复位端口,即RST/P4.7、RST2/P4.6,当晶振频率小于或等于12MHz时,使用RST端口。
由于本设计使用外接12MHz的晶振作为振荡时钟,所以采用如图2-4所示的复位系统。
图2-4复位系统
Fig2-4RestSystem
2.6程序下载系统
单片机系统的传统编程方式是先将单片机从电路板上取下,放入专用的编程器进行编程,再放入电路板进行调试。
其缺点是频繁拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大降低了开发效率。
ISP(在线系统编程)技术是一种无需将存储芯片从嵌入式设备上取出就能对其进行编程的过程。
其优点是,即使器件焊接在电路板上,仍可对其进行编程。
在线系统可编程是Flash存储器的固有特性(通常无需额外电路),Flash几乎都采用这种方式编程。
ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。
对于8051系列单片机来讲可通过SPI接口或其它的串行接口接收上位机传来的数据并写入存储器中。
而上位机PC机与下位机单片机通过RS-232串行接口总线进行的串行通信。
8051系列单片机带有一个全双工的串行接口,因此用RS-232串行接口总线非常方便。
PC机配置RS-232标准接口,RS-232信号电平为负逻辑(逻辑“0”为+12V;逻辑“1”为-12V),8051单片机输入、输出电平为TTL电平(逻辑“0”为小于等于0.5V;逻辑“1”为大于等于2.4V)。
所以8051单片机与PC机间点对点异步通信需加电平转换电路,否则将烧坏TTL电路。
MAX232是MAXIM公司生产的电平转换器件,只需在外部接入相应的电解电容即可。
因此,本设计采用直连串口线进行串口通信,其中STC12C5A60S2的P3^0/RXD和P3^1/TXD分别和下载器的第10管脚/T和第9管脚/R相连,串口线的第5管脚接地,2、3管脚和下载器的7、8管脚相连。
具体电路如图2-5所示。
图2-5程序下载系统
Fig2-5ProgramDownloadSystem
2.7音乐播放系统
在本设计中,音乐播放系统是通过三极管驱动有源蜂鸣器发声,而具体的音符声调则由程序控制。
因此,音乐播放系统的硬件电路非常简单。
具体接法为有源蜂鸣器正极直接接+5V电源,负极与三极管8050的发射极相连,8050的集电极直接接地,其基极串一个1K的电阻连接到STC12C5A60S2单片机的P2^0端口。
如图2-6所示。
图片2-6音乐播放系统
Fig2-6MusicPlayerSystem
2.8LCD液晶显示接口电路
液晶显示屏是整个系统硬件的重要组成部分,担当着人机交互的重要角色。
本设计采用铭正同创公司生产的MzL02D-12864液晶点阵屏作为显示器件。
它是一块128*64点阵的LCD显示模组,模组上的LCM采用COG技术将控制(包括显存)、驱动器集成在LCM的玻璃上,接口简单、操作方便。
其特点为单电源供电,对比度编程可调,可采用并行接口为6800/8080时序或者串行SPI的MPU接口方式,整块液晶屏由3.3V的白色LED背光,美观大方。
其外部接口分为电源端口、数据端口和命令端口三部分组成。
本设计中LCD的数据端口连接到STC12C5A60S2单片机的P0端口,LCD的命令端口连接到单片机的P2端口。
具体硬件电路如图2-7所示。
图2-7LCD液晶显示接口电路
Fig2-7LiquidDisplayInterfaceCircuit
2.9操作控制接口
操作控制模块是智能俄罗斯方块游戏系统的输入器件。
它包括主控制器和辅助控制器。
主控制器包括七个按键,分别为:
旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具、暂停、退出。
副控制器则包括五个按键,分别为:
旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具。
在硬件电路方面辅控制器比主控制器少两个按键的连接。
如图2-8所示为主控制器的接线图。
与单片机的具体接口可根据实际设定。
图片2-8控制模块接口
Fig2-8ControlInterface
3系统软件平台构建
3.1μVision简介
μVision是德国Keil公司开发的单片机IDE软件,最初主要用于8051系列单片机,目前也有支ARM系列单片机的专用版本MDK-ARM。
本设计使用的是keilμVision3版本的开发软件进行程序开发。
3.2LCD12864液晶屏显示原理
3.2.1LCD模块总线选择及时序
MzL02D模块提供了两个LCM的引脚(C86和PS引脚)供用户选择模块的接口类型,分别可以选择6800并行总线、8080并行总线或者SPI串行接口。
模块默认情况下PS为高电平、C86为高电平,此时为6800总线接口类型,本设计采用6800总线模式。
在此种接口模式下,WR线为读写控制信号线,当WR为高电平时为读状态,WR为低电来时为写入状态。
在6800总线接口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 俄罗斯方块 游戏 毕业设计 论文