一.硬件方案
本设计采用STC89C52RC单片机作为系统的芯片,实现人机交互、娱乐等功能。选用LCD12864实现俄罗斯方块游戏界面、图形显示;选用独立按键实现游戏控制。本设计实现的基本功能是:用按键控制目标方块的变换与移动;消除一行并计分,方块堆满时结束游戏等俄罗斯方块的基本功能。硬件主要由51单片机+最小系统电路+按键电路+12864液晶显示电路设计而成。
二.设计功能
(1)主控芯片基于STC89C51/52(与AT89S51/52、AT89C51/52通用)单片机;
(2)采用LCD12864液晶显示屏;
(3)共有7个按键,除复位按键外,其余六个按键分别为:左移、右移、变形、下降、暂停、确定;
(4)设计有0~9个关卡,达到一定分数自动升级;
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
四.软件设计
主程序源码
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();
}
}
}
资料链接:https://pan.baidu.com/s/14YUHK_QJ7Vq1zE18MxBBOQ?pwd=lleb