一.硬件方案

本设计采用STC89C52RC单片机作为系统的芯片,实现人机交互、娱乐等功能。选用LCD12864实现俄罗斯方块游戏界面、图形显示;选用独立按键实现游戏控制。本设计实现的基本功能是:用按键控制目标方块的变换与移动;消除一行并计分,方块堆满时结束游戏等俄罗斯方块的基本功能。


硬件主要由51单片机+最小系统电路+按键电路+12864液晶显示电路设计而成。

在这里插入图片描述

二.设计功能

(1)主控芯片基于STC89C51/52(与AT89S51/52、AT89C51/52通用)单片机;

(2)采用LCD12864液晶显示屏

(3)共有7个按键,除复位按键外,其余六个按键分别为:左移、右移、变形、下降、暂停、确定;

(4)设计有0~9个关卡,达到一定分数自动升级;


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


void main()

{

LCD_initialize();

LCD_clear();

while(1)

{

game_start_show();

select_speed();

game_initialize();//调用游戏初始化函数,初始化游戏所有变量以及在液晶屏上显示基本的信息

Tetris_main();

game_over_show();

}

}

//定时器0中断服务

void timer0() interrupt 1

{

TH0=0x00;

TL0=0x00;

if(time0_reg<10)

{   

time0_reg++;

}

else

{

time0_reg=0;

if(pause_game_flag==0)

{

game_execute();

refurbish_display();

}

}

}

关键字:51单片机  俄罗斯方块  LCD12864 引用地址:基于51单片机的俄罗斯方块

上一篇:基于51单片机的交通灯设计
下一篇:基于单片机的直流电机控制PWM调速代码

推荐阅读

16日上午,机器人未来城在沈阳市浑南区奠基。它将通过产学研协同机制,推动区域科技竞争力的快速提升集聚,助推沈阳产业结构升级。沈阳市政府相关负责人表示,机器人未来城的投建是沈阳市经济产业结构调整的有力支点,是新的产业格局的重要组成元素。未来,随着项目推进,机器人未来城将成为集“产、学、研、孵、创、投”于一体的新型协同创新平台。 ...
咦,这是什么?好像冻住的烟。这不是烟,而是一种固体,确切的说是世界上最轻的固体——气凝胶。气凝胶是什么?首先我们来认识下“凝胶”。一定浓度的高分子溶液或溶胶,在适当条件下,粘度逐渐增大,最后失去流动性,整个体系变成一种外观均匀,并保持一定形态的弹性半固体,这种弹性半固体称为凝胶。果冻是最早被科学家们认识的一种凝胶,这种凝胶是被水...
今日闻泰科技官方微博发布信息称,闻泰科技印度二期456亩制造中心已于昨日正式开工,预计2021年3月完成建设并投产,将成为闻泰在全球最大的生产基地,大幅缓解海外交付压力。据闻泰科技介绍,闻泰科技印度一期和二期制造中心项目位于安得拉邦。2019年7月,印度制造中心一期投产,包括PCBA和整机组包产线,二期除大规模扩充PCBA和整机组包产能外,还增加了...
1、准备标准库函数文件,官方的标准库函数为stsw-stm8069,解压后如下图:2、新建一个文件夹,本例子命名为stm8-project,新建四个子文件夹,分别命名为APP、Readme、USER、STM8S_StdPerph_Driver:3、从库函数例程以下目录拷贝文件inc和src两个文件夹以及内容至STM8S_StdPerph_Driver目录。4、从库函数例程以下目录拷贝文件main.c、stm8s_conf.h、stm8s_i...

史海拾趣

问答坊 | AI 解惑

液晶显示系统

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 采用SONY公司的液晶显示芯片时用什么样的软件进行调试呢 …

查看全部问答∨

关于控制板电源的控制

控制板的电源要求,板子上电时先给单片机供电,再给其他的元器件供电,以便各个部件在单片机的控制范围内。板子断电时先断其他元器件的电源,再给单片机断电。大家讨论下控制的方式………

查看全部问答∨

光电耦合器及其应用电路图(转)

电耦合器,是近几年发展起来的一种半导体光电器件,由于它具有体积小、寿命长、抗干扰能力强、工作温度宽及无触点输入与输出在电气上完全隔离等特点,被广泛地应用在电子技术领域及工业自动控制领域中,它可以代替继电器、变压器、斩波器等,而用于 ...…

查看全部问答∨

Mini2440中的中断调试问题

  我对Mini2440的中断感到非常困惑,我在LPC2103上中断几乎没什么问题。但是在Mini2440调试我都捕捉不到。最感到困惑的是假如我的开发板是内存地址0x30000000到0x40000000吧,那么这个指令mov r1,#0xffffffff和str r1,[r0]应该是会发生数 ...…

查看全部问答∨

请教:拔号连接、断开连接的代码在哪里?

我的平台上连着USB 3G上网卡,想达到这样的效果: 1. 点击“我的连接”时,就启动USB电源;稍等一会点“连接”就可以拔号了 2. 点“断开连接”时,就断开USB电源 不知修改哪里的代码,电源的控制很简单,设置一个使能引脚而已…

查看全部问答∨

谁用过samsung 6410中的2D、JPEG加速?

我现在用的AU1250,现在读取大的图片和显示都比较慢,例如一张800*480的jpeg图片,读取图片大约150毫秒左右,显示图片在130-240毫秒左右。 在网上查的Samsung 6410有2D加速和jpeg硬加速,不知道能快多少啊?…

查看全部问答∨

分享:关于IImage的图片显示(闪屏的处理)

之前发过帖子询问关于绘制窗口时的问题, A,B窗口互相独立,B弹出时会覆盖A,B隐藏时覆盖A的部分会刷白,之后在网上查询过资料后找到了解决的问题。 因为A,B窗口都是贴了PNG的图片,PNG用PS修饰之后可以显示透明的效果,于是就用了IImage绘制。 ...…

查看全部问答∨

如何gprs点对点通讯?

我想试一下2个gprs模块的点对点通讯,但是连不通,2个模块拨通后都是10.14.x.x  ip地址,为什么连不通?? 有人说是移动认为阻断了内网之间的ip连接。但是也没有查到较权威的说法?? 现在有的公司的gprs dtu产品提供点对点的通讯模式 ...…

查看全部问答∨

jffs2文件系统诡异的问题

我用的是arm+linux 文件系统是用busybox制作的,再用mkfs.jffs2做成jffs文件系统; 但是现在出了个怪问题是:总的flash只有16M,分给boot和kernel 3M,还剩下13M;问题来了,我用du命令查看文件夹的大小,结果是已经有两个文件夹的大小分别是8.1M ...…

查看全部问答∨

版主,请教一个外口断的问题。

我用的是(STM32F103R8) PC12作下降沿触发,外部输入的时序如下图: 下载 (20.77 KB) 2010-12-3 15:28 现在出现一个情况,搞了好长时间也没查出问题。…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved