欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    本科毕设论文基于51单片机的俄罗斯方块游戏.docx

    • 资源ID:2533037       资源大小:657.05KB        全文页数:47页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    本科毕设论文基于51单片机的俄罗斯方块游戏.docx

    1、本科毕设论文基于51单片机的俄罗斯方块游戏2011203讲师曾繁政物理与电子信息工程系07106171232007级电气工程及其自动化基于单片机的俄罗斯方块游戏设计基于单片机的俄罗斯方块游戏设计基于单片机的俄罗斯方块游戏设计独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年月日授权声明本人完全理解贺州学院有关保留、使用本科生毕业论文(设计)的规定,即:学院有权保留并向

    2、国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权贺州学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无”):签 名: 年月日指导教师签名: 年月日基于单片机的俄罗斯方块游戏设计摘 要俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。本文讨论了一种基于增强型单片机硬件平台和实时操作系统的智能俄罗斯方块游戏的设计与实现。该设计选用的处理器型号为STC12C5A6

    3、0S2的单片机,实时操作系统采用适用于8051处理器的RTX51 Tiny多任务实时操作系统。重点从软件工程角度论述了俄罗斯方块模型构造,图形旋转,坐标变换,双人游戏中多任务实时操作的设计法方,以及背景音乐的处理等技术。同时,该设计的独创性是在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

    4、 changes.Users in the game to get fun.This paper discussed a method 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 sy

    5、stem adopt suitable for the 8051 processor RTX51 of multi-tasking 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

    6、 the formation of technology.At the same time,the design originality in the 8051series micro- controller is used in the operating system realizing double game and sound add.Key words: singlechip;RTX51;LCD;Tetris目 录摘 要 IABSTRACT II1 绪 论 11.1 课题背景 11.2 课题的主要研究内容 11.3 课题的研究现状及意义 12 系统硬件平台设计 22.1 STC12C

    7、5A60S2单片机概述 22.2 STC12C5A60S2最小系统 32.3 电源系统 32.4 振荡电路 32.5 复位系统 42.6 程序下载系统 52.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 游

    8、戏系统“枚举算法”概述 143.3.4 俄罗斯方块造型设计的方法 153.3.5 随机产生俄罗斯方块的方法 153.3.6 俄罗斯方块平移的实现方法 173.3.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

    9、 音乐播放的实现方法 303.5.3 音效程序流程 303.6 系统主程序流程图 314 产品功能说明与系统性能测试 324.1 产品功能说明 324.2 系统性能测试 335 结束语 33参考文献 35致 谢1 绪 论1.1 课题背景如今,计算机系统的发展已明显地朝三个方向发展,这三个方向就是:巨型化,单片化,网络化。对于解决复杂计算和高速数据处理的问题仍然是巨型机在起作用,因而,目前巨型机正在朝高速及高处理能力的方向发展。单片机在出现时Intel公司就给其单片机取名为嵌入式微控制器4。单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。单片机在内部已集成

    10、了趆来趆多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,EEPROM,D/A转换器,串行通信接口,Watchdog电路等。 同时,俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,目前在网络单机游戏和kele8等上都有它的身影。而它曾经造成的轰动与经济价值可以说是游戏史上一件大事。因此,对它的研究,无论从技术上,还是社会意义上看都是很有价值的。单片机在游戏上的应用是具有非常大的潜力的,它能将游戏带入到另一个阶段。此次设计仅仅是为了举一个单片机在游戏应用方面的简单例子,它可以很好的说明单片机功能的强大,体现其更高的可控性和高集成度的好处,因此它可以在电子游戏方面成为一个不可计量的

    11、明日之星。1.2 课题的主要研究内容本课题研究和实现了基于8051+RTX51到Tiny平台下的智能俄罗斯方块游戏系统。主要研究内容是实现智能俄罗斯方块游戏系统软硬件平台的搭建;本系统以8051微处理器为核心来运行RTX51 Tiny多任务实时操作系统,利用KEIL C51开发工具进行软件开发,通过LCD12864液晶屏显示游戏界面。该设计能实现单人单机游、双人单机对战游戏、游戏背景音乐的播放和单人最高积分存储等功能。在俄罗斯方块游戏系统开发过程中,本文作者首先进行硬件平台的搭建,包括单片机最小系统的搭建、电源系统的搭建、串口下载器的设计、游戏手柄的设计、音效播放模块的设计以及LCD液晶显示接

    12、口的设计。然后,作者才开展软件平台的构建,这也是本设计的重要部分,主要包括对RTX51 Tiny操作系统的配置、俄罗斯方块模型的设计、模型图块的旋转及坐标变换设计、双人单机对战游戏设计和音效系统设计等。最后,从硬件和软件两方面对完成的智能俄罗斯方块游戏系统进行调试及运行试验。1.3 课题的研究现状及意义现今国内外的俄罗斯方块游戏设计主要有基于PC机上Windows平台的俄罗斯方块游戏、基于手机平台的智能俄罗斯方块游戏以及基于单片机平台的俄罗斯方块游戏等。前两种属于高端游机,性能优越,但成本高,而且计算机编程已不是新命题,VB、VC、Delphi版本的俄罗斯方块游戏都有发布9。从学术角度来看,针

    13、对俄罗斯方块游戏的开发,国内外也有不少学者展开过研究,比如Niko将进化算法引入到俄罗斯方块中并验证了其有效性,Hoogeboom探讨了俄罗斯方块游戏的构造问题,王宇等针对存在于俄罗斯方块中的两个数学问题提出解决方案,高凌琴探讨游戏功能要求、数据结构、图形旋转、坐标变换等关键技术,胡代弟在SPCE061A单片机实现了俄罗斯方块游戏10。综上,国内外的研究多着重于游戏数学原理的讨论,也有部分文献涉及游戏的具体实现,但多是在Windows操作系统下实现的,在单片机平台下的开发俄罗斯方块游戏鲜少有文献刊载。而单片机由于具有体积小、性能突出、价格低廉等特点,应用领域不断扩大,除了工业控制、智能化仪表、

    14、家用电器外,在智能化高档电子玩具产品也大量采用单片机芯片作为核心控制部件。曾经80年代非常流行的掌上游戏机便是单片机在电子玩具中的应用之一,其中的俄罗斯方块游戏现已被我们所熟知。本文探讨基于8051单片机硬件平台和RTX51 Tiny多任务实时操作系统的俄罗斯方块游戏的设计与实现,将理论与实践相结合。其主要目标是再现经典的俄罗斯方块游戏,并在此基础上实现双人单机对战游戏模式,以丰富产品功能,增强游戏的趣味性。2 系统硬件平台设计2.1 STC12C5A60S2单片机概述STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051

    15、系列单片机,指令代码完全兼容传统8051,但速度快812倍。用户程序空间为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),针对电

    16、机控制,强干扰场地合。综上所述,STC12C5A605S2单片机具有许多强大的功能,能够满足大多数用户对8位单片机的要求。2.2 STC12C5A60S2最小系统单片机最小系统主要由电源、振荡、复位电路以及扩展电路等部分组成。在本设计中,扩展了液晶显示接口。因此,本设计的最小系统如图2-1所示。图 2-1 STC12C5A60S2最小系统Fig 2-1 STC12C5A60S2 Minimum System2.3 电源系统本设计的电源系统比较简单,直接由LM7805稳压芯片输出的+5V电源供电。具体电路如图2-2所示。图片2-2 电源系统Fig 2-2 Power System2.4 振荡电路

    17、单片机系统里都有振荡电路,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率趆高,那么单片机运行速度就趆快,单片机的一切指令执行都是依靠单片机晶振提供的时钟频率。4晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。本设计中STC12C5A60S2使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。如图2-3所示即为本设计的振荡电路。图 2-3 振荡电路Fig 2-3 oscillatory circuit2.5 复位系统 MCS5

    18、1单片机通常采用上电自动复位和按钮复位两种方式。通常因为系统运行等需要,常常需要人工复位,本设计采用按钮复位的方式,即按下开关一定时间就能使RTS引脚端为高电平,从而使单片机复位。同时,简单复位电路中,干扰信号易串入复位端,由此可能会引起内部某些寄存器错误复位,这时可在RST引脚上接去耦电容。在STC12C5A60S2单片机中有两个复位端口,即RST/P4.7、RST2/P4.6,当晶振频率小于或等于12MHz时,使用RST端口。由于本设计使用外接12MHz的晶振作为振荡时钟,所以采用如图2-4所示的复位系统。图 2-4 复位系统Fig 2-4 Rest System2.6 程序下载系统单片机

    19、系统的传统编程方式是先将单片机从电路板上取下,放入专用的编程器进行编程,再放入电路板进行调试。其缺点是频繁拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大降低了开发效率。ISP(在线系统编程)技术是一种无需将存储芯片从嵌入式设备上取出就能对其进行编程的过程。其优点是,即使器件焊接在电路板上,仍可对其进行编程。在线系统可编程是Flash存储器的固有特性(通常无需额外电路),Flash几乎都采用这种方式编程。ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于8051系列单片机来讲可通过SPI接口或其它的串行接口接收上位机传来的数据并写入

    20、存储器中。而上位机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公司生产的电平转换器件,只需在外部接入相应的电解电容即可。因此,本设计采用直连串口线进行串口通信,其中STC12C

    21、5A60S2的P30/RXD和P31/TXD分别和下载器的第10管脚/T和第9管脚/R相连,串口线的第5管脚接地,2、3管脚和下载器的7、8管脚相连。具体电路如图2-5所示。图 2-5 程序下载系统Fig 2-5 Program Download System2.7 音乐播放系统在本设计中,音乐播放系统是通过三极管驱动有源蜂鸣器发声,而具体的音符声调则由程序控制。因此,音乐播放系统的硬件电路非常简单。具体接法为有源蜂鸣器正极直接接+5V电源,负极与三极管8050的发射极相连,8050的集电极直接接地,其基极串一个1K的电阻连接到STC12C5A60S2单片机的P20端口。如图2-6所示。图片2

    22、-6 音乐播放系统Fig 2-6 Music Player System2.8 LCD液晶显示接口电路 液晶显示屏是整个系统硬件的重要组成部分,担当着人机交互的重要角色。本设计采用铭正同创公司生产的MzL02D-12864液晶点阵屏作为显示器件。它是一块128*64点阵的LCD显示模组,模组上的LCM采用COG技术将控制(包括显存)、驱动器集成在LCM的玻璃上,接口简单、操作方便。其特点为单电源供电,对比度编程可调,可采用并行接口为6800/8080时序或者串行SPI的MPU接口方式,整块液晶屏由3.3V的白色LED背光,美观大方。其外部接口分为电源端口、数据端口和命令端口三部分组成。本设计中

    23、LCD的数据端口连接到STC12C5A60S2单片机的P0端口,LCD的命令端口连接到单片机的P2端口。具体硬件电路如图2-7所示。图 2-7 LCD液晶显示接口电路Fig 2-7 Liquid Display Interface Circuit2.9 操作控制接口操作控制模块是智能俄罗斯方块游戏系统的输入器件。它包括主控制器和辅助控制器。主控制器包括七个按键,分别为:旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具、暂停、退出。副控制器则包括五个按键,分别为:旋转/确定、向左/返回上级菜、向右/下一个、快速下降、使用道具。在硬件电路方面辅控制器比主控制器少两个按键的连接。如图2

    24、-8所示为主控制器的接线图。与单片机的具体接口可根据实际设定。图片2-8 控制模块接口Fig 2-8 Control Interface 3 系统软件平台构建3.1 Vision简介Vision是德国Keil公司开发的单片机IDE软件,最初主要用于8051系列单片机,目前也有支ARM系列单片机的专用版本MDK-ARM。本设计使用的是keil Vision3版本的开发软件进行程序开发。3.2 LCD12864液晶屏显示原理3.2.1 LCD模块总线选择及时序 MzL02D模块提供了两个LCM的引脚(C86和PS引脚)供用户选择模块的接口类型,分别可以选择6800并行总线、8080并行总线或者SP

    25、I串行接口。模块默认情况下PS为高电平、C86为高电平,此时为6800总线接口类型,本设计采用6800总线模式。在此种接口模式下,WR 线为读写控制信号线,当WR 为高电平时为读状态,WR为低电来时为写入状态。在6800总线接口模式下LCD的时序如图3-1所示。图 3-1 6800总线时序Fig 3-1 6800 Bus Timing3.2.2 LCD显示RAM区映射概况驱动控制芯片的显示RAM区中,每个byte的数据对应屏上的点的排列方式为:纵向排列,低位在上高位在下;如图3-2所示。MzL02D-12864液晶显示模组的显示器上的显示点与驱动控制芯片中的显示缓存RAM是一一对应的;共有65

    26、(8Page * 8bit + 1)*132个位的显示RAM区。而显示器的显示点阵大小为64*128点,所以实际上在液晶显示模块中有用的显示RAM区为64*128个位;按byte为单位划分,共分为8个Page,每个Page为8行,而每一行为128个位。(即128列)。图 3-2 字节数据排列情况Fig 3-2 Byte data arrangementMzL02D-12864液晶显示模块的显示屏上的每一个点都对应有控制器片内的显示缓存RAM中的一个bit,显示屏上64*128个点分别对应着显示RAM的8个Page,每一个Page有128个byte的空间。因此可知显示RAM区中的一个Page空间

    27、对应8行的点,而该Page中的一个byte数据则对应一列(8个点)。用户如要点亮LCD屏上的某一个点时,实际上就是对该点所对应的显示RAM区中的某一个位进行置1操作,所以就要确定该点所处的行地址、列地址。MzL02-12864液晶显示模组的行地址实际上就是Page的信息,每一个Page应有8行;而列地址则表示该点的横坐标,在屏上为从左到右排列,Page中的一个Byte对应的是一列(8行,即8个点),达128列。可以根据这样的关系在程序中控制LCD显示屏的显示。3.2.3 LCD的驱动方法在很多资料以及书籍当中,通常介绍有两种 LCD模块的连接方法:直接控制和间接控制;直接控制实际指的是 LCD

    28、模块的总线接口直接与MCU端口连接,然后 MCU 通过程序控制端口来模拟 LCD的总线时序来完成对其的控制操作;而间接控制指的是MCU本身就有外部总线拉出,与LCD的总线接口对应的连接上,程序中直接操作总线以控制LCD。目前有很多MCU 都把总线密封起来了,都没有引出外部总线;所以通常在用MCU控制LCD模块时,时常会选择直接控制的方式,即利用端口来模拟总线时序;当然了,如果本身就有总线而且也与LCD模块的总线配得上的话,肯定会使用总线连接的间控方式。本设计采用直接控制的方式,将MzL02D-12864 LCD模块的总配置为6800总线,这与绝大部分引出外部总线的MCU的时序是不一样的。本设计

    29、的LCD12864模块中,用户程序对其进行显示控制时,无非就是通过对LCD模块内部的驱动控制器当中的寄存器进行设置操作;最常用的如LCD的显示开/关、操作显存地址(行与列地址)的设置等。这些寄存器一般都在LCD模块的驱动控制器文档中有详细介绍。3.2.4 LCD驱动程序架构LCD12864驱动程序主要由LCD底层驱动和LCD功能函数两部分组成。用户在应用层直接使用功能函数即可。具体框架如图3-3所示。图 3-3 LCD驱动程序架构Fig 3-3 LCD Driver architectures3.3 俄罗斯方块游戏设计3.3.1 俄罗斯方块游戏功能简介俄罗斯方块游戏的规则很简单,当方块从屏幕上

    30、方落下来时,玩家控制方块的位置以及旋转方块,巧妙地安排布置达到充分利用屏幕空间的目的。每当屏幕的一整行被方块排满时,作为奖赏,整行从屏幕上消失,剩余的方块依次往下降一行。当方块堆积达到无法再落下方块的时候,游戏结束。本设计中游戏主要的功能点包括:(1) 每4个小方块可以组合成一组方块群,游戏共有7种方块群,每次随机产生一种;玩家使用向左、向右、快速向下这些按键控制方块的位置,旋转按键控制方块顺时针旋转。在主控制手柄上还有退出、暂停按钮,可以实现随时切换到启动时的状态和暂停游戏的功能。(2) 在本设计中,系统为玩家提供了背景音乐,玩家可以根据个人喜好开启或关闭音效。(3) 单人模式下,玩家使用主

    31、控制器进行操作。每消去一行,系统就给玩家加1分。在单人模式下,如果积分超过系统记录的最高积分,系统将更新最高积分。(4) 本设计的亮点是实现双人对战游戏,通过主控制器在菜单选项中选择双人模式,第二玩家可以通过副控制器对第二游戏界面进行操作。本游戏系统规定,双人对战游戏中积分可分为两个阶段。第一阶段是普通积分阶段,即双方玩家每消去一行,其相应积分表加1分;第二阶段是多积分阶段,即每消去三行才获得1个积分。双方先达到第二阶段末尾者,即可取胜。同时,该设计中还为双方玩家增加了道具功能,即当使用该功能时,可令对手当前移动图块消失,随机出下一个图块。当玩家一次性消去三行,就能获得一次道具功能,最多一次性累积2个道具。系统默认为每个玩家提供1个道具。这样不仅丰富了俄罗斯方块游戏的功能,而且使其更具趣味性。3.3.2 系统界面的设计(1) 菜单选项界面当玩家将本设计的作品上电启动后,系统首先在LCD显示器件上呈现一个动态的开机动画。然后,系统提供三个功能选项,即最高积分、游戏设置、开始游戏。其中,“游戏设置”选项包含了两级子菜单。一级菜单包括“模式选择”和“音效选择”。在这两个选项后面给出单字提示,以说明当前相应设置选项的状态。“模式选择”菜单包含的二级子菜单有“单人模式”和“双人模式”。“音效选择”菜单包含的


    注意事项

    本文(本科毕设论文基于51单片机的俄罗斯方块游戏.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开