当前位置: 首页 > article >正文

仿真设计|基于51单片机的贪吃蛇游戏

目录

具体实现功能

设计介绍

51单片机简介

资料内容

仿真实现(protues8.7)

程序(Keil5)

全部内容

资料获取


具体实现功能

利用单片机8*8点阵实现贪吃蛇游戏的控制。

仿真演示视频:

51-基于51单片机的贪吃蛇游戏-仿真视频

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

///
/*****************
主程序
*****************/	
void main(void)
{
	e=SPEED;
	P0=0x00;
	P1=0xff;
	P2=0x00;
	P3=0x00;
	while(1)       
	{
		//if(keyenable==1){P1=0x00;P2=0xff;}else{P1=0xff;P2=0x00;}
		for(i=3;i<SNAKE+1;i++)
			x[i]=100;
		for(i=3;i<SNAKE+1;i++)
			y[i]=100;//初始化
			x[0]=4;
			y[0]=4;                                                //果子                            
			n=3;                                                          //蛇长 n=-1
			x[1]=1;
			y[1]=0;                                                //蛇头
			x[2]=0;
			y[2]=0;                                                //蛇尾1
			addx=0;
			addy=0;                                                //位移偏移
	//k=1;
		while(1)
		{
			if(keyenable)
				break;
			timer0(1);
		}
		while(1)         
		{
			timer0(e);
			if(knock())
			{
				e=SPEED;
				break;
			}                          //判断碰撞
			if((x[0]==x[1]+addx)&(y[0]==y[1]+addy))         //是否吃东西
			{
				n++;
				if(n==SNAKE+1)
				{
					n=3;e=e-10;
					for(i=3;i<SNAKE+1;i++)
						x[i]=100;
					for(i=3;i<SNAKE+1;i++)
						y[i]=100;
				}
				x[0]=x[n-2];
				y[0]=y[n-2];
			}
			for(i=n-1;i>1;i--)
			{
				x[i]=x[i-1];
				y[i]=y[i-1];
			}        
			//x[n-1]=x[2];y[n-1]=y[2];
			x[1]=x[2]+addx;y[1]=y[2]+addy;                     //移动
		}						
	}			
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、开发资料、资料使用介绍、仿真视频、程序讲解视频、仿真讲解视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT1Jsa2Jkb0VRaU1z


http://www.kler.cn/a/527089.html

相关文章:

  • HTML DOM 对象
  • 线段树 算法
  • 【懒删除堆】力扣2349. 设计数字容器系统
  • AI大模型开发原理篇-4:神经概率语言模型NPLM
  • Docker小游戏 | 使用Docker部署FC-web游戏模拟器
  • 单细胞-第五节 多样本数据分析,打分R包AUCell
  • 【医学影像 AI】生成式 AI 基础模型 MINIM(2)研究方法
  • 【C++】类和对象(5)
  • 前端学习:Axios Http请求库入门与实战应用
  • Java中初步使用websocket(springBoot版本)
  • stm32教程:EXTI外部中断应用
  • 青少年编程与数学 02-008 Pyhon语言编程基础 08课题、变量与赋值
  • 本地部署DeepSeek
  • 什么是共模电压
  • 对比DeepSeek、ChatGPT和Kimi的学术写作撰写引言能力
  • 169 多数元素
  • 数据加密到信息安全算法
  • 程序员学英文之At the Airport Customs
  • Python NumPy(10):NumPy 统计函数
  • 初始化mysql报错cannot open shared object file: No such file or directory
  • android Camera 的进化
  • 三份网络与信息安全管理员(4级)题库(附参考答案)
  • 【LLM】DeepSeek-R1-Distill-Qwen-7B部署和open webui
  • 前端面试笔试题目(一)
  • 数据结构:队列篇
  • 1-2 飞机大战游戏场景