基于16x16LED点阵的贪食蛇游戏设计Word文档格式.docx
- 文档编号:13710981
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:29
- 大小:1.22MB
基于16x16LED点阵的贪食蛇游戏设计Word文档格式.docx
《基于16x16LED点阵的贪食蛇游戏设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于16x16LED点阵的贪食蛇游戏设计Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED的开展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向开展。
用LED点阵作为图形或文字的显示,是非常灵活的,非常具有感染力的。
对于在校生来说,课堂上的知识永远都是理论,如果不实践就完全荒废了知识的学习。
在本设计中虽然只是简单的研究一下用单片机驱动的LED显示的贪食蛇游戏,其主要目的是复习和稳固单片机知识。
关键词:
LED,单片机,点阵,驱动,矩阵
1.1设计的目的
〔1〕本设计是基于16*16LED点阵的贪食蛇游戏设计,主控芯片是STC51单片机。
本设计的目的是为了稳固单片机知识,提高学生的实践动手能力,发现问题、分析问题、解决问题的能力。
1.2设计的任务与根本要求
〔1〕.熟练掌握并应用单片机的理论、技术;
〔2〕.熟悉、了解并且学会使用16×
16点阵;
〔3〕.熟悉、掌握芯片的知识;
〔4〕.能够实现设计任务的根本功能;
〔5〕.撰写课程设计论文;
第二章
——硬件篇
2.1主要元件说明
〔1〕74HC595驱动芯片
74HC595串行输入8位并行输出的锁存器,是一款漏极开路输出的CMOS移位存放器,输出端口为可控的三态输出端,亦能串行输出控制下一个级联的芯片。
当串行数据输入脚SCK来一个脉冲时,数据从芯片的SI端口串行输入;
当输出存储器锁存时钟信号RCK有脉冲时,数据从8位输出端口并行输出。
这样,应用4片74HC595级联就可以控制16*16=256个LED发光二极管的16行和16列。
〔四片级联控制对取模有影响,建议行列控制的锁存器分开控制〕
2.16*16LED显示模块
本设计应用的是4片8*8共阳LED点阵,将4片LED的行和列级联在一起形成了16*16的LED点阵。
2片74HC595控制点阵的行另外两片控制列,当控制驱动芯片的横纵坐标的数据分别给出“1〞和“0〞时那么该坐标点上的LED发亮。
3.主控芯片STC12C5A60S2
STC12C5A60S2是一款高速、高可靠;
低功耗、超低价;
强抗静电、强抗干扰的芯片,比起普通的C51系列单片机速度更快。
为了提高速度在本设计中主控系统板使用了24MHz的外部晶振,刷屏速度更快,显示效果更明显。
〔STC12C5A60S2单片机具体介绍使用手册上更全面〕
自主设计的小系统,在网上买一个USB串口下载器,本钱大大降低,同时也积累了很多丰富的经历。
第三章
——软件篇
3.1硬件系统设计软件altiumdesigner10
PCB设计软件有很多版本,但相对于protel99se而言,altiumdesigner10的操作更灵活,所以操作起来更方便而且节约了很大局部的时间。
同时altiumdesigner10也是作者青睐的一款软件。
16*16LED点阵原理图
STC12C5A60S2小系统原理图
〔小系统PCB〕
小系统
〔该小系统很多外围电路是为其他学习所用,其中立式电池座没买到,所以时钟芯片没有加上去,电位器是嵌套小功放电路调节音量的〕
3.2编程软件keiluVision4
最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。
uVision4引入了灵活的窗口管理系统,能够拖放到视图的任何地方,包括支持多显示器窗口。
uVision4在μVision3IDE的根底上,增加了更多群众化的功能。
·
多显示器和灵活的窗口管理系统
系统浏览器窗口的显示设备外设存放器信息
调试复原视图创立并保存多个调试窗口布局
多工程工作区简化与众多的项
程序:
#include<
reg52.h>
#include<
stdlib.h>
stdio.h>
#defineuintunsignedint
#defineucharunsignedchar
#defineSnake15//最大长度,蛇吃满多少就自动完毕程序
sbitDS=P1^0;
//595串口数据输入端
sbitOE=P1^1;
//使能端,低电平有效
sbitST=P1^2;
//移位存放器的时钟输入SCK
sbitSH=P1^3;
//存储器的时钟输入RCK
charlength,Level;
charaddx,addy;
//位移偏移量
charx_food,y_food;
//食物坐标
ucharx[Snake-1];
//x坐标
uchary[Snake-1];
//y坐标
uchartime,n,i,e;
ucharSPEED;
//速度
charPlay_en;
//开场游戏标志
charSad_flag;
sbitKey_EN=P2^0;
//方向使能,默认是低电平
sbitup=P2^3;
//定义方向键
sbitdown=P2^2;
sbitleft=P2^1;
sbitright=P2^4;
sbitMode=P2^5;
chartemp;
charInit_Snake_flag;
charMode_flag;
charMode_1,Mode_2;
uintWait_Time;
charEat_Food_super(chari);
voidGame_play_super();
voidInit_Snake();
voidDisplay(ucharx,uchary);
voiddelay()
{charj,i;
for(i=0;
i<
25;
i++)
for(j=0;
j<
10;
j++);
}
/*******************************************
判断碰撞
*******************************************/
charKnock()
{
temp=0;
if((x[length-1]==(-1))||(x[length-1]==16)||(y[length-1]==(-1))||(y[length-1]==16))
temp=1;
//撞墙
for(i=0;
length-1;
{
if((x[length-1]==x[i])&
&
(y[length-1]==y[i]))//撞自己
{
temp=1;
break;
}
}
returntemp;
/*****************
方向处理
*****************/
voidKey_Scan()
{
P2=0xff;
if(Mode==0)//模式转换处理按键
{
delay();
while(Mode==0);
Mode_flag=!
Mode_flag;
}
if(Key_EN==0)
Play_en=1;
if(Play_en==1)
{
if(right==0)
{
addy=0;
if(addx!
=-1)addx=1;
elseaddx=-1;
}
if(left==0)
if(addx!
=1)addx=-1;
elseaddx=1;
if(up==0)
addx=0;
if(addy!
=-1)addy=1;
elseaddy=-1;
if(down==0)
{
addx=0;
=1)addy=-1;
elseaddy=1;
voidTransmit_Data(unsignedlongData)
uchari;
unsignedlongNum;
OE=0;
Num=Data;
32;
if(Num&
0x80000000)
DS=1;
else
DS=0;
SH=1;
//上升沿,数据送入存放器
SH=0;
Num<
<
=1;
}
ST=1;
//上升沿,数据推出端口
ST=0;
voidDisplay(ucharx,uchary)//显示点函数
unsignedintL,H;
unsignedlongpoint;
L=1<
(15-x);
H=~(1<
y);
point=L;
point<
=16;
point+=H;
Transmit_Data(point);
碰撞表情“囧〞
voidSad()
uchari,j,k,n,m,a,b;
charg=2;
unsignedlongCount;
if(Sad_flag==1)
for(i=0;
3;
Display(i+2,i+11);
for(i=11;
14;
Display(i,11+g);
g--;
}
16;
Display(0,i);
for(j=0;
j++)
Display(15,j);
for(k=0;
k<
k++)
Display(k,0);
for(n=0;
n<
n++)
Display(n,15);
for(n=4;
12;
Display(n,3);
Display(n,8);
8;
Display(4,n);
Display(11,n);
voidPut_food()
Display(x_food,y_food);
voidSnake_Body()
for(i=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 16 x16LED 点阵 贪食 游戏 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)