今天小编要和大家分享的是控制,MCU相关信息,接下来我将从基于AT89C51单片机的贪吃蛇游戏代码设计,求at89c51单片机用max485与pc机串口通讯程序这几个方面来介绍。

控制,MCU相关技术文章基于AT89C51单片机的贪吃蛇游戏代码设计求at89c51单片机用max485与pc机串口通讯程序

控制,MCU相关技术文章基于AT89C51单片机的贪吃蛇游戏代码设计

该项目设计硬件平台选择了简单易用的AT89C51单片机,显示屏选择的是AMPIRE128X64液晶屏幕显示器,按照一定顺序连接后,如下图:

基于AT89C51单片机的贪吃蛇游戏代码设计

软件方面采用了C51编写代码,代码编写模块如下图:

基于AT89C51单片机的贪吃蛇游戏代码设计

除去网上已有的图形驱动代码外,其核心代码主要为游戏处理、信息处理和按键处理。

编写游戏的功能代码,先定义游戏的数据结构和常量。

#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,游戏通关结束。

游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以下四个方面,即移动、食物、死亡和更新。

移动

基于AT89C51单片机的贪吃蛇游戏代码设计