找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8000|回复: 9
打印 上一主题 下一主题
收起左侧

4*4光立方制作教程

  [复制链接]
跳转到指定楼层
楼主
一、硬方面
1.LED:CUBE4光立方需要64个LED,LED的颜色可以自己随意挑选红 黄 蓝 绿 白,个人推荐雾状蓝色LED,夜晚效果超屌。
2.单片机:单片机上采用程序空间大的,运行速度快的STC12C60S2单片机。如果你觉得大了,你可以选择28脚的,能保证有16个IO口控制LED的亮灭。也能自己扩展光立方功能。
3. 一个12Mhz晶振,两个30pF电容,搭建单片机的最小系统
4.上拉电阻:为了提高LED亮度,选用200欧2/1W的。(可加可不加)
5.电源:5V电源。电脑USB口电源或手机适配器输出的即可,不需要太苛刻的要求!
二、电路连接
很多人会在这里纠结,到底该怎么连接电路。不用纠结了,接下来我给大家详细说说怎么连接LED。    本光立方采用的电路与LED点阵屏一样的。接下来看图。


内附有取模 模板,可实现各种汉字,符号在光立方上切换。
从正面看:红色是LED的正极,正极接下去,中间两列相连,外面两列相连接后面依次如此连接。蓝色是LED负极相连,已经标出连接到的IO口号上了。 本光立方负极接到P2口上,所以按照上面的图,左边上面第一个连接到的应该是P2.0口。

从上面看:IO口号已标出,要注意的是中间两列相连的,如5和5是相连的。外面两列相连,如0和0相连的。本光立方在这里连的是P0口,0就连接到P0.0上 5就接到P0.5上 说说上拉电阻:在IO口连接到LED正极的基础上再把电阻连接到VCC和IO口间。好了,硬件就说到这里。有什么不懂的可以加我QQ1323811540.验证信息填光立方三、软方面本光立方有专用取模软件,如果你按上面电路连接,只需要在C语言程序中做一些小修改就可以使用了!C语言程序下面我会打包

你可以不用上面的P0,P2口但是 0.1.2.3.4.5.6.7的顺序必须同上如果你改了,那就请看下面,怎么在程序中改。首先你需要头文件#include <STC12C2052AD.h>,如果没有不用担心我已经打包了,下载再放到keil头文件的文件夹里就OK,如果不会自己百~度。动画我都是封装到一个函数里,看到这里你应该打开C程序来对着看找个短的说明吧!
  1. void allfalloff()  //由全亮到下落关闭只剩一排   动画函数
  2. {
  3.        unsigned char code tabP0[4][8]={    把取模取到的数组直接复制粘贴到这里
  4.        {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
  5.        {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},   要改的是数组标号
  6.        {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},   tabP0[4][8]  
  7.        {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF}         这里取了4次 所以填写4
  8.        };
  9.        int j,k,i;                                      
  10.        for(j=0;j<4;j++)        这里的4改成和上面数组第一维的数
  11.        {
  12.               for(k=0;k<15;k++)      15是LED点亮的时间  加大LED点亮时间加长
  13.               {
  14.                      for(i=0;i<8;i++)    这里不用改
  15.                      {
  16.                             P0=0;         在看到这里  如果你改了IO组号的话,那这里也需要改        P0改成你接到LED正极上的那个组号
  17.                             P2=tabP2;    这里是接到LED负极上的组号
  18.                             P0=tabP0[j];  这里是正极上的组号
  19.                             ys(10);        这里是LED熄灭的时间。也就是这个LED亮灭后间隔多少时间才到下一个  加大熄灭时间加长
  20.                      }
  21.               }
  22.        }              
  23. }
  24. 怎么自己加动画?

  25. 看完这个你在和其他函数做做对比,相信你会懂的
  26. 不懂还是加我QQ1323811540 验证消息:光立方

  27. void 函数名自己定义()       //记得加上动画注释说明
  28. {
  29.        unsigned char code tabP0[4][8]={
  30.      把取模取到的数组直接贴到这里  在根据你取模的次数修改上面的4
  31.        };
  32.        int j,k,i;
  33.        for(j=0;j<4;j++)        这里的4改成和上面数组第一维的数
  34.        {
  35.               for(k=0;k<15;k++)      15是LED点亮的时间  加大LED点亮时间加长
  36.               {
  37.                      for(i=0;i<8;i++)    这里不用改
  38.                      {
  39.                             P0=0;         在看到这里  如果你改了IO组号的话,那这里也需要改        P0改成你接到LED正极上的那个组号
  40.                             P2=tabP2;    这里是接到LED负极上的组号
  41.                             P0=tabP0[j];  这里是正极上的组号
  42.                             ys(10);        这里是LED熄灭的时间。也就是这个LED亮灭后间隔多少时间才到下一个  加大熄灭时间加长
  43.                      }
  44.               }
  45.        }              
  46. }
复制代码


软件本身无毒,因为是易语言编写,所有360可能会误报。请加入白名单打开软件   上面就是光立方的LED,灰色表示LED熄灭,淡蓝色表示点亮我们看到的是LED的正面。
单击上面的圆点LED自动亮或灭确定图形后点击 给我取!这样你就取得第一帧了、   这里取得的帧数也就是在上面那个数组4要改成的帧数如果需要,继续取模。 方法同上,相信电子爱好者们都会,如果不会的话,那就别.....那什么了。 取模好后直接复制到上面就好了。
  1. MAIN()主函数
  2. Void main()            一小部分说明
  3. {
  4.        while(1)
  5.        {
  6.               begin();                  //全灭 呼吸亮
  7.               allfalloff();              //由全亮到下落关闭只剩一排      直接把动画函数粘贴下来就行
  8.               turnR();                     //由下面一排转到右面
  9.               righttoleft();              //右面平移到左面
  10.               lefttoright();              //左面平移到右面
  11.               righttoleft();              //右面平移到左面
  12.               lefttoright();              //左面平移到右面


复制代码

源程序.zip

8.55 KB, 下载次数: 26, 下载积分: 黑币 -5

取模软件(专用).zip

396.37 KB, 下载次数: 40, 下载积分: 黑币 -5

光立方444.zip

623.3 KB, 下载次数: 69, 下载积分: 黑币 -5

光立方444.doc

247 KB, 下载次数: 21, 下载积分: 黑币 -5

评分

参与人数 2黑币 +81 收起 理由
LINKEEE + 1 绝世好帖!
admin + 80 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏10 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:166767 发表于 2017-3-8 16:35 | 只看该作者
你的“光立方444.zip”已包含其余三个文件,就不该再列出来了,弄得我都下载,费了好多黑币,真想骂你,还是算了吧,好的我的黑币不少,但是还是不爽。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 黑币补偿

查看全部评分

回复

使用道具 举报

板凳
ID:171297 发表于 2017-3-16 19:23 | 只看该作者
借我点黑币用呀,想下点资料不能下呀!
回复

使用道具 举报

地板
ID:237688 发表于 2017-10-13 02:47 来自手机 | 只看该作者
感想楼主,打算自己做一个试试
回复

使用道具 举报

5#
ID:239145 发表于 2017-10-13 14:03 | 只看该作者
楼主威武
回复

使用道具 举报

6#
ID:243748 发表于 2018-2-1 09:11 来自手机 | 只看该作者
为什么我的只能显示2*4的灯
回复

使用道具 举报

7#
ID:279667 发表于 2018-2-1 10:03 | 只看该作者
自己想做一个小的光立方,感谢楼主提供的资料
回复

使用道具 举报

8#
ID:281788 发表于 2018-2-2 17:13 | 只看该作者
感谢提供资料
回复

使用道具 举报

9#
ID:210102 发表于 2018-2-21 21:24 | 只看该作者
非常给力
回复

使用道具 举报

10#
ID:185751 发表于 2019-10-26 15:36 | 只看该作者
首先谢谢楼主共享,然后谢谢1楼提醒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表