今天小编要和大家分享的是控制,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单片机的贪吃蛇游戏代码设计

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查