标题: 自制4*4*4光立方 [打印本页]

作者: 诚子    时间: 2015-4-17 14:37
标题: 自制4*4*4光立方
自制4*4*4光立方c程序:
//采用四个74hc573数据锁存,uln2803驱动LED,P2口接四个锁存器的控制端和片选端,P1口低四位控制每一层的选通,P3口高四位传入数据,单片机与数据输入端的连接采用总线连接方式
#include <reg52.h>
#define uchar unsigned char
#define k 20
uchar i,j,n;
code uchar yin[]={0xfe,0xfd,0xfb,0xf7,0xfe,0xfd,0xfb,0xf7,0xfe,0xfd,0xfb,0xf7,0xfe,0xfd,0xfb,0xf7};
code uchar dat[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90,0xa0,0xb0,0xc0,0xd0,0xe0,0xf0};
uchar tu1[]={15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0};
uchar tu3[]={0,0,0,15};
void delay()
{
  uchar s=100;
    while(s--);
}
void main()
{
P3=0xff;
while(1)
{
  for(n=0;n<5;n++)    //
  {  
for(j=0;j<k;j++)   //   
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[15];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
}
    for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
}
    for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[15];
      delay();
      P3=0x00;
   }
}
  }
  for(n=0;n<5;n++)    //
  {
    for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[15];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[0];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[15];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
}
  }
  for(n=0;n<5;n++)    //
  {
    for(j=0;j<k;j++)   //   
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[tu1[i]];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[1];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[tu3[i]];
      delay();
      P3=0x00;
   }
}
for(j=0;j<k;j++)   //      
{
      P2=0x1e;
   for(i=0;i<4;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x2d;
   for(i=4;i<8;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x4b;
   for(i=8;i<12;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
   P2=0x87;
   for(i=12;i<16;i++)
   {
      P1=yin[i];
      P3=dat[8];
      delay();
      P3=0x00;
   }
}
  }   
}
}

IMG_20150415_232649.jpg (89.71 KB, 下载次数: 275)

4*4*4光立方

4*4*4光立方

IMG_20150417_141942.jpg (815.76 KB, 下载次数: 244)

4*4*4光立方

4*4*4光立方

IMG_20150417_141953.jpg (830.33 KB, 下载次数: 251)

4*4*4光立方

4*4*4光立方

IMG_20150417_142019.jpg (469.8 KB, 下载次数: 288)

4*4*4光立方

4*4*4光立方

IMG_20150417_142022.jpg (528.42 KB, 下载次数: 229)

4*4*4光立方

4*4*4光立方

IMG_20150417_142224.jpg (568.14 KB, 下载次数: 258)

4*4*4光立方

4*4*4光立方

IMG_20150417_142234.jpg (553.25 KB, 下载次数: 242)

4*4*4光立方

4*4*4光立方

IMG_20150417_142240.jpg (603.03 KB, 下载次数: 259)

4*4*4光立方

4*4*4光立方

IMG_20150417_142241.jpg (683.41 KB, 下载次数: 231)

4*4*4光立方

4*4*4光立方

作者: das    时间: 2015-4-18 04:25
真不错 太厉害了 效果很牛逼 谢谢分享啊 改天我也用您的资料做一个
作者: sppcb    时间: 2015-4-18 14:10
51hei有你更精彩!!!!!!!!

作者: lsl1002    时间: 2015-4-18 22:19
牛,顶
作者: 好男人就是我    时间: 2015-4-22 15:30
不错啊,nice!!!
作者: wang215322    时间: 2015-5-23 20:40
真不错啊,很小巧的
作者: ShuaiBin    时间: 2016-5-29 16:22
电路图 什么的呢
作者: sky10086110    时间: 2017-6-30 21:16
,。。。看一看
作者: 发发发哈哈哈是    时间: 2017-8-20 16:41
牛,谢谢
作者: lcr39101    时间: 2017-8-27 21:11
学习学习,谢谢
作者: 练氏    时间: 2017-8-28 14:57
能把电路图等分享下就好了
作者: 蜀山剑哥    时间: 2018-6-13 15:49
不错  学习下
作者: wdfabc    时间: 2018-6-19 17:02
学习了谢谢
作者: 123lyf    时间: 2018-6-19 22:55
可以学习,不错
作者: 空空欣上    时间: 2018-10-24 12:55
谢谢分享
作者: 快乐眼泪    时间: 2018-10-24 18:35
能上传一份原理图吗
作者: 你知道吗    时间: 2018-10-30 19:00
牛皮啊


作者: abc129    时间: 2018-11-23 01:29
很有用处,谢谢 谢谢
作者: 罗略略    时间: 2019-5-27 14:52
很详细,适合新手
作者: 凌鸩    时间: 2019-5-31 10:50
可以给看一下电路图不?谢谢啦




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1