1、基于单片机实现的俄罗斯方块游戏MCU based Russia block game摘 要本设计是通过 AT89S52 单片机来实现俄罗斯方块游戏的设计,使用 C 语言进行编程,并通过 Proteus 来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。单片机在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。为了解决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需要处理的逻辑关系;还要理解 LCD 液晶的控制原理,来通过数据端口和控制端口来实现画面在液晶上
2、面的显示。程序则要求对外部电路了解的情况下完成自己所需要的功能,并将所要完成的功能用编程语言的形式来实现。然后通过 Protues 仿真实现通过外部按键来控制各种不同图形的方块来玩游戏,并且实现记录分数和通过过关数来改变方块下降的速度。最后将程序下载至 AT89S52 单片机并进行实际运行,实际运行表明,本设计可以实现基本的游戏功能,达到预期的目的。关键词:AT89S52;C 语言;Proteus 仿真;LCD 液晶ABSTRACTThis design is achieved through the AT89S52 microcontroller Tetris game design, pr
3、ogramming 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 suc
4、h 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 re
5、lationship; 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 progra
6、mming 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 operatio
7、n, 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 crystI目 录1 绪 论 .11.1 课题背景 .11.2 电子游戏及其分类 .11.3 电子游戏发展现状 .21.3.1 电子游戏国外发展现状 .21.3.2 电子游戏国内发展现状 .32 整体设计方案 .52.1 系统的核心部分单片机
8、.52.1.1 单片机的选择 .52.1.2 AT89S52 引脚功能描述 .72.1.3 晶振特性 .92.2 液晶显示模块 .102.2.1 液晶显示控制驱动器 HD61202 的特点 .102.2.2 液晶显示控制驱动器 HD61202 的引脚功能 .102.2.3 液晶显示控制驱动器 HD61202 的指令系统 .112.2.4 HD61202 的软件设计 .122.2.5 JM12864J 的电路结构特点 .152.2.6 JM12864J 的应用 .162.2.7 键盘电路 .173 系统程序的设计 .183.1 俄罗斯方块驱动流程图 .183.2 俄罗斯方块所有绘图工作流程图 .
9、193.3 俄罗斯方块中按下键的流程图 .203.4 俄罗斯方块所有绘图工作流程图 .214 系统仿真 .224.1 PROTUES 软件介绍 .224.2 Keil 软件介绍 .22II4.3 俄罗斯方块系统 PROTUES 仿真 .245 实物的制作与调试 .265.1 电路的焊接 .265.2 系统性能测试与功能说明 .27结 论 .28参考文献 .29附录 1:C 语言程序 .30附录 2:电路原理图 .59附录 3:英文资料及中文翻译 .60致 谢 .7611 绪 论计算机系统的发展已明显地朝三个方向发展;这三个方向就是:巨型化,单片化,网络化。以解决复杂系统计算和高速数据处理的仍然
10、是巨型机在起作用,故而,巨型机在目前在朝高速及处理能力的方向努力。单片机在出现时,Intel 公司就给其单片机取名为嵌入式微控制器(embedded microcontroller)。单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D 转换器,D /A 转换器,串行通信接口,Watchdog 电路,LCD 控制器等。1.1 课题背景俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,作为最经典的游戏之一,它曾造成的轰动与经济价值可以说是游戏史上的一件大事。这款游戏
11、最初是由苏联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。虽然用单片机来设计一个简单的俄罗斯方块游戏程序似乎有点大材小用了,但这仅仅是一个单片机在嵌入式游戏方面的简单应用,正因为他的前景无可预计,所以才有这个设计,此次设计仅仅是为了举一个单片机在游戏上应用的一个简单例子,他可以很好的说明单片机功能的强大,更高的可控性和高集成度的好处,因此它可以在电子游戏方面成为一个不可计量的明日之星。2005 年,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展,加上 3C(计算机、通讯
12、、消费电子)产业的加速融合及 3G 移动通信时代的逐步到来,嵌入式软件在国民经济各领域和日常生活中发挥了更加重要的作用。嵌入式软件的发展为几乎所有的电子设备注入了新的活力,各种装备与设备上嵌入式系统软件的广泛应用也大大地推动了其行业渗透性应用。嵌入式软件不仅提高了传统产品的技术含量,更成为产品增值的关键因素,在整个软件产业中占据了重要地位,并受到世界各国的广泛关注,如今已成为信息产业中最为耀眼的“明星”之一。1.2 电子游戏及其分类电子游戏,也就是运行在家用电脑、家用电子游戏机或是掌中宝游戏机及街机上的电子游戏程序。电子游戏是一种结合剧情故事、美术、音乐、动画、程序等技2术于一身的互动型娱乐软
13、件,涉及到多个行业。 从电子游戏的分类来看,有着多种分类方式。传统的游戏分类是按照游戏类型,将其分为即时战略游戏、第一人称射击游戏、角色扮演游戏、策略型游戏等类别。根据游戏运行平台的不同,可将电子游戏分为游戏机游戏、单机版 PC 游戏、互动电视游戏、在线游戏和手机游戏。此外,韩国政府将电子游戏业分为家用游戏机游戏、单机版 PC 游戏、网络游戏和街机游戏四大类。考虑到中韩游戏业比较接近,论文采用韩国的分类标准。“网络游戏”也就是人们一般所指的“在线游戏”,是指通过互联网进行的电脑游戏,通过人与人之间的互动达到交流、娱乐和休闲的目的。在互联网(局域网)技术出现之前,电子游戏都可以归于单机版游戏,即
14、“人机对战”游戏,或最多是双人对战游戏。而随着互联网技术的出现,通过连接游戏服务器,上百、上千、乃至上万的游戏玩家同时连线娱乐成为了现实,这就大大增加了游戏的互动性、真实性,丰富了电子游戏的内涵。从网络游戏的分类来看,目前业界还没有一个比较统一规范的分类。随着计算机设备和网络技术的发展,电子游戏在全球得到了迅猛的发展,取得了巨大的成功,已成为当今世界上不可缺少的精神粮食。1.3 电子游戏发展现状1.3.1 电子游戏国外发展现状电子游戏是最初产生于美国,1971 年,一个还在 MIT 就读的学生设计了世界上第一个业务用游戏机,这个街机游戏的名字叫电脑空间。可以说时至今日,电子游戏仍然是外国的天下
15、。美国至今仍是世界第一大游戏市场,它遵循的是以发行商为主的产业开发链模式,根据美国市场调查公司 NPD Group 调查统计,美国 2004 年游戏总销售金额(包括家用、掌上型主机及软件)为 99 亿美元,占了全球游戏市场的 45%。其中游戏软件销售的具体数字是:视频游戏软件的销售额达 52 亿美元(1.6 亿套),PC 游戏软件销售额达 11 亿美元(4500 万套),掌机游戏销售额达 10 亿美元(4230 万套)。2004年一共大约有 2.48 亿套游戏售出。据估计,美国每个家庭平均购买过 2 部游戏。日本近 20 年来疯狂赚电子游戏的钱。从上世纪 60 年代初的街机,到六七十年代之间的
16、家用游戏机,再到八九十年代的掌上游戏机,日本经过 30 多年的耕耘,终于把电子游戏这棵“摇钱树”,培育成第一时尚娱乐产业,垄断全球业界长达 10 余年。对于日本来说,电玩业已是国家经济的重要支柱之一,在 GDP 中占有 1/5 的举足轻重地位。日本游戏业在最辉煌的 1998 年,曾经占领全球电子游戏市场硬件 90%以上,软件 50以上。韩国号称世界上网络游戏产业最发达国家之一。迄今为止,国内网络游戏市场3有超过 60%的产品来自韩国游戏软件开发商,韩国网络游戏使国内很多游戏运营公司在游戏营销市场或股票资本市场上获得了巨大的成功。 韩国游戏市场的发展不是偶然,韩国政府不仅给游戏产业以正确的定位和
17、引导,更是将其和本国经济发展紧密地联系到一起,做了很多市场培育方面的工作。韩国政府认识到,靠重型工业来支撑全国经济的做法是片面的,于是将 IT、娱乐产业视为新的经济增长点,开始大力扶持。从那时起,科技含量极高而能源消耗极低的游戏制作及相关产业担负起了“富国兴邦”的重担。由文化观光部出面组建韩国游戏支援中心,向韩国游戏产业提供从资金到技术上的多方面支援;成立游戏投资联盟,政府每年向游戏产业投入的资金多达 500 亿韩元,并为游戏企业提供长期的低息贷款;设立信息化基金和文化产业基金,为游戏产业服务;对指定的风险企业实行各种税制优惠政策,减少甚至免除游戏企业的税务负担;建设游戏产业基地以扶持中小游戏
18、企业的发展;对从事游戏产业的高科技人才免除两年的兵役。在韩国,从制作到运营,一个网络游戏公司起步门槛较低,主要得益于政府实行的援助计划。此外,在有利的政策形势下,韩国出现了众多的游戏院校,一些原本不涉足此领域的大学也开设了游戏相关专业课程,以大力培养游戏专业人才,从而为游戏生产提供了基础保障。1.3.2 电子游戏国内发展现状与电子游戏发达的国家相比,我国在电子游戏方面还存在比较大的差距。目前,我国游戏市场正处于发展阶段,但市场上的游戏软件主要来自日本、美国、韩国等地,但由本土游戏制作人开发创作的游戏正在高速增加,国产原创的游戏即将成为游戏的主流。中国的游戏产业经过 80 年代初期台湾厂商的探索
19、至 90 年代,开始了自己的研发、发行的历程,直至网络游戏的风行,让中国的网络游戏开始有了飞速的发展。 1983 年,智冠科技有限公司在中国台湾成立,为全球第一家签订授权重制中文版产品代理销售合约的公司,2000 年智冠在台湾股票上市, 2002 年其控股的中华网龙在台湾上市。1996 年底,UBI SOFT 上海分公司暨上海育碧电脑软件有限公司成立。同年,全球游戏软件领军企业 EA 在中国上海成立办事处。1997 年,由尚洋公司制作的血狮正式上市。 1997 年,北京新天地互动多媒体技术有限公司成立,该公司引进了古墓丽影 III(TombRaider III)、盟军敢死队等著名欧美游戏,并在
20、1999 年在中国率先掀起“游戏软件价格革命”,全面推行 50 元的价格体系,从此正版游戏价格开始贴近大众消费者。 1999 年,业内估算中国电脑游戏市场(正版)约 1.5 亿元人民币。 2000 年,大陆华彩软件代理发行第一款中文 MMORPG万王之王正式推出,该游戏于 1999 年在台湾发行,由台湾雷爵资讯(Lager)开发。也在42000 年,继万王之王、石器时代、网络三国在台湾上市之后,游戏桔子推出了天堂,游戏桔子成立于 1995 年,1999 年以便利店在台湾奠定了地位。天堂这款由韩国著名游戏公司 Ncsoft 研发的网络游戏不但在本国大获成功,也在台湾再次夺冠。 2001 年初,北
21、京华义在中国大陆地区正式推出了石器时代,华义国际股份有限公司于 1993 年在台北成立,2001 年在台湾股票上市。石器时代成为大陆当时最流行的网络游戏。2001 年,天人互动软件技术有限公司在北京成立。当年与 SEGA 结成 PC 游戏业务的战略合作关系,发行了樱花大战文明无冬之夜等经典游戏。 2001 年 5 月,“联众世界”经过 3 年多的迅速成长,以同时在线 17 万人、注册用户约 1800 万的规模,成为当时世界用户数量第一的在线游戏网站。2001 年 11 月,上海盛大代理的传奇正式上市,这代表着中国网络游戏的第一个巅峰,同时也引发了众多的非议。2003 年 9 月 25日,魔兽世
22、界被九城、新加坡电信、搜狐和英特尔联手拿下,并凭借其优秀的品质赢得了广大玩家的青睐。天津职业技术师范大学 2010 届本科生毕业设计52 整体设计方案2.1 系统的核心部分单片机2.1.1 单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的
23、各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能
24、,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机经过 3 代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强 I/O 功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1多功能 单片机中尽可能地把所需要的存储器和 I/O 口都集成在一块芯片上,使得单片机可以实现更多的功能。比如 A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速 I/O 口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以 51
25、内核为核心,集成了 USB 控制器、SMART CARD 接口、MP3 解码器、CAN 或者 I*I*C 总线控制器等,LED、LCD 或 VFD 显示驱动器也开始集成在 8 位单片机中。天津职业技术师范大学 2010 届本科生毕业设计62高效率和高性能为了提高执行速度和执行效率,单片机开始使用 RISC、流水线和 DSP 的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内 ROM(FLASH)和 RAM 的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言
26、(如 C 语言)来开发单片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于 CMOS 等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V 或 0.9V),功耗已经降低到 uA 级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。在此,我们采用型号为 AT89S52 的单片机。因为: AT89S52 是
27、一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33MH、三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源 、全双工
28、UART串行通道、低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52单片机有PDIP、PLCC、TQFP三种封装方式,在此我选用DPIP也就是双列直插封装的单片机此种封装有如下特点:1. 适合PCB的穿孔安装;