毕业设计基于STC12C5A60S2单片机的俄罗斯方块游戏设计.doc
《毕业设计基于STC12C5A60S2单片机的俄罗斯方块游戏设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STC12C5A60S2单片机的俄罗斯方块游戏设计.doc(46页珍藏版)》请在三一办公上搜索。
1、基于单片机的俄罗斯方块游戏设计2011203讲师曾繁政15078159503黄忠南物理与电子信息工程系07106171232007级电气工程及其自动化基于单片机的俄罗斯方块游戏设计基于STC12C5A60S2单片机的俄罗斯方块游戏设计摘 要俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。本文讨论了一种基于增强型单片机硬件平台和实时操作系统的智能俄罗斯方块游戏的设计与实现。该设计选用的处理器型号为STC12C5A60S2的单片机,实时操作系统采用适用于8051处理器的RTX51 Tiny多任务实时操作系统。重点从软件工程角度论述了俄罗斯方块模
2、型构造,图形旋转,坐标变换,双人游戏中多任务实时操作的设计法方,以及背景音乐的处理等技术。同时,该设计的独创性是在8051系列单片机中使用操作系统实现了双人游戏和音效的添加。关键词:单片机;RTX51;LCD;俄罗斯方块ABSTRACTTetris is a section became popular in the world of puzzles.The rules are simple, easy to operate and the game process changes.Users in the game to get fun.This paper discussed a meth
3、od based on enhanece microcontroller hardware platform and real-time operating system of intelligent Tetris game of design and implementa- tion.This design multi-back STC12C5A60S2 single-chip processor regult and real-time operating system adopt suitable for the 8051 processor RTX51 of multi-tasking
4、 real- time operating system.This paper mainly discusses the from software engineering tetris model of structure,graphics rotation,coordinate transform,the double game multitasking real-time operating design,and the background music of the formation of technology.At the same time,the design original
5、ity in the 8051series micro- controller is used in the operating system realizing double game and sound add.Key words: singlechip;RTX51;LCD;Tetris目 录摘 要IABSTRACTII1 绪 论11.1 课题背景11.2 课题的主要研究内容11.3 课题的研究现状及意义12 系统硬件平台设计22.1 STC12C5A60S2单片机概述22.2 STC12C5A60S2最小系统32.3 电源系统32.4 振荡电路32.5 复位系统42.6 程序下载系统52
6、.7 音乐播放系统62.8 LCD液晶显示接口电路62.9 操作控制接口73 系统软件平台构建83.1 Vision简介83.2 LCD12864液晶屏显示原理83.2.1 LCD模块总线选择及时序83.2.2 LCD显示RAM区映射概况93.2.3 LCD的驱动方法103.2.4 LCD驱动程序架构103.3 俄罗斯方块游戏设计113.3.1 俄罗斯方块游戏功能简介113.3.2 系统界面的设计123.3.3 游戏系统“枚举算法”概述143.3.4 俄罗斯方块造型设计的方法153.3.5 随机产生俄罗斯方块的方法153.3.6 俄罗斯方块平移的实现方法173.3.7 俄罗斯方块旋转的实现方法
7、183.3.8 俄罗斯方块下移的实现方法203.3.9 满行检测及消行功能的实现方法213.3.10 游戏积分的计算方法223.4 双人俄罗斯方块游戏设计243.4.1 RTX51 Tiny简介243.4.2 RTX51 Tiny的内核分析243.4.3 游戏开发环境的配置273.4.4 双人单机对战模式的实现流程283.5 系统背景音乐的设计283.5.1音乐的设计原理283.5.2 音乐播放的实现方法303.5.3 音效程序流程303.6 系统主程序流程图314 产品功能说明与系统性能测试324.1 产品功能说明324.2 系统性能测试335 结束语33参考文献35致 谢1 绪 论1.1
8、课题背景如今,计算机系统的发展已明显地朝三个方向发展,这三个方向就是:巨型化,单片化,网络化。对于解决复杂计算和高速数据处理的问题仍然是巨型机在起作用,因而,目前巨型机正在朝高速及高处理能力的方向发展。单片机在出现时Intel公司就给其单片机取名为嵌入式微控制器4。单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。单片机在内部已集成了趆来趆多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,EEPROM,D/A转换器,串行通信接口,Watchdog电路等。 同时,俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,目前在网络单机游戏和kele8等
9、上都有它的身影。而它曾经造成的轰动与经济价值可以说是游戏史上一件大事。因此,对它的研究,无论从技术上,还是社会意义上看都是很有价值的。单片机在游戏上的应用是具有非常大的潜力的,它能将游戏带入到另一个阶段。此次设计仅仅是为了举一个单片机在游戏应用方面的简单例子,它可以很好的说明单片机功能的强大,体现其更高的可控性和高集成度的好处,因此它可以在电子游戏方面成为一个不可计量的明日之星。1.2 课题的主要研究内容本课题研究和实现了基于8051+RTX51到Tiny平台下的智能俄罗斯方块游戏系统。主要研究内容是实现智能俄罗斯方块游戏系统软硬件平台的搭建;本系统以8051微处理器为核心来运行RTX51 T
10、iny多任务实时操作系统,利用KEIL C51开发工具进行软件开发,通过LCD12864液晶屏显示游戏界面。该设计能实现单人单机游、双人单机对战游戏、游戏背景音乐的播放和单人最高积分存储等功能。在俄罗斯方块游戏系统开发过程中,本文作者首先进行硬件平台的搭建,包括单片机最小系统的搭建、电源系统的搭建、串口下载器的设计、游戏手柄的设计、音效播放模块的设计以及LCD液晶显示接口的设计。然后,作者才开展软件平台的构建,这也是本设计的重要部分,主要包括对RTX51 Tiny操作系统的配置、俄罗斯方块模型的设计、模型图块的旋转及坐标变换设计、双人单机对战游戏设计和音效系统设计等。最后,从硬件和软件两方面对
11、完成的智能俄罗斯方块游戏系统进行调试及运行试验。1.3 课题的研究现状及意义现今国内外的俄罗斯方块游戏设计主要有基于PC机上Windows平台的俄罗斯方块游戏、基于手机平台的智能俄罗斯方块游戏以及基于单片机平台的俄罗斯方块游戏等。前两种属于高端游机,性能优越,但成本高,而且计算机编程已不是新命题,VB、VC、Delphi版本的俄罗斯方块游戏都有发布9。从学术角度来看,针对俄罗斯方块游戏的开发,国内外也有不少学者展开过研究,比如Niko将进化算法引入到俄罗斯方块中并验证了其有效性,Hoogeboom探讨了俄罗斯方块游戏的构造问题,王宇等针对存在于俄罗斯方块中的两个数学问题提出解决方案,高凌琴探讨
12、游戏功能要求、数据结构、图形旋转、坐标变换等关键技术,胡代弟在SPCE061A单片机实现了俄罗斯方块游戏10。综上,国内外的研究多着重于游戏数学原理的讨论,也有部分文献涉及游戏的具体实现,但多是在Windows操作系统下实现的,在单片机平台下的开发俄罗斯方块游戏鲜少有文献刊载。而单片机由于具有体积小、性能突出、价格低廉等特点,应用领域不断扩大,除了工业控制、智能化仪表、家用电器外,在智能化高档电子玩具产品也大量采用单片机芯片作为核心控制部件。曾经80年代非常流行的掌上游戏机便是单片机在电子玩具中的应用之一,其中的俄罗斯方块游戏现已被我们所熟知。本文探讨基于8051单片机硬件平台和RTX51 T
13、iny多任务实时操作系统的俄罗斯方块游戏的设计与实现,将理论与实践相结合。其主要目标是再现经典的俄罗斯方块游戏,并在此基础上实现双人单机对战游戏模式,以丰富产品功能,增强游戏的趣味性。2 系统硬件平台设计2.1 STC12C5A60S2单片机概述STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051系列单片机,指令代码完全兼容传统8051,但速度快812倍。用户程序空间为60KB,片上集成1280字节RAM,具有EEPROM功能,能够额外储蓄1KB的数据。该单片机共有4个16位定时器,两个与传统8051兼容的定时器/计数器
14、,即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.2 STC12C5A60S2最小系统单片机最小系统主要由电源、振荡、复位电路以及扩展电路等部分组成。在
15、本设计中,扩展了液晶显示接口。因此,本设计的最小系统如图2-1所示。图 2-1 STC12C5A60S2最小系统Fig 2-1 STC12C5A60S2 Minimum System2.3 电源系统本设计的电源系统比较简单,直接由LM7805稳压芯片输出的+5V电源供电。具体电路如图2-2所示。图片2-2 电源系统Fig 2-2 Power System2.4 振荡电路单片机系统里都有振荡电路,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率趆高,那么单片机运行速度就趆快,单片机的一切指令执行都是依靠单片机晶振提供的时钟频率
16、。4晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。本设计中STC12C5A60S2使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。如图2-3所示即为本设计的振荡电路。图 2-3 振荡电路Fig 2-3 oscillatory circuit2.5 复位系统 MCS51单片机通常采用上电自动复位和按钮复位两种方式。通常因为系统运行等需要,常常需要人工复位,本设计采用按钮复位的方式,即按下开关一定时间就能使RTS引脚端为高电平,从而使单片机复位。同时,简单复位电路中,干扰信号易串入复位端,由此
17、可能会引起内部某些寄存器错误复位,这时可在RST引脚上接去耦电容。在STC12C5A60S2单片机中有两个复位端口,即RST/P4.7、RST2/P4.6,当晶振频率小于或等于12MHz时,使用RST端口。由于本设计使用外接12MHz的晶振作为振荡时钟,所以采用如图2-4所示的复位系统。图 2-4 复位系统Fig 2-4 Rest System2.6 程序下载系统单片机系统的传统编程方式是先将单片机从电路板上取下,放入专用的编程器进行编程,再放入电路板进行调试。其缺点是频繁拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大降低了开发效率。ISP(在线系统编程)技术是一种无需将存储
18、芯片从嵌入式设备上取出就能对其进行编程的过程。其优点是,即使器件焊接在电路板上,仍可对其进行编程。在线系统可编程是Flash存储器的固有特性(通常无需额外电路),Flash几乎都采用这种方式编程。ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于8051系列单片机来讲可通过SPI接口或其它的串行接口接收上位机传来的数据并写入存储器中。而上位机PC机与下位机单片机通过RS-232串行接口总线进行的串行通信。8051系列单片机带有一个全双工的串行接口,因此用RS-232串行接口总线非常方便。PC机配置RS-232标准接口,RS-232信号电平为负逻辑(
19、逻辑“0”为+12V ;逻辑“1”为-12V),8051单片机输入、输出电平为TTL电平(逻辑“0”为小于等于0.5V;逻辑“1”为大于等于2.4V)。所以8051单片机与PC机间点对点异步通信需加电平转换电路,否则将烧坏TTL电路。MAX232是MAXIM公司生产的电平转换器件,只需在外部接入相应的电解电容即可。因此,本设计采用直连串口线进行串口通信,其中STC12C5A60S2的P30/RXD和P31/TXD分别和下载器的第10管脚/T和第9管脚/R相连,串口线的第5管脚接地,2、3管脚和下载器的7、8管脚相连。具体电路如图2-5所示。图 2-5 程序下载系统Fig 2-5 Program
20、 Download System2.7 音乐播放系统在本设计中,音乐播放系统是通过三极管驱动有源蜂鸣器发声,而具体的音符声调则由程序控制。因此,音乐播放系统的硬件电路非常简单。具体接法为有源蜂鸣器正极直接接+5V电源,负极与三极管8050的发射极相连,8050的集电极直接接地,其基极串一个1K的电阻连接到STC12C5A60S2单片机的P20端口。如图2-6所示。图片2-6 音乐播放系统Fig 2-6 Music Player System2.8 LCD液晶显示接口电路 液晶显示屏是整个系统硬件的重要组成部分,担当着人机交互的重要角色。本设计采用铭正同创公司生产的MzL02D-12864液晶点
21、阵屏作为显示器件。它是一块128*64点阵的LCD显示模组,模组上的LCM采用COG技术将控制(包括显存)、驱动器集成在LCM的玻璃上,接口简单、操作方便。其特点为单电源供电,对比度编程可调,可采用并行接口为6800/8080时序或者串行SPI的MPU接口方式,整块液晶屏由3.3V的白色LED背光,美观大方。其外部接口分为电源端口、数据端口和命令端口三部分组成。本设计中LCD的数据端口连接到STC12C5A60S2单片机的P0端口,LCD的命令端口连接到单片机的P2端口。具体硬件电路如图2-7所示。图 2-7 LCD液晶显示接口电路Fig 2-7 Liquid Display Interfac
22、e Circuit2.9 操作控制接口操作控制模块是智能俄罗斯方块游戏系统的输入器件。它包括主控制器和辅助控制器。主控制器包括七个按键,分别为:旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具、暂停、退出。副控制器则包括五个按键,分别为:旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具。在硬件电路方面辅控制器比主控制器少两个按键的连接。如图2-8所示为主控制器的接线图。与单片机的具体接口可根据实际设定。图片2-8 控制模块接口Fig 2-8 Control Interface 3 系统软件平台构建3.1 Vision简介Vision是德国Keil公司开发的单片机ID
23、E软件,最初主要用于8051系列单片机,目前也有支ARM系列单片机的专用版本MDK-ARM。本设计使用的是keil Vision3版本的开发软件进行程序开发。3.2 LCD12864液晶屏显示原理3.2.1 LCD模块总线选择及时序 MzL02D模块提供了两个LCM的引脚(C86和PS引脚)供用户选择模块的接口类型,分别可以选择6800并行总线、8080并行总线或者SPI串行接口。模块默认情况下PS为高电平、C86为高电平,此时为6800总线接口类型,本设计采用6800总线模式。在此种接口模式下,WR 线为读写控制信号线,当WR 为高电平时为读状态,WR为低电来时为写入状态。在6800总线接口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 STC12C5A60S2 单片机 俄罗斯方块 游戏 设计
链接地址:https://www.31ppt.com/p-3975255.html