51单片机8×8点阵屏设计(51单片机led光立方)

1.简介本设计是以STC89C52单片机的8x8x8的LED光立方。本设计将LED光立方分成8层,分别由单片机的P1,8个IO口来控制每一层,由于采用的是共阴极所以当层电位为高电平有效,由P0口和P2的总共16个IO口来控制每层的64盏灯,低电平有效,P2口通过8个74HC573缓冲器芯片来驱动LED。这样就可以通过控制IO口的输出电平来控制每盏灯的亮灭。2.硬件设计本系统的硬件电路主要单片…

大家好,又见面了,我是你们的朋友全栈君。

1.简介
设计是以STC89C52单片机的8x8x8的LED光立方。本设计将LED光立方分成8层,分别由单片机的P1,8个IO口来控制每一层,由于采用的是共阴极所以当层电位为高电平有效,由P0口和P2的总共16个IO口来控制每层的64盏灯,低电平有效,P2口通过8个74HC573缓冲器芯片来驱动LED。这样就可以通过控制IO口的输出电平来控制每盏灯的亮灭。

2.硬件设计
本系统的硬件电路主要单片机最小系统、LED光立方驱动电路、LED光立方电路组成,其硬件框图如图:
在这里插入图片描述
(1)光立方驱动电路原理
以8X8X8光立方为例:

一个光立方我们可以拆成8个面,如图
在这里插入图片描述
而每个面又有8X8共64个LED灯,如图:
在这里插入图片描述
这样,我们只要控制这 64 个灯使其能够自由变换,然后再通过控制每个层依次点亮即可,由于我们眼睛的视觉暂留,使我们感觉看到的东西是一起再亮的。这样我们就看到了一个完整的个体。
驱动的步骤是:

  1. Z轴选中一个要点亮的面(一个面共有8段Y轴)
  2. Y轴选中一个需要点亮的Y轴(一段Y轴共有8个LED灯)
  3. X轴上的8个控制引脚通过设定的编码来点亮8个LED中某几个,并延时相应的时间
  4. 重复扫描8个Y轴边完成一个面的点亮,然后再重复扫描其他7个面,便完成了一次光立方的点亮了

(2)光立方驱动电路设计
此光立方采用一个ULN2308驱动芯片(作为Z轴的选择),和8个8路的74HC573锁存器(一个74HC573作为一个Y轴)来驱动8X8X8共512个LED灯。整体电路如图:
在这里插入图片描述
总的原理是每一时刻选中573的LE使能脚,使其为低电平,再由573输送次引脚对应的8个LED的亮灭状态,一个阴极点需要8位,即一个字节数据,完成一次完整的显示需要64个字节,此为一帧,要产生动画效果则需要产生中断进入下一帧。

(3)总体硬件电路
在这里插入图片描述
3.软件设计
(1)软件说明
光立方的软件设计相对简单,主要根据相应的动画效果的编码对光立方进行动态扫描,软件流程如图:
在这里插入图片描述
程序开始运行,获取到要显示的LED所在的层和列然后调用显示子程序点亮LED灯,通过延时程序进行短暂延时后继续获取下一个要显示的LED灯的所在的层和列。
如果你想要设计自己所要的动画效果,可以通过常用的光立方取模软件获得相应的动画编码。

(2)部分显示效果编码

uchar code display[]={
						
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,	    //1
					 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,	   
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

					0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x3c,0x24,0x24,0x3c,0x00,0x00,
					 0x00,0x00,0x24,0x00,0x00,0x24,0x00,0x00,	    //2
					 0x00,0x00,0x24,0x00,0x00,0x24,0x00,0x00,
					 0x00,0x00,0x3c,0x24,0x24,0x3c,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					............
					0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,	    //骰子1-49
					 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,	   
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}					 

(3)主函数代码

void main()
{
	init();	
	while(1)
	{
		for(i=0;i<8;i++)
		{
			Z = Z_Seg[i];
			for(j=0;j<8;j++)
				{
					Y = Y_Seg[j];
					X = display[count++];
					delay();
				}
			}
		count=64*temp;	
	}
}

源码+AD原理图 下载:关注公众号,首页回复“光立方”获取资料
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127533.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 挖矿程序处理[通俗易懂]

    挖矿程序处理[通俗易懂]记一次工作中遇到得挖矿程序处理首先需要减少中毒得几率,就是不要把ssh密码设得太简单,然后ssl端口号改改,改加的访问次数限制加上,常用的sql,代码管理工具等等port也都改掉,管理员权限账户不要多建挖矿程序特点,cpu占用率贼高300,kill不尽,会出现一些自己不曾安装过的程序,库等挖矿程序一般是杀死不净的,需要找到程序路径,以及自启动的脚本ls/proc/进程号/exe-la删掉相关程序but你会发现,它在其他地方又新建了脚本…

    2022年6月29日
    30
  • Android Deeplink配置

    Android Deeplink配置Deeplink启动应用配置注意事项1.Deeplink格式说明  Deeplink是目前使用广告跟踪非常热门的一种方式,Deeplink的链接类型一般是schema://host/path?params样式。2.为接收Deeplink配置intent-filter  在Android设备中,点击Deeplink后可以打开指定应用,为了能够正确定位到需要打开的应用,并正…

    2022年6月15日
    68
  • eclipse护眼颜色和字体大小设置[通俗易懂]

    eclipse护眼颜色和字体大小设置[通俗易懂]♣eclipse护眼颜色和关键字颜色设置♣eclipse字体大小设置(包括jsp,.xml,.java)1.Eclipse字体大小调整: 窗口(Window)-首选项(Prefer

    2022年8月1日
    9
  • 检查网站有没有被挂马_网站在线挂马检测工具

    检查网站有没有被挂马_网站在线挂马检测工具首先,我们来看看网站被挂马的危害性。网站被挂马后,一方面是系统资源,流量带宽资源的巨大损失,另一方面也成为了传播网页木马的“傀儡帮凶”,严重影响到网站的公众信誉度。很多网页木马都是利益驱动,偷盗各类帐号密码,如电子银行帐户和密码、游戏帐号和密码、邮箱帐户和密码、qq/MSN帐号和密码等;另外,使得客户端被安装恶意插件,强迫浏览黑客指定的网站,或者被利用攻击某个站点等。  我们知道了网站被挂马

    2022年9月27日
    5
  • 漏洞挖掘丨敏感信息泄露+IDOR+密码确认绕过=账户劫持

    漏洞挖掘丨敏感信息泄露+IDOR+密码确认绕过=账户劫持获得账户auth_token目标网站是一个工作招聘门户网站,测试保密原因暂且称其为redacted.com。一开始,我登录以应聘者身份去测试CSRF或某些存储型XSS,但没什么发现。接下来,我就想到了越权测试(IDOR),为此,我又创建了另外一个账号,两个账号一起可以测试如注册、登录、忘记密码等功能点的越权可能。创建账号前我开启了流量抓包想看看具体服务端的响应,注册开始时,网站会跳出一个提示,…

    2022年6月10日
    33
  • 在Ubuntu上使用FreeFileSync同步文件

    在Ubuntu上使用FreeFileSync同步文件FreeFileSync可以在Windows,Linux,macOS上面运行。本文使用操作系统是Ubuntu18.04。安装FreeFileSync下载程序,并解压。$wgethttps://freefilesync.org/download/FreeFileSync_11.0_Linux.tar.gz$tarxvfFreeFileSync_11.0_Linux.tar.gz解压之后进入FreeFileSync文件夹,就可以双击运行程序了。我们可以创建一个启动器,这样我们可以从桌面运

    2022年5月16日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号