毕业设计_基于单片机实现的俄罗斯方块游戏
- 格式:doc
- 大小:1.27 MB
- 文档页数:85
基于单片机实现的俄罗斯方块游戏MCU based Russia block game摘要本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。
本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。
单片机在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。
为了解决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需要处理的逻辑关系;还要理解LCD液晶的控制原理,来通过数据端口和控制端口来实现画面在液晶上面的显示。
程序则要求对外部电路了解的情况下完成自己所需要的功能,并将所要完成的功能用编程语言的形式来实现。
然后通过Protues仿真实现通过外部按键来控制各种不同图形的方块来玩游戏,并且实现记录分数和通过过关数来改变方块下降的速度。
最后将程序下载至AT89S52单片机并进行实际运行,实际运行表明,本设计可以实现基本的游戏功能,达到预期的目的。
关键词:AT89S52;C语言;Proteus仿真;LCD液晶ABSTRACTThis design is achieved through the AT89S52 microcontroller Tetris game design, programming using C language, and carried out by proteus simulation.The design to achieve the basic functions are: application buttons to control the box, change and movement; eliminate line and scoring; eliminate multi-line incentive points, the game ends when the box filled with basic functions such as Tetris. MCU in the application of handheld entertainment devices have great potential, it can be brought to a new stage. In order to solve the external circuit, we must fully understand the liquid crystal display method and external interface MCU features, and the need to address the logical relationship; also understand that the principle of LCD liquid crystal control to a data port and control port to achieve the above the LCD screen display.Program requires knowledge of the external circuit where they need to complete the function and the function to be completed in the form of programming language used to achieve. Simulation then protues buttons to control an external box to play a variety of graphical games, and achieve record number of scores and the relationship had to change the speed of the module down. Finally, the program downloaded to AT89S52 MCU and the actual operation, the actual operation indicate that this design can achieve basic game functions, to achieve the desired purpose.Key Words:AT89S52; C language; Proteus simulation; LCD liquid cryst目录1绪论 (1)1.1课题背景 (1)1.2电子游戏及其分类 (1)1.3电子游戏发展现状 (2)1.3.1电子游戏国外发展现状 (2)1.3.2电子游戏国内发展现状 (3)2整体设计方案 (5)2.1系统的核心部分单片机 (5)2.1.1单片机的选择 (5)2.1.2AT89S52引脚功能描述 (7)2.1.3晶振特性 (9)2.2液晶显示模块 (10)2.2.1液晶显示控制驱动器HD61202的特点 (10)2.2.2液晶显示控制驱动器HD61202的引脚功能 (10)2.2.3液晶显示控制驱动器HD61202的指令系统 (11)2.2.4HD61202的软件设计 (12)2.2.5JM12864J的电路结构特点 (15)2.2.6JM12864J的应用 (16)2.2.7键盘电路 (17)3系统程序的设计 (18)3.1俄罗斯方块驱动流程图 (18)3.2俄罗斯方块所有绘图工作流程图 (19)3.3俄罗斯方块中按下键的流程图 (20)3.4俄罗斯方块所有绘图工作流程图 (21)4系统仿真 (22)4.1Proteus软件介绍 (22)4.2Keil软件介绍 (22)4.3俄罗斯方块系统PROTUES仿真 (24)5实物的制作与调试 (26)5.1电路的焊接 (26)5.2系统性能测试与功能说明 (27)结论 (28)参考文献 (29)附录1:C语言程序 (30)致谢 (49)1绪论计算机系统的发展已明显地朝三个方向发展;这三个方向就是:巨型化,单片化,网络化。
摘要俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。
俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。
由于上手简单、老少皆宜,从而家喻户晓,风靡世界。
这次设计将使用52单片机和HD61202液晶显示控制驱动器和JM12864J液晶显示器组合,来实现比较简单的俄罗斯方块设计。
此次设计初期是在keil和proteus联合仿真中进行,编程语言为51汇编,后期是进行实物焊接。
论文描述了俄罗斯方块的主要功能函数的实现。
关键词:俄罗斯方块,算法,仿真AbstractTetris is a popular television game machine and game machine game, which Alexei Pajitnov invented by Russians, it was this name. Tetris are the basic rules of movement, rotation and display the game automatically output of the box, which are arranged into a complete one or more rows and eliminate scores. Due to use simple, ages, thus make known to every family, swept the world.Based on single chip computer of the curriculum design of opportunity, I will use the 51 single-chip microcomputer and HD61202 LCD control driver and JM12864J liquid crystal display combination, to carry out a more simple Russian square design.This design is in early keil and proteus joint simulation, programming language for 51 assembly, later is welding material.The paper describes the main functions of the Russian box function of the realization of.Keywords:Russian square, Algorithm, Simulation目录摘要 (1)Abstract (2)目录 (1)引言 (3)1整体设计方案 (4)1.1系统的核心部分单片机 (4)1.2液晶显示模块 (8)2系统程序的设计 (16)2.1俄罗斯方块驱动流程图 (16)2.2俄罗斯方块所有绘图工作流程图 (17)2.3俄罗斯方块中按下键的流程图 (18)2.4俄罗斯方块所有绘图工作流程图 (19)3系统仿真 (20)3.1 Proteus软件介绍 (20)3.2 Keil软件介绍 (20)3.3俄罗斯方块系统PROTUES仿真 (21)结论 (24)参考文献 (25)附录A 电路原理图 (26)附录B 主要程序 (28)附录C 英文资料和中文翻译 (45)结束语 (1)引言游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。
2019届毕业生 毕业设计说明书题 目: 基于单片机的可调速俄罗斯方块游戏设计院系名称:信息科学与工程学院专业班级: 电科1504 学生姓名: 刘贝贝 学 号: 201516030412 指导教师: 王胜轩 教师职称: 讲师2019年 6月 5日摘要在历史的长河中,游戏机的发展十分迅速,从上世纪五六十年代简单的街机投币式游戏机到现在大型网络竞技类网游,带动了一个娱乐行业崛起,创造了巨大的经济价值,因此对游戏的开发有着巨大的经济价值,对于基于单片机的可调速俄罗斯方块游戏设计,遵循传统的俄罗斯方块游戏规则,对整个游戏机部署硬件电路并且对游戏程序进行优化,移植,使得游戏程序完全适合单片机的硬件电路。
显示部分是用基于ST7920驱动器的液晶模块LCD12864,因此需要弄清楚LCD12864液晶显示屏的详细介绍以及ST7920驱动器的功能说明。
例如传统的俄罗斯方块游戏玩法,难度会随着消除行数的增加而增加,方块下落的速度也会随着难度的增加而增加给玩家提供激动刺激的游戏体验,在基于单片机的开发过程中,系统所需的功耗很低,用不到传统CRT 显示器,以及高电压供电,在编写游戏开发过程中可以直接进行在线调试。
硬件电路是主要以STC89C52单片机为核心,结合外部晶振电路提供工作时钟频率,通过矩阵键盘让玩家控制方块的移动、旋转、暂停和开始游戏,游戏程序主要是通过对数组的控制,在液晶屏上显示出游戏的画面,通过液晶显示画面,显示出砖块的移动和旋转。
关键词:STC89C52单片机;俄罗斯方块;12864液晶显示器;ST7920;C语言Title Tetris game based on single chip microcomputerAbstractIn the long river of history, the development of the game is very fast, from the fifties and sixties of the last century simple arcade coin-operated games consoles to large network competitive online now, led to a rise of the entertainment industry, adjustable speed tetris follow the traditional rules of tetris game, for the whole game deployment of hardware circuit and optimize the game program, transplantation, makes the game completely suitable for single chip microcomputer hardware circuit. Therefore, it is necessary to make clear the detailed introduction of the LCD screen of LCD12864 and the function description of the driver of ST7920. This system simulate the tetris game, the difficulty with eliminate increase with the increase of the number of rows, square falling speed will increase with the increase of the difficulty to the players also provide excited exciting game experience, and the design of the system power consumption is low, with less than the traditional CRT display. The design of hardware circuit is mainly STC89C52 single-chip microcomputer as the core, through the matrix keyboard for players to control block move, rotate, pause and start the game, the game is mainly through the control of the array, on the LCD screen shows a picture of the game, through the liquid crystal display screen, show the bricks of the move and rotate.Keywords: STC89C52; Tetris; 12864E LCD display; ST7920; C language目次1 绪论 (1)1.1 课题背景 (1)1.2 课题的研究目的及意义 (2)1.3 课题的总体要求及规划 (2)2 课题任务及系统整体设计方案 (3)2.1 主要任务 (3)2.2 系统整体设计方案 (3)3 系统硬件平台设计 (5)3.1 系统的核心模块单片机 (5)3.2 外部振荡电路 (5)3.3 液晶显示电路 (6)3.4 复位开关电路 (7)3.5 矩阵键盘电路 (8)4 系统软件平台开台 (9)4.1 系统软件开发环境 (9)4.2 游戏玩法及实现的主要思路 (9)4.3 游戏运行过程中重要程序和算法 (12)5 游戏的调试与仿真 (20)5.1 游戏程序的调试 (20)5.2 硬件电路的仿真 (20)5.3 实物验证及演示 (21)结论 (22)致谢 (23)参考文献 (24)附录A (25)附录B (26)1 绪论单片机诞生于上世纪70年代经历了SCM、MCU、SOC三大阶段,单片机是嵌入式系统发展过程中的一个阶段,随着微电子技术的发展、IC设计、EDA工具的发展,基于SOC的单片机也有了极大的发展[1],例如现在最大的SOC设计厂商美国高通公司,现在设计的SOC性能已经可以与几年前PC机的性能相抗衡,它有更低的功耗和优秀的性能体现这在几十年前是无法想象的。
基于51单片机的俄罗斯方块游戏代码实现主要包括以下几个方面:
1. 数据结构:使用数据结构来表示游戏中的各种元素,如方块、矩阵等。
2. 导航键控制:通过键盘扫描代码,获取用户输入的导航键(上下左右)信息,以便控制方块的移动。
3. 方块生成:随机生成新的方块,或者根据游戏规则生成特定的方块。
4. 方块移动:根据用户输入的导航键信息,移动当前方块的位置。
5. 方块旋转:根据用户输入的导航键信息,旋转当前方块的角度。
6. 碰撞检测:检测方块与游戏区域边界、其他方块之间的碰撞,以及方块自身的碰撞。
7. 游戏规则:实现游戏的基本规则,如方块消除、得分、游戏结束等。
8. 用户界面:显示游戏界面,包括方块、游戏区域边界、得分等信息。
9. 延时与中断:通过延时函数和中断函数,实现游戏的实时性,如方块自动下落、响应用户输入等。
10. 代码优化:对代码进行优化,提高游戏运行效率和用户体验。
总之,基于51单片机的俄罗斯方块游戏代码实现涉及到数据结构、键盘扫描、方块生成与移动、碰撞检测、游戏规则、用户界面、延时与中断等多个方面。
题目:[单片机俄罗斯方块设计]摘要随着社会的不断的发展和进步,人们对娱乐产品的关注在不断的增加,特别是电子游戏产品在我们的生活中占据了很重要的地位。
俄罗斯方块游戏是一款风靡全球的经典游戏。
这款游戏之所以叫做俄罗斯方块,是因为发明这款游戏的人是俄罗斯人。
本次为了回顾经典设计了一款基于单片机的俄罗斯方块游戏机。
本次设计了一款基于单片机的俄罗斯方块游戏机,该游戏机可以丰富我们的业余生活。
在硬件设计上该游戏机以STC89C52单片机为基础、使用LCD12864图形液晶可以显示游戏的界面、通过按键实现游戏机的按钮的功能、并具有蜂鸣器可以实现声音提示的功能。
在软件设计上,使用C语言进行了俄罗斯方块游戏的控制程序的编写,并在keil软件上进行了调试。
最后在Proteus仿真软件上对俄罗斯方块游戏的功能进行了仿真,并焊接了实物电路板。
关键词:STC89C52单片机;俄罗斯方块;游戏机;LCD12864液晶AbstractWith the continuous development and progress of society, people pay more and more attention to entertainment products, especially video game products play a very important role in our life. The Tetris game is a classic game that is popular all over the world. The game is called the Tetris, because the people who invented the game were Russian. This time in order to review the classic design of a single chip based Tetris block game machine.The design of a single chip computer based Tetris game machine, which can enrich our amateur life. On the hardware design, the game machine is based on STC89C52 microcontroller, and it can display the interface of the game by using LCD12864 graphic LCD, realize the button function of the game machine by button, and has the function of voice prompt by buzzer. In the software design, the control program of Tetris game is written in C language and debugged on the keil software. Finally, the function of the Tetris game is simulated on the Proteus simulation software, and the physical circuit board is welded.Keywords:STC89C52 singlechip;Tetris block;game machine;LCD12864 liquid crystal目录摘要 (I)Abstract........................................................... I I 第1章绪论.. (1)1.1课题研究背景和意义 (1)1.2俄罗斯方块的发展状况及趋势 (1)1.3课题研究的主要内容 (1)1.4课题研究的主要内容 (2)第2章系统整体方案设计 (4)2.1系统的功能要求 (4)2.2系统总体方案框图设计 (4)2.3单片机模块的选择 (5)2.4液晶显示模块的选择 (6)2.5按键电路的选择 (7)第3章系统整体硬件设计 (9)3.1单片机电路设计 (9)3.1.1STC89C52单片机介绍 (9)3.1.2晶振电路设计 (10)3.1.3复位电路设计 (10)3.1.4单片机最小系统电路设计 (11)3.2 LCD12864液晶显示电路 (11)3.2.1点阵LCD的显示原理 (11)3.2.2LCD12864液晶的硬件连接 (12)3.3按键控制电路 (12)3.4声音提示电路设计 (13)3.5电源电路 (13)第4章系统软件设计 (15)4.1程语言的选择 (15)4.2软件介绍和工程建立 (15)4.3俄罗斯方块流程图设计 (16)4.3.1主程序流程图 (16)4.3.2游戏外观显示流程图 (18)4.3.3俄罗斯方块向左/右移动工作流程图 (19)4.3.4俄罗斯方块中按下键的流程图 (20)第5章系统的调试与制作 (21)5.1 KEIL软件介绍 (21)5.2程序调试 (21)5.3 proteus仿真步骤 (22)5.4实物综合调试 (23)结论 (26)参考文献 (27)附录 (28)致谢.............................................. 错误!未定义书签。
基于51单片机俄罗斯方块游戏设计作者:左厚臣前言闲得无事,想用单片机和LCD12864写一个俄罗斯方块游戏,培养培养兴趣,丰富一下业余生活,同时也熟练熟练单片机应用。
然后整理一下过程,本文没有什么专业的流程图,系统框图,随手画的。
希望各位大神勿喷,本菜鸟就献丑了。
关键字:51单片机LCD12864 俄罗斯方块游戏设计一、实物写真1、先展示一下实物效果呗,看能不能吸引到各位大神的眼球!!!!2、单片机选型IO口占用:7个程序存储器占用:6459Byte内部RAM:117.0Byte内部扩展RAM:1016ByteFosc = 24Mhz(也可选择12Mhz)中断使用状况:16位定时器溢出中断1个手头有一块STC12C5A60S2 51系列单片机,本实验也采用的此款单片机,或许有大神能用很节省资源的方法写出这款游戏,本菜鸟甘拜下风。
二、游戏算法整个游戏的算法也就是这样子的吧!下面就对每个步骤进说明吧!三、算法说明算法就捡重点的说吧,省得各位大神都闲啰嗦。
1、当前随机方块获取和下一回合游戏方块生成并显示此步骤拆解成如下流程图所示:(1)随机数生成51单片机需要调用库函数来产生随机数,如下:#include <stdlib.h>//调用库函数的头文件函数rand ()会生成一个int型的随机数,int型变量范围为-32768~32767占用2 字节。
我们使用时其实是可以把它当做一个unsigned int型变量的,取值范围0-65535 这个应该是很好理解的。
但是如果我们需要一个0-7的随机数怎么处理呢,没关系有办法,程序如下:u8 Random(u8 max){u16 temp;u8 a;max = max +1;temp=rand();//获取随机种子a = temp%max;return a;}其实也就是把得到随机数与想要得到数范围的最大数求余运算就可以了,即:a = temp%max;我们的游戏方块可以描述成2个要素:A、形状比如说形状有:■■■■■■■■■等,可用0-n来表示B、姿态比如说形状■■■姿态有4种如下:■■■■■■■■■■■■它们从左往右看可以看出规律分别旋转了0°,90°,180°,270°,也分别相对旋转了90°,可以用0-3来表示。
基于单片机实现的俄罗斯方块游戏俄罗斯方块游戏是一款经典的益智游戏,其简单的操作和不断增加的难度吸引了许多玩家。
在本文中,我们将介绍如何使用单片机实现一个简单的俄罗斯方块游戏。
为了实现这个项目,我们需要以下材料:1. 单片机:例如STM32F103C8T6或Arduino UNO;2.LCD显示屏:用于显示游戏界面;3.按键:用于控制方块的移动和旋转;4.蜂鸣器:用于播放游戏音效。
首先,我们需要连接LCD显示屏和单片机。
根据LCD显示屏和单片机的引脚定义,将它们正确地连接起来。
接下来,我们需要编写单片机的程序。
首先,我们需要初始化LCD显示屏和按键等外设。
接下来,我们需要实现方块的绘制和移动功能。
为了实现这些功能,我们需要使用几个基本的数据结构,例如数组和变量来表示方块的位置和状态。
我们可以使用一个二维数组来表示游戏区域。
每个单元格可以是一个数字,表示该位置有方块或者空白。
使用一个变量来表示当前方块的位置和状态,包括方块的类型、位置和旋转角度。
游戏的逻辑如下:首先,我们需要生成一个新的方块,并将其放置在游戏区域的顶部。
接下来,玩家可以使用按键来控制方块的移动和旋转。
当方块到达底部或者无法继续移动时,它将固定在游戏区域中,并生成一个新的方块。
玩家可以通过移动和旋转方块来填满游戏区域的行,当一行填满时,它将被清除,并且玩家将得分。
游戏的目标是尽可能地填满更多的行,得到更高的分数。
在我们的程序中,我们需要实现方块的绘制和移动功能。
我们可以使用LCD显示屏来绘制方块,使用按键来控制方块的移动和旋转。
在每次移动方块之后,我们需要检查游戏区域是否存在被填满的行,并进行相应的清除和得分操作。
另外,我们可以在游戏中加入一些音效,例如当方块固定在游戏区域中或者当一行被清除时,播放相应的音效。
我们可以使用蜂鸣器来实现这些音效。
在编写完程序后,我们可以将程序烧录到单片机中,并将LCD显示屏和按键等外设连接好。
最后,我们可以开始游戏了!。
基于单片机的俄罗斯方块游戏系统的设计概述:俄罗斯方块是一款经典的益智游戏,玩家需要通过控制不同形状的方块,使其在游戏区域内堆叠成完整的水平行,一旦一行被填满,就会被消除,并获得分数。
本文将介绍一种基于单片机的俄罗斯方块游戏系统的设计方案。
硬件设计:1.单片机选择:选择合适的单片机作为游戏系统的核心控制器。
可以选用8051、STM32等单片机进行设计,并根据具体需求选择相应的型号。
2.显示屏幕:使用LCD显示屏或OLED屏幕作为游戏界面的显示设备。
屏幕大小可以根据实际需求确定,一般选择2.3英寸至3.5英寸之间的屏幕尺寸。
3.控制按钮:设计合适的按键布局,包括方向控制键(上、下、左、右)、旋转键和暂停键等。
4.音频装置:可以选择蜂鸣器或扬声器作为游戏中的音效设备,用于播放游戏中的音效和音乐。
软件设计:1.初始化设置:系统上电后,进行相关的初始化设置,包括显示屏的初始化、按键的设置、计分初始化等。
2.游戏界面设计:设计游戏界面,包括显示下一个方块、显示当前游戏区域、显示计分、显示游戏状态等。
3.方块的生成和掉落:设计方块的生成算法,并通过时间控制方块的自动下落。
4.方块的移动和旋转:根据玩家的控制信号,移动或旋转当前方块的位置。
设计合适的算法,判断玩家的操作是否合法。
5.碰撞检测:使用适当的算法,实现方块与游戏区域、已落下的方块之间的碰撞检测,判断方块是否可以继续下落或进行旋转。
6.行消除:判断游戏区域的每一行是否被填满,如果是,则将该行消除,并计分。
7.游戏结束判定:当方块堆叠到游戏区域的顶部时,游戏结束。
停止方块的下落,并显示游戏结束信息。
8.游戏暂停和继续:设计游戏暂停和继续的功能,玩家可以通过按下暂停键暂停游戏,并通过再次按下继续键继续游戏。
9.音效和音乐播放:设计合适的算法,实现游戏中的音效和音乐的播放功能。
总结:以上介绍了基于单片机的俄罗斯方块游戏系统的设计方案,包括硬件设计和软件设计两个方面。
摘要从十九世纪末到二十世纪五、六十年代,从内容单一的投币游戏机到科技发达的电子计算机游戏一个娱乐业革命也在酝酿之中。
本系统主要的是基于单片机的俄罗斯方块游戏,设计的主要部分有了解俄罗斯方块游戏的游戏规则、设计出整个系统的硬件结构并进行实物焊接、编写软件代码并进行调试。
由于显示部分是用基于KS0108内核的液晶模块FG12864E,所以需要弄清楚FG12864E液晶显示屏的详细介绍以及KS0108的指令集。
本系统模拟出的俄罗斯方块游戏,具有难度依次加大、速度依次加快、按键发声、系统低功耗、可实现在线调试等特点。
本系统是以单片机为其控制核心,以有源晶振构成的电路作为时钟信号,通过方向键的选择向单片机控制系统发出砖块移动控制命令,控制系统接收命令后做出一系列必要的判断后,控制砖块的移动和旋转。
然后通过对数组的控制,在液晶屏上显示出游戏的画面,通过液晶显示画面,显示出砖块的移动和旋转。
本设计已通过了硬件测试,系统运行稳定。
用本系统设计的硬件结构还可以运行其他对显示要求不大的小游戏,如贪吃蛇、推箱子、五子棋。
关键词:AT89S52单片机;俄罗斯方块;KS0108;FG12864E液晶显示;C语言AbstractFrom the 19th century to the twentieth century 1950s &1960s, from the content of the single slot game to advanced technology of computer games a revolution in the brewing industry.This system mainly based on single-chip microcomputer is the game tetris, design of the main parts of the game tetris know the rules of the game, the whole system design of the hardware structure and physical welding, write software code and debugging. As the display part of the kernel is based on KS0108 LCD module FG12864E, so it is necessary to clarify FG12864E LCD KS0108 details and instruction set. The system simulates the Tetris game, with the increasing order of difficulty, speed, turn speed up, key voice, low-power system can be realized online debugging and so on. The system is based on the core of its control MCU to active crystal form of the circuit as a clock signal, through the choice of keys issued to the microcomputer control system blocks move control command, the control system receives a command to make the necessary judgments , the control blocks the movement and rotation. Then through an array of control, the LCD screen shows the game screen, through the liquid crystal display screen, showing the movement and rotation blocks. This design has already passed the test of the operation of the system, hardware. In this system, the design of hardware structure can run on display are required in other games, such as the Snake, Boxy Pocket, backgammonKey Words:AT89S52 SCM; Russian square; KS0108; FG12864E LCD display;C language目录1 引言 (1)2 课题任务及方案论证 (2)2.1主要任务 (2)2.2 方案论证 (2)2.2.1 主控制器的选择 (2)2.2.2 液晶屏的选择 (4)3 系统的硬件组成及接口介绍 (6)3.1电源部分 (6)3.2单片机部分 (7)3.2.1 AT89S52单片机的介绍 (7)3.2.2复位电路 (7)3.2.3 晶振电路 (8)3.3液晶显示芯片与单片机接口电路 (9)3.4控键、蜂鸣器与单片机接口电路 (9)4 软件部分设计及调试 (10)4.1 C语言程序设计 (10)4.1.1 C语言简介 (10)4.1.2 C语言特点 (10)4.2游戏运行方式 (11)4.2.1游戏规则介绍 (11)4.2.2流程图 (11)4.3部分子程序 (13)4.3.1液晶屏初始化函数 (13)4.3.2液晶屏写指令和写数据函数 (13)4.3.3方块生成函数 (14)4.3.4移动和旋转函数 (15)4.4程序调试过程 (16)4.4.1电路检测 (16)4.4.2调试步骤 (16)4.4.3调试遇到的问题及解决方案 (16)5程序调试和仿真软件 (17)5.1 Keil2介绍及编程 (17)5.1.1软件介绍 (17)5.1.2软件应用 (17)5.2 Proteus介绍及应用 (18)5.2.1软件介绍 (18)5.2.2软件应用 (19)总结 (20)参考文献 (21)附录1 总电路图 (22)附录2 系统程序 (23)致谢 .................................................................................................... 错误!未定义书签。
信息与电子工程学院题目:俄罗斯方块班级: 12应用电子技术3班材料包括仿真图、PCB、软件、制作图片等学习可留言时间: 2014-6-25目录一摘要 (1)二设计内容与要求 (1)2.1 内容 (1)2.2 要求 (1)三硬件设计说明 (1)3.1 STC89C52芯片 (1)3.1.1芯片简介 (1)3.1.2 电路应用 (2)3.1.3 主要性能参数 (2)3.1.4 功能概述 (2)3.1.5 引脚功能 (2)3.2 74HC573芯片 (4)3.2.1 芯片简介 (4)3.2.2 电路应用 (4)3.2.3 主要性能参数 (4)3.2.4 功能概述 (4)3.2.5 引脚功能 (4)3.3 74HC154芯片 (6)3.3.1 芯片简介 (6)3.3.2 电路应用 (6)3.3.3 主要性能参数 (6)3.3.4 功能概述 (6)3.3.5 引脚功能 (6)四工作原理 (8)4.1系统总体框图 (8)4.2端口去向表 (8)4.3硬件工作原理 (9)4.3.1最小系统模块工作原理 (9)4.3.2数码显示模块 (9)4.3.3点阵驱动模块 (10)4.3.4按键控制模块 (11)4.4软件工作原理 (11)五调试过程 (14)六总结 (15)附录Ⅰ原理图 (16)附录ⅡPCB图 (17)附录Ⅲ实物图 (18)附录ⅣBOM表 (20)附录Ⅴ仪器型号 (21)参考文献 (22)一摘要在这个信息时代,计算机已经离不开我们的生活,适当的游戏可以带来愉快的心情和健康,俄罗斯方块这个小游戏已经风靡全球,是一款老少皆宜的游戏。
二设计内容与要求2.1 内容我组俄罗斯方块共使用了STC89C52、74HC154和74HC573,三个芯片的共同使用,加上两个8*8的点阵屏来完成硬件的操作。
其中共使用6个按键进行功能的操作,每个按键的功能依程序而定分别有:复位、向上、向下、向左、向右和暂停/开始。
2.2 要求1.了解集成芯片的作用STC89C52、74HC154和74HC573及引脚功能;掌握电路的接线方式,记下每个按键的功能。
开题报告基于单片机的俄罗斯方块游戏系统的设计毕业设计开题报告题目基于单片机的俄罗斯方块游戏系统的设计一、本课题的研究背景俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。
这款游戏最初是由苏联的游戏制作人制作的,它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。
现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。
对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在"联众俄罗斯方块"中,更有一些联众网络游戏所独有的魅力――有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。
网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。
俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏, 深受广大玩家喜爱。
这个游戏有的简单, 有的复杂, 但其根本原理是一样的都是对运动的方块进行组合, 来训练玩家的反应能力。
本文利用单片机进行俄罗斯方块设计,采用51汇编语言进行编程,基于汇编语言的原因是在编写程序的过程中,对于程序的执行会有一个比较直观的表现。
二、国内外研究现状1984年6月.俄罗斯科学院的数学家帕基特诺夫在空闲时编出了一个游戏程序.用来测试计算机的性能。
帕基特诺夫从拼图游戏里得到灵感,设计出了俄罗斯方块。
最早的俄罗斯方块背景颜色图案单一,发展到今天,各种版本的画面变得多姿多彩。
虽最初版本没有积分和通关,但帕基特诺夫仍然玩上了瘾。
这样一种看来粗糙的游戏.却在当年迅速受到欢迎。
1988年,罗杰斯在美国的一个展览上看到了俄罗斯方块。
觉得非常好玩,并从中立刻嗅到了巨大商机。
他先与日本游戏厂商任天堂达成口头协议。
然后出发前往莫斯科与莫斯科科学院谈判,最终罗杰斯于1989年代表任天堂取得了俄罗斯方块在家用机上的授权。
毕业设计开题报告基于单片机实现的俄罗斯方块游戏系别:班级:学生姓名:指导教师:2014年 12月 18日开题报告填写要求1.开题报告作为毕业设计答辩委员会对学生答辩资格审查的依据材料之一,应在指导教师指导下,由学生在毕业设计工作前期完成,经指导教师签署意见、专家组及系主任审查后生效;2.开题报告必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴;3.毕业设计的开题报告应包括以下内容:(1)主要技术指标;(2)工作思路;(3)课题的准备情况及进度计划;(4)参考文献。
4.开题报告的撰写应符合科技文献规范,且不少于2000字;参考文献应不少于15篇,包括中外文科技期刊、教科书、专著等。
5.开题报告正文字体采用宋体小四号,1.5倍行距。
附页为A4纸型,左边距3cm,右边距2cm,上下边距为2.5cm,字体采用宋体小四号,1.5倍行距。
6.“课题性质”一栏:理工类:A.理论研究B.应用研究C工程设计D.软件开发E.其它经管文教类:A.理论研究B.应用研究C.实证研究D.艺术创作E.其它“课题来源”一栏:A.科研立项B.社会生产实践C.教师自拟D.学生自选“成果形式”一栏:A.论文B.设计说明书C.实物D.软件E.作品毕业设计开题报告附页:开题报告一、设计的目的与意义俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,作为最经典的游戏之一,它曾造成的轰动与经济价值可以说是游戏史上的一件大事。
这款游戏最初是由苏联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
虽然用单片机来设计一个简单的俄罗斯方块游戏程序似乎有点大材小用了,但这仅仅是一个单片机在嵌入式游戏方面的简单应用,正因为他的前景无可预计,所以才有这个设计,此次设计仅仅是为了举一个单片机在游戏上应用的一个简单例子,他可以很好的说明单片机功能的强大,更高的可控性和集成度高的好处,因此他可以在电子游戏方面成为一个不可计量的明日之星。
二、工作思路1.实现的功能:俄罗斯方块游戏规则的实现2.特点:采用单片机实现具有便携性与易用性三、计划进度四、参考文献[1] 张齐.杜群贵.单片机应用系统设计技术——基于C语言编程[M].北京:电子工业出版社,2004.[2] Apress. Introduction to Visual Basic Programming [M].Professional Computing and Web Design, 2006.[3] 杨元强。
酷比杯获奖作品选登《LEGO 俄罗斯》[J]。
“酷比杯”游戏策划大赛,2007.[4] 周润景著.Proteus在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2006.[5] 游安弼, 李玉岐. 基于JavaBean组件模型的俄罗斯方块[R]. 北京:全国第四届Java技术及应用学术会议,2001.[6] Jason Lam.J2ME&Gaming[M]. Addison Wesley,2004.[7] 高凌琴,陈青华. 俄罗斯方块游戏关键技术探讨[J]. 信息技术与信息化.2008.[8] 荣钦科技编著,《Java 2 游戏设计》[M].北京:清华大学出版社,2004.[9] 陈立伟,张克非,黎秀红著. 精通JAVA手机游戏与应用程序设计[M].北京:中国青年出版社, 2005-5.[10]谭浩强. C程序设计.[M] 北京:清华大学出版社,2003.基于单片机实现的俄罗斯方块游戏MCU based Russia block game摘要本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。
本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。
单片机在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。
为了解决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需要处理的逻辑关系;还要理解LCD液晶的控制原理,来通过数据端口和控制端口来实现画面在液晶上面的显示。
程序则要求对外部电路了解的情况下完成自己所需要的功能,并将所要完成的功能用编程语言的形式来实现。
然后通过Protues仿真实现通过外部按键来控制各种不同图形的方块来玩游戏,并且实现记录分数和通过过关数来改变方块下降的速度。
最后将程序下载至AT89S52单片机并进行实际运行,实际运行表明,本设计可以实现基本的游戏功能,达到预期的目的。
关键词:AT89S52;C语言;Proteus仿真;LCD液晶ABSTRACTThis design is achieved through the AT89S52 microcontroller Tetris game design, programming using C language, and carried out by proteus simulation.The design to achieve the basic functions are: application buttons to control the box, change and movement; eliminate line and scoring; eliminate multi-line incentive points, the game ends when the box filled with basic functions such as Tetris. MCU in the application of handheld entertainment devices have great potential, it can be brought to a new stage. In order to solve the external circuit, we must fully understand the liquid crystal display method and external interface MCU features, and the need to address the logical relationship; also understand that the principle of LCD liquid crystal control to a data port and control port to achieve the above the LCD screen display.Program requires knowledge of the external circuit where they need to complete the function and the function to be completed in the form of programming language used to achieve. Simulation then protues buttons to control an external box to play a variety of graphical games, and achieve record number of scores and the relationship had to change the speed of the module down. Finally, the program downloaded to AT89S52 MCU and the actual operation, the actual operation indicate that this design can achieve basic game functions, to achieve the desired purpose.Key Words:AT89S52; C language; Proteus simulation; LCD liquid cryst目录1绪论 (1)1.1课题背景 (1)1.2电子游戏及其分类 (1)1.3电子游戏发展现状 (2)1.3.1电子游戏国外发展现状 (2)1.3.2电子游戏国内发展现状 (3)2整体设计方案 (5)2.1系统的核心部分单片机 (5)2.1.1单片机的选择 (5)2.1.2AT89S52引脚功能描述 (7)2.1.3晶振特性 (9)2.2液晶显示模块 (10)2.2.1液晶显示控制驱动器HD61202的特点 (10)2.2.2液晶显示控制驱动器HD61202的引脚功能 (10)2.2.3液晶显示控制驱动器HD61202的指令系统 (11)2.2.4HD61202的软件设计 (12)2.2.5JM12864J的电路结构特点 (15)2.2.6JM12864J的应用 (16)2.2.7键盘电路 (17)3系统程序的设计 (18)3.1俄罗斯方块驱动流程图 (18)3.2俄罗斯方块所有绘图工作流程图 (19)3.3俄罗斯方块中按下键的流程图 (20)3.4俄罗斯方块所有绘图工作流程图 (21)4系统仿真 (22)4.1PROTUES软件介绍 (22)4.2Keil软件介绍 (22)4.3俄罗斯方块系统PROTUES仿真 (24)5实物的制作与调试 (26)5.1电路的焊接 (26)5.2系统性能测试与功能说明 (27)结论 (28)参考文献 (29)附录1:C语言程序 (30)附录2:电路原理图 (59)附录3:英文资料及中文翻译 (60)致谢 (76)1绪论计算机系统的发展已明显地朝三个方向发展;这三个方向就是:巨型化,单片化,网络化。
以解决复杂系统计算和高速数据处理的仍然是巨型机在起作用,故而,巨型机在目前在朝高速及处理能力的方向努力。
单片机在出现时,Intel公司就给其单片机取名为嵌入式微控制器(embedded microcontroller)。
单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。
这一点是巨型机和网络不可能做到的。
单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D转换器,D /A转换器,串行通信接口,Watchdog电路,LCD控制器等。
1.1课题背景俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,作为最经典的游戏之一,它曾造成的轰动与经济价值可以说是游戏史上的一件大事。