- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AT89C51的“开灯”游戏设计
课程设计说明书
课程名称: 数字电子技术
题 目:基于AT89C51的“开灯”游戏设计
日 期: 2013 年 6 月 21 日
课 程 设 计 任 务 书
设计题目 :基于AT89C51的“开灯”游戏设计
主要内容及要求
要求实现逻辑功能:
游戏目的:通过按键将灯阵全部点亮。
游戏规则:(1)开始时灯阵为全灭;
(2)按下按键时,其对应的灯与其上下左右灯状态全部反转;
(3)当游戏没有完成的时候指示灯一(红灯)持续亮,只有全部的LED被点亮后指示灯二(绿灯)才会点亮表明游戏结束。
利用仅仅单片机18个I/O来控制矩阵键盘和矩阵LED共50个独立的元件,将实现游戏特定的效果,每次按键的时候都将其本身及其上下左右的灯的状态全部翻转。
进度安排
总评成绩
基于AT89C51的“开灯”游戏设计
设计任务与要求
游戏目的:通过按键将灯阵全部点亮。
游戏规则:(1)开始时灯阵为全灭;
(2)按下按键时,其对应的灯与其上下左右灯状态全部反转;
(3)当游戏没有完成的时候指示灯一(红灯)持续亮,只有全部的LED被点亮后指示灯二(绿灯)才会点亮表明游戏结束。
画出电路图,编写出游戏程序并实现电路的模拟实验。利用仅仅单片机18个I/O来控制矩阵键盘和矩阵LED共50个独立的元件,将实现游戏特定的效果,每次按键的时候都将其本身及其上下左右的灯的状态全部翻转。
二、方案设计与论证
1、所用器件及实现平台、
(1)AT89C51单片机一块
(2)LED灯25个
(3)按键开关25个
(4)74HC138译码器一块
(5)74HC573锁存器一块
(6)单片机最小系统部分元件
(7)电阻、导线若干。
2、游戏实现的基本原理
电路主要分为:单片机最小系统部分、键盘部分、LED显示等三部分组成。
单片机最小系统部分:
电路如图一所示
(2)键盘扫描部分:
void key(uchar * hang,uchar * lie)
{
P2= 0x00;
P3= 0xFF;
while(1)
{
if( P3!= 0xFF ) //检测到了按键
{
P3= P3; //将P3口状态锁存
P2= 0xFF; //检测P2口状态
*hang= change(P2); //将P2口状态转换为行坐标并输出
*lie= change(P3); //将P3口状态转换为列坐标并输出
while(P2 != 0xFF)
{
}
// P2= 0xFF;
// P3= 0xFF;
return ;
}
}
}
uchar change(uchar dat)
{
uchar i;
dat= ~dat;
for(i=0;i5;i++)
{
if(dat == 0x01i)
{
return i;
}
}
return 9;
}
电路如图2所示
(3)LED灯显示部分:为使灯的状态反转
void Dispose(uchar x,uchar y)
{
Light[x]^= 0x01y; //翻转指定点
if(x0) //翻转指定点的上一点
{
Light[x-1]^= 0x01y;
}
if(x4) //翻转指定点的下一点
{
Light[x+1]^= 0x01y;
}
if(y0) //翻转指定点的左一点
{
Light[x]^= 0x01(y-1);
}
if(y4) //翻转指定点的右一点
{
Light[x]^= 0x01(y+1);
}}
电路所图三所示
3、游戏电路设计、参数计算和器件选择
电路的仿真采用是Protues,是英国Labcenter electronics公司出版的EAD工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真 单片机及外围器件。Proteus是世界上著名的EDA工具( 仿真软件),从原理图布图、代码调试到 单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、 ARM、8086和MSP430等。
(1)采用AT
您可能关注的文档
- 基于proe渐开线齿轮运动仿真毕业论文.doc
- 基于Proe接触环级进模的三维设计-毕业设计说明书.doc
- 基于ProE零件夹线卡的冲压工艺及模具设计.doc
- 基于PROE六自由度机械手参数化建模及运动仿真.doc
- 基于ProE模具设计的二级减速箱.doc
- 基于ProE农机典型机构的建模和仿真.doc
- 基于PROE软件的铣刀头设计.doc
- 基于Proe少齿数(Z2)齿轮传动的建模与研究.doc
- 基于proe实现发动机的仿真和分析.doc
- 基于proe剃齿刀齿廓修形样条方法优化研究.doc
- 基于STC89C52RC单片机的数字显示交通灯设计课程设计报告.doc
- 基于STC89C52R单片机实现的蔬菜大棚温度控制系统设计毕业设计.doc
- 基于STC89C52单片机的8路数字抢答器的设计本科毕业论文.doc
- 基于STC89C52单片机的测温控制系统_毕业论文设计.doc
- 基于STC89C52单片机的电子密码锁_毕业设计_附原理图_pcb图_源程序_仿真图.doc
- 基于STC89C52单片机的电子密码锁_附仿真图_原理图_毕业设计论文.doc
- 基于STC89C52单片机的电子时钟设计(带程序).doc
- 基于STC89C52单片机的实验平台开发设计_课程设计报告.doc
- 基于STC89C52单片机的数显交通灯设计毕业设计.doc
- 基于STC89C52单片机的数字温度计_毕业设计论文.doc
文档评论(0)