今天小编要和大家分享的是控制,MCU相关信息,接下来我将从基于AT89C51单片机的贪吃蛇游戏代码设计,求at89c51单片机用max485与pc机串口通讯程序这几个方面来介绍。
控制,MCU相关技术文章基于AT89C51单片机的贪吃蛇游戏代码设计
该项目设计硬件平台选择了简单易用的AT89C51单片机,显示屏选择的是AMPIRE128X64液晶屏幕显示器,按照一定顺序连接后,如下图:
软件方面采用了C51编写代码,代码编写模块如下图:
除去网上已有的图形驱动代码外,其核心代码主要为游戏处理、信息处理和按键处理。
编写游戏的功能代码,先定义游戏的数据结构和常量。
#define uchar unsigned char
#define uint unsigned int
sbit P00 = P0 ^ 0; // 右
sbit P01 = P0 ^ 1; // 左
sbit P02 = P0 ^ 2; // 上
sbit P03 = P0 ^ 3; // 下
sbit P04 = P0 ^ 4; // 开始/暂停
#define RIGHT 1
#define LEFT 2
#define UP 3
#define DOWN 4
#define ERASE 0
#define REWRITTEN 1
#define NO 0
#define YES 1
#define FALSE 0
#define TRUE 1
bit ESC = TRUE; // 开始 暂停标志位
uchar gameSpeed = 20; // 游戏速度调节
uchar level = 1; // 难度
uchar s1[] = “1”; // 保存显示难度的汉子
// uchar = unsigned char
// 食物的结构体
struct Food
{
uchar x; // 食物的横坐标
uchar y; // 食物的纵坐标
}food;
// 贪吃蛇主体的结构体
struct Snake
{
uchar x[39];
uchar y[39];
uchar node; // 蛇的节数
uchar direction; // 蛇移动方向
}snake;
其中食物的数据结构采用结构体定义,两个unsigned char变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为39的数组,游戏中贪吃蛇长度达到39,游戏通关结束。
游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以下四个方面,即移动、食物、死亡和更新。
移动