【51单片机】俄罗斯方块游戏-LED点阵
2023-12-13 06:54:11
一、功能简介
本项目使用51单片机控制器,使88LED点阵,按键等。
主要功能:
系统运行后,88LED点阵显示游戏界面,K1和K2键控制左右移动,K3和K4键控制变形。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)
*/
#include <REGX52.H>
#include "Tetris.h"
#include "Timer0.h"
#include "Key.h"
unsigned char KeyNum = 0;
void main()
{
Tetris_Init();
Timer0_Init();
while(1)
{
KeyNum = Key();
if(KeyNum)
{
//isPause = 1;
switch(KeyNum)
{
case 1:
Tetris_ToLeft();
break;
case 2:
Tetris_ToRight();
break;
case 3:
Tetris_RtLeft();
break;
case 4:
Tetris_RtRight();
break;
default:
break;
}
}
Tetris_Display();
}
}
void Timer0_Routine(void) interrupt 1
{
static unsigned int T_Key_Count,T_Fall_Count;
TL0 = 0x66; //设置定时初始值
TH0 = 0xFC; //设置定时初始值
++T_Key_Count;
++T_Fall_Count;
if(T_Key_Count >= 20)
{
T_Key_Count = 0;
Key_Loop();
}
if(T_Fall_Count >= 700)
{
T_Fall_Count = 0;
if( !Tetris_Fall() )
{
Tetris_Stack();
if(Tetris_GameOver())
{
TR0 = 0;
Delay(1000);
Tetris_Init();
TR0 = 1;
}
else
{
Tetris_Full();
Tetris_Create();
}
}
}
}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619
联系作者
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
文章来源:https://blog.csdn.net/Hello_Muyi/article/details/134941568
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!