谁有吞食天地2污妖王攻略51单片机开发板8×8点阵模块的Protel9se的电路图

基于单片机8×8点阵控制系统设计_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于单片机8×8点阵控制系统设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩21页未读,
定制HR最喜欢的简历
你可能喜欢51单片机+8*8点阵实现的贪食蛇源代码
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
51单片机+8*8点阵实现的贪食蛇源代码
电路图和单片机仿真文件下载:
下面是源代码:
#include &reg51.h&
#define uchar unsigned char
#define SNAKE 20&&&&&&&&&&&&&&&& //最大长度
#define TIME 50&&&&&&&&&&&&&&&& //显示延时时间
#define SPEED 71&&&&&&&&&&&&&& //速度控制
//#define& keyenable 1
sbit keyenable=P3^6;&&&//方向使能
/*sbit keyx=P0^1;&&&&&//左右
sbit keyy=P0^2;&&&&&//上下&*/
//sbit up=P0^0;
sbit up=P3^3;&&&&&& //down
sbit down=P3^1;
sbit right=P3^2;
sbit left=P3^4;
uchar x[SNAKE+1];
uchar y[SNAKE+1];&&&&&&&&&
uchar time,n,i,e;&&&&&&&&&&&&& //延时时间,当前蛇长,通用循环变量,当前速度&&
char addx,&&&&&&&&&&&&&&& //位移偏移量
/********************
*********************/
void delay(char MS)
while(MS!=0)
while(usn!=0)
while (us!=0){us--;};
/*******************************************
*******************************************/
bit knock()
if(x[1]&7||y[1]&7)k=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&& //撞墙
for(i=2;i&n;i++)if((x[1]==x[i])&(y[1]==y[i]))k=1;& //撞自己
/*****************
上下左右键位处理
*****************/
void turnkey()// interrupt 0 using 2&
if(keyenable)
if(left){addy=0;if(addx!=1)addx=-1; else addx=1;}
if(right){addy=0;if(addx!=-1)addx=1; else addx=-1;}
if(up){addx=0;if(addy!=-1)addy=1; else addy=-1;}
if(down){addx=0;if(addy!=1)addy=-1; else addy=1;}
/*if(keyy)
{addy=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //左右
if(keyx)if(addx==-1)addx=-1; else addx=1;& //左
if(addx==1)addx=1; else addx=-1;&&&&&&&&&& //右
{addx=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //上下
if(keyx)if(addy==1)addy=1; else addy=-1;&& //下
if(addy==-1)addy=-1; else addy=1;&&&&&&&&& //上&&
/*****************
*****************/
uchar mux(uchar temp)
if(temp==7)return 128;
if(temp==6)return 64;
if(temp==5)return 32;
if(temp==4)return 16;
if(temp==3)return 8;
if(temp==2)return 4;
if(temp==1)return 2;
if(temp==0)return 1;
/*****************
显示时钟 显示程序
*****************/
void timer0(uchar k)
{while(k--)
{for(i=0;i&SNAKE+1;i++)
{P2=mux(x[i]);P1=255-mux(y[i]);
turnkey();&&&&&&&&&&&&&&&&&&&& //上下左右键位处理
delay(TIME);&&&&&&&&&&&&&&&&&& //显示延迟
P2=0x00;P1=0
/*****************
*****************/&
void main(void)
while(1)&&&&&&
&{//if(keyenable==1){P1=0x00;P2=0}else{P1=0P2=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;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位移偏移
&while(1){if(keyenable)timer0(1);}
&while(1)&&&&&&&&
& {timer0(e);
&& if(knock()){e=SPEED;}&&&&&&&&&&&&&&&&&&&&&&&&& //判断碰撞
&&&&&&& 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]+y[1]=y[2]+&&&&&&&&&&&&&&&&&&&& //移动
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网 51hei.com , All Rights Reserved基于51单片机的开发板_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机的开发板
&&51单片机开发报告文档
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩14页未读,
定制HR最喜欢的简历
你可能喜欢51单片机+8*8点阵实现的贪食蛇源代码
12:35:16&&&来源:51hei &&
电路图和单片机仿真文件下载:
下面是源代码:
#define uchar unsigned char
#define SNAKE 20&&&&&&&&&&&&&&&& //最大长度
#define TIME 50&&&&&&&&&&&&&&&& //显示延时时间
#define SPEED 71&&&&&&&&&&&&&& //速度控制
//#define& keyenable 1
sbit keyenable=P3^6;&&&//方向使能
/*sbit keyx=P0^1;&&&&&//左右
sbit keyy=P0^2;&&&&&//上下&*/
//sbit up=P0^0;
sbit up=P3^3;&&&&&& //down
sbit down=P3^1;
sbit right=P3^2;
sbit left=P3^4;
uchar x[SNAKE+1];
uchar y[SNAKE+1];&&&&&&&&&&
uchar time,n,i,e;&&&&&&&&&&&&& //延时时间,当前蛇长,通用循环变量,当前速度&&
char addx,&&&&&&&&&&&&&&& //位移偏移量
/********************
*********************/
void delay(char MS)
while(MS!=0)
while(usn!=0)
while (us!=0){us--;};
/*******************************************
*******************************************/
bit knock()
if(x[1]>7||y[1]>7)k=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&& //撞墙
for(i=2;i<n;i++)if((x[1]==x[i])&(y[1]==y[i]))k=1;& //撞自己
/*****************
上下左右键位处理
*****************/
void turnkey()// interrupt 0 using 2&&
if(keyenable)
if(left){addy=0;if(addx!=1)addx=-1; else addx=1;}
if(right){addy=0;if(addx!=-1)addx=1; else addx=-1;}
if(up){addx=0;if(addy!=-1)addy=1; else addy=-1;}
if(down){addx=0;if(addy!=1)addy=-1; else addy=1;}
/*if(keyy)
{addy=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //左右
if(keyx)if(addx==-1)addx=-1; else addx=1;& //左
if(addx==1)addx=1; else addx=-1;&&&&&&&&&& //右
{addx=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //上下
if(keyx)if(addy==1)addy=1; else addy=-1;&& //下
if(addy==-1)addy=-1; else addy=1;&&&&&&&&& //上&&&
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
51单片机相关资源
8*8点阵相关资源
贪食蛇相关资源
编辑:什么鱼
本文引用地址:
大学堂最新课程
本周热门资源推荐
EEWORLD独家

我要回帖

更多关于 吞食天地2重制污妖王 的文章

 

随机推荐