1、 单片机课程设计单片机课程设计 俄罗斯方块俄罗斯方块 目录目录 摘要摘要 引言引言 1程序整体思路程序整体思路 28X8LED 模块显示原理模块显示原理 3硬件电路仿真图硬件电路仿真图 4图形显示图形显示 5消层算法消层算法 6旋转算法旋转算法 7实物焊接实物焊接 8心得体会心得体会 附录附录 程序代码程序代码 摘摘 要要 记得在很小的时候,有一种掌上游戏机,里面有一款游戏叫做俄罗斯方块, 那时的我们只是简单的按照游戏规则进行“堆积木” ,而其中的原理却很少有人 去思考,毕竟当时的我们都还很年幼。 基于单片机课程设计的机会, 我们这个小组将使用 51 单片机和 8x8led 的组 合,来实现比
2、较简单的俄罗斯方块设计。 此次设计初期是在 keil 和 proteus 联合仿真中进行,编程语言为 51 汇编, 后期是进行实物焊接。 论文描述了俄罗斯方块的主要功能函数的实现, 算法分析和实物焊接过程中 遇到的问题。 关键词:关键词:俄罗斯方块;算法;俄罗斯方块;算法; 8X8led8X8led; 引引 言言 游戏是人们活动中一项非常重要的内容, 有人认为如果哪一天人类对所有的 游戏都失去兴趣,恐怕世界的末日就要到了。电脑对游戏的贡献有目共睹,现在 摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的。 俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏, 它曾经造成的 轰
3、动与造成的经济价值可以说是游戏史上的一件大事。 这款游戏最初是由苏联的 游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。相信 大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。究其历 史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜 欢上它的。现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户 来说,它的规则简单,容易上手,且游戏过程变化无穷,而在“联众俄罗斯方块“ 中, 更有一些联众网络游戏所独有的魅力有单机作战与两人在线对战两种模 式,用户可任选一种进行游戏。网络模式还增加了积分制,使用户既能感受到游 戏中的乐趣,
4、也给用户提供了一个展现自己高超技艺的场所。 俄罗斯方块游戏可以说是随计算机的发展而发展, 并不断推陈出新演变出各 种类似游戏, 深受广大玩家喜爱。 这个游戏有的简单, 有的复杂, 但其根本原理 是一样的都是对运动的方块进行组合, 来训练玩家的反应能力。 本文利用单片机 进行俄罗斯方块设计,采用51汇编语言进行编程,基于汇编语言的原因是在编写 程序的过程中,对于程序的执行会有一个比较直观的表现。 1.1. 程序整体思路程序整体思路 单片机上的程序设计一般是一个大循环结构,对于俄罗斯方块的程序设计,首先产 生一个伪随机数,其范围是0-6,然后程序根据此数值所对应的图形模块装入ram的 固定区域内,紧接着将此图像写入led所对应的显示缓冲区中,显示程序将缓冲区 内的内容显示在led上,如果没有控制键按下,图形将自动向下移动。如果有键按 下,程序将根据按下的键来改变图形存储区的值,同时程序将判断图形是否已到达 边界,当图形最上层到达显示区顶部,则游戏结束,此时将清楚显示缓冲的内容, 游戏重新开始。 2 28x8led8x8led