文档库 最新最全的文档下载
当前位置:文档库 › 8x8x8LED光立方原理加程序

8x8x8LED光立方原理加程序

8x8x8LED光立方原理加程序
8x8x8LED光立方原理加程序

8x8x8LED光立方

周渴望南阳理工学院Q418084696

功能;通过自定义代码实现LED炫丽动画效果。

通过按钮P3-7按钮实现动画与暂停。

底面是512个LED分成64组的共阳极由8个74hc573控制,每层64个LED 共阴极接在一起,共引出8跟负极与uln2803相连由其控制(这里注意uln280输出高电平LED负极通,低电平LED负极断)。

原理:先点亮最下层LED,假设8个74hc573全输出高电平,uln2803控制最下层输出高电平,那么最下层64个LED都点亮,延时10ms到5ms,关断最下层显示开通第二层假设也是8个74hc573全输出高电平,那么倒数第二层64个LED 全亮,再延时2ms到5ms那么以此类推每层的LED64个全都会亮,由于从第一层亮到最后一层亮时间小于50ms,由于人眼睛视觉暂留效果,就会觉得是全部层一起亮的,这样就“一起”点亮了512个LED。

其实每层的LED亮的数量不一样就组成了各种画面,通过调节定时器,就会有一种绚丽的动画效果。

本文使用的是STC12c5a60s2单片机,因为其程序存储空间大,stc89c52rc单片机完全可胜任(验证),只是程序太多要想办法了。

原理图:

本试验中P0口控制8个74hc573的锁存端,P1控制每层与uln2803相连,P2口传输到74hc573数据。本文使用动态扫苗,基于我之前做的16x16点阵文字移动显示程序,程序简单易懂,但是代码较多。

程序:

#include

sbit LA0=P0^0; /*定义8个74hc573锁存脚*/ sbit LA1=P0^1;

sbit LA2=P0^2;

sbit LA3=P0^3;

sbit LA4=P0^4;

sbit LA5=P0^5;

sbit LA6=P0^6;

sbit LA7=P0^7;

sbit KEY=P3^7; /*定义暂停开关*/

void KEYKONG(); /*按钮程序*/

unsigned char code ceng[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /*8层控制代码每次亮一层*/

unsigned char code di[1224][8]={

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}, /*动画代码,纵向扫描*/

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 1*/

{0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x38},

{0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44},

{0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04},

{0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c},

{0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04},

{0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44},

{0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x38},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 2*/

{0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38},

{0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44},

{0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 3*/

{0x38,0x38,0x38,0x38,0x00,0x00,0x00,0x00},

{0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00},

{0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00},

{0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00},

{0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00},

{0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00},

{0x38,0x38,0x38,0x38,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 4*/

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 4*/ {0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 4*/ {0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*3 4*/ {0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x7c,0x7c,0x7c,0x7c}, /*2 1*/ {0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08},

{0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04},

{0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04},

{0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44},

{0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x38},

{0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c}, /*2 2*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44},

{0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38},

{0x7c,0x7c,0x7c,0x7c,0x00,0x00,0x00,0x00}, /*2 3*/ {0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00},

{0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00},

{0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00},

{0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00},

{0x38,0x38,0x38,0x38,0x00,0x00,0x00,0x00},

{0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, /*2 4*/ {0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, /*2 4*/ {0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, /*2 4*/ {0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, /*2 4*/ {0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00},

{0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x38}, /*1 1*/ {0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30},

{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},

{0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38}, /*1 2*/ {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x38,0x38,0x38,0x38,0x00,0x00,0x00,0x00}, /*1 3*/ {0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00},

{0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00}, /*1 4*/ {0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00}, /*1 4*/ {0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00}, /*1 4*/ {0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00}, /*1 4*/ {0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00},

{0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, /*再斜1*/ {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*再斜2*/ {0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00}, /*由左往右4*/ {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, /*再斜1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*再斜2*/ {0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00}, /*由左往右4*/ {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, /*再斜1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*再斜2*/ {0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00}, /*由左往右4*/ {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF}, /*再斜1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},

{0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, /*内斜1*/

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, /*竖一中面4*/ {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*内斜2*/ {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, /*内斜1*/

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, /*竖一中面4*/ {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*内斜2*/ {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, /*内斜1*/

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, /*竖一中面4*/

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*内斜2*/

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ /*43*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{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}, /*扩展1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, /*扩展2*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*扩展1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ /*43*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{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}, /*扩展1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, /*扩展2*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*扩展1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /*横中面5*/ /*43*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{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}, /*扩展1*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, /*扩展2*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下9*/

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下8*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下7*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下6*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下5*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下4*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, /*下3*/ {0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04}, /*下2*/ {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, /*下1*/ {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, /*下1*/ {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04}, /*下2*/ {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, /*下3*/ {0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下4*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下5*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下6*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下7*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下8*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下9*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下9*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下8*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下7*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, /*下6*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下5*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40}, /*下4*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},

光立方设计原理

黎明途电子 一.光立方原理 你的思维有多宽,光立方的动画就有多多。我猜想大家做光立方都是为了能 随性所欲的控制每一个灯珠,来实现自己想的一些精美动画。那么,让我们从光立 方的原理开始入手。一讲到原理,估计很多同学就头痛了。这里借鉴在网上找的 一些资料来帮助大家理解光立方的原理。先从点阵的点亮原理说吧,如图所示 这是一张led 的点阵图,如果我们想要点亮任意位置的led,我们只要在该位置 led所使用的列线接地,行线接上+V即可。 学过单片机的朋友,都知道数码管是怎么点亮的,其中有位选和段选之分, 通过扫描来实现所有数码管能正常工作以实现我们想要的数字。 点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需 要用动态扫描的方式来实现,否则无法实现对其精准的控制。所谓动态扫描,就是说我们一次只能让一行排或者一竖排的灯亮。每次只能这么点亮,8次为一个周期,从 左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。

在这里,一共有8层。 想必大家对光立方的连接已经有了一定的了解,纵向一束的负极性引脚是要连在一起, 而横向一层的正极性角连在一起。从扫描的角度去说,那一次也只能够点亮一层。 这里光立方的一层有64个灯,我们想成之前那个8*8的平面点阵。光立方的每一层虽然有64个灯,但是我们会有64跟线分别连接到这些灯上,从而实现一次性的对64个灯进行控制。我们将一个立体画面从下往上分为8层,每次扫面一层这样一副画面就完成了。通常单片机引脚较少,我们采用74hc595芯片进行拓展(74hc595原理请参考595用户手册)。下面来一张电路图,此图是用595进行拓展的。 (这张图是模块原理图的截图,接线不是很清晰,可以参考原理图) 在图中,数据通过串行的方式,分别传送到每一个 74hc595中,再内部控制器储存这些数据,从而实现一层64个灯同时的点亮。 描述一个固定画面的显示,需要硬件执行8次扫描的过程。 1.将第一层64个点的数据传入8个74hc595中,控制uln2803层控制芯片打开第 一层开关,使第一层点亮,这个时候,其他层是灭的。 2.等待时间t。 3.熄灭第一层,开始向74hc595中传输第二层的数据,锁存,开启第二层总控制 开关,点亮第二层。 4.等待时间t。 .......

光立方制作教程

五一长假漫漫,时间很充分,正好有时间去干那些因为时间不足而搁置已久的一些想法,首先想到的是做一个光立方,器件年前就买了,因为时间问题被长久搁置了。 之前论坛已经有人晒过,不过有的只是作品展示,在此我将详细的向大家解析一下光立方的制作流程,望大家喜欢。先上资料: 首先是前期准备工作,器件的选取,我的器件清单如下:

LED选取:如果有条件的话可以使用7色彩灯,视觉效果将会更好。或者是长方形发光二极管,方便焊接。 制作前先按照下图对小灯进行弯折处理(如果看不懂的话,请努力发挥自己的空间想象能力,之后就会豁然开朗的),这是一个漫长而痛苦的过程,建议每天睡前折一些,我断断续续干了近十天吧!(五一前虽然大块时间没有,但是每晚折小灯的时间绝对是有的)实际焊接时,请注意变通,每一层都会有一行需要多弯一下的,以实现共阴处理。

主要器件如下:

先在万用板上规划一下光立方小灯之间的间隔,建议2CM为宜,用铅笔或者彩笔在板子上确定64个点,以方便下一步操作。 找一块木板,最小是20*20CM,我找的时候费了点劲,采用爆破拆出来的,然后把万用板放在木板上,四角用大头钉固定(以确保扎点时位置不变),用圆规进行采点,记住是64个点,是7*7的方格。不要因为计算错误,以适用万用板而导致光立方间隔过密。 采用手钻打孔,不直接用大钻,是防止打孔过程中,孔洞打偏。

大钻扩孔,钻头选择要适宜,防止LED小灯插上后不稳,或者插上焊完取不出来,我采用的是2.8/2.9的钻头。游标卡车是为了测钻头大小的。

焊接时,建议一列一列的焊接,(层共阴,列共阳)这样操作起来比较容易,防止全部插上在焊接时,过多的小灯产生阻碍,由于我是左撇子,所以我是从右向左焊接。这是焊接好的第一层。焊完之后,现将小灯阳极管教理顺,与共阴平面呈垂直关系,以方便之后焊接。将LED点阵层起下的时候,为美观起见,请注意不要破坏小灯的相对位置及高低层次,(为了增强光立方坚固度,建议,每层上跨接一些硬些的细铜丝)。 要牢记:焊完一层后切记要记得检测是否有小灯在焊接过程中损坏。检测方法如下:层接地,即阴极接地,用一个串有1K限流电阻的导线接5V,然后依次接小灯阳极。

8x8x8的光立方设计

《单片机技术》课程设计说明书 8*8*8的光立方 学院:电气与信息工程学院 学生姓名: 指导教师:职称讲师 专业:电气工程及其自动化 班级: 学号: 完成时间:2015年07月

摘要 光立方不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,为将来显示技术的进步和发展指导了方向,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。 本设计包括硬件系统的设计和软件系统的设计。其中硬件系统包括核心控制器AT89S52单片机;驱动电路模块:ULN2803作为层驱动,74LS573作为行驱动和列驱动;时钟信号电路模块:采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;显示模块:由512个发光二极管组成;供电模块:使用5V移动电源作为供电电源;键盘模块:由四脚按键组成。软件系统包括系统监控程序模块,光立方显示程序模块,键盘程序模块。通过软件编程控制数据下载到单片机完成设计图案的显示。软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。 关键词: AT89S52单片机;74HC573锁存器;8×8×8LED显示;ULN2803

目录 1 设计要求与方案 (1) 1.1 设计目的 (1) 1.2 设计要求 (1) 1.3 设计方案 (1) 2 光立方的工作原理 (2) 2.1 模块简介 (2) 2.2 工作原理 (3) 3 方案选择 (4) 3.1 电源的选择 (4) 3.23D显示核心控制器 (4) 3.3I/O口扩展芯片的选择 (5) 3.4LED发光二级管 (5) 4 硬件整体设计概述及功能分析 (7) 4.1 系统概述 (7) 4.2 单片机简介 (8) 4.3 时钟电路设计 (8) 4.4 复位电路设计 (9) 4.574HC573芯片介绍 (9) 4.6 ULN2803芯片介绍 (10) 5 硬件电路设计 (11) 5.1 硬件电路元件分布图 (11) 5.2 LED灯焊接方法 (11) 5.2.1 焊接前准备工作 (11) 5.2.2 焊接 (11) 5.3 整体实物图 (12) 6 主程序设计 (14) 6.1 程序流程框图 (14) 6.2 显示程序的设计 (15) 7 设计结果分析 (16)

光立方制作+程序讲解

光立方教程 今天,给大家带来光立方的制作教程,基于本人制作的经验,给各位想要做的朋友分享制作过程。 对于第一次制作的朋友,我们要先制作好一个日程表,如下图: 我们要弄好一个计划,就好像单片机运行程序一样。

当然,废话少说。接下来,我们需要一份购买材料的清单 如上图所示,我们需要购买的万能板需要购买18*30的规格。这样子才有足够的空间去安装我们的电子元件。 首先,我们需要用万能板作为骨架,每2cm*2cm就要焊接一个排针,上下左右间隔一样。不过对于初学者来说,一次性焊接64颗排针有点困难,所以我们需

要用胶布把每一颗排针固定好,然后上焊,当然这是一个快捷的方法,也适合所有的初学者 当我们把排针固定好后,我们只需要把板子翻过来焊接就可以了。 接下来,我们要把每一颗led灯折弯后侧着放置在排针中。从左到右,从上至下

的安放,安放好后,我们只需要把他们的脚焊接即可。折弯时记住使用镊子折弯。效果图如下图所示 显而易见,这是非常需要考焊功的活,各位制作时候要注意节点与节点之间的间距,并且注意焊点不要点太多的锡,会影响做出来的效果与美观。接下来,我们

把弄好的8排led插在万能板上,注意:我们要注意每排之间的间隔。 下一步,我们需要在把每排led的共阴极连接在一起,一共8层,每层都要连接好,当我们把每层连接好后,我们要在每层的末端或者初始端接一条输出线,作为共阴极连接UNL2803。 当然,我们连接UNL2803的前提是先把芯片接好。小编我直接把芯片焊接在板子上,这种方法对于初学者来说不可取,需要弄芯片底座,不然芯片烧掉了就很

难拆下来了。 接下来我们要按照电路图接线路了(是不是很开心,终于可以接线路了,好戏在后头),下面是74HC573集成电路的接法: 首先我们先分析一下原理图:74HC573的1D~8D都连接在一起,然后再接到单片机的P0.0~P0.7端口;1Q~8Q分别连接每排的共阳里,就是焊接在电路板上的光立方引脚;至于LE要分别接到单片机的P2.0~P2.7。 当然上图是我的接线实物图,是不是很乱 ,当然,只要我们可以把思路可以理

光立方制作常见问题(光立方使用教程)

光立方制作常见问题 1、问:led面与面正极连接到最后一面的正极怎么连接? 答:剪掉最后一面led正极就可以了。 2、问:怎么连接音乐? 答:用我们用的音频线连接手机或者电脑输入音乐,光立方要调到音乐模式(开机后先按K1键,再按K4键进入音乐模式),如果光立方动画没有跟着音乐闪,可以调节输入音量的大小,观看光立方的变化。 3、问:为什么光立方不能播放音乐? 答:光立方本身是不带音乐的,有音乐频谱功能,用手机输入音乐,外接音箱就可以了。 4、问:为什么音乐输出有杂音? 答:光立方需要的电流比较大,灯亮得比较多的时候,需要很大的电流,会影响到音频的信号,使用2A电源供电就可以解决问题了。 5、问:上位机怎么用? 答:上位机功能是使用上位机软件在电脑上操控光立方,连接步骤:(1)、连接下载器,用四个杜邦线连接到光立方对应的接口上(把鼠标放在计算机图标上右键点管理,在里面可以看到下载器的端口) (2)、光立方调到上位机模式(开机先按K1键,再按K2键进入上位机模式)(3)、打开上位机软件

下载器与光立方的连接线: GND 接 GND 5v或者VCC 接 5v或者VCC RXD 接 RXD TXD 接 TXD 由于光立方的电流会影响到下载器,所以5V那条线不用接,直接用电源线供电,下载的时候单片机需要冷启动( 意思就是单片机需要断电后再重新上电才能下载),把电源开关当做冷启动就行,下载器连接好到,需要断开开关再 重新上电就可以下载了,上位机的连接方法一样(不用冷启动,不用拨电源线再插上),用电源线直接供电就行。 6、问:测试主板的时候有灯常亮或者不亮是什么问题? 答:主板焊接问题,请重新加锡焊接下对应的贴片芯片就可以了,不清楚焊接哪个芯片的话,麻烦看资料里面的原理图。 7、问:光立方全部制作好了,之前使用好好的,现在发现有一层的灯跟着其它层一起亮,其它层亮的时候那一层也跟着微亮是怎么原因呢? 答:那一层有哪个灯坏了,找出那个灯换掉就可以了。查找方法:(1)看那层有没有灯不亮的或者亮得不一样的,如果有把它换掉就可以了(2)如果没有第一种情况,那就用拔除法查找,先一排一排的拆掉那一面的正极,每拆一排的时候都要测试还有没有之前那种情况。 8、问:光立方自动死机重启,只运行到一点动画就重启了,重新上电也一样,是不是程序有问题啊? 答:亲不用当心,这不是程序问题,这是电源供电问题,请换一个2A电流电源供电就可以(用电脑供电电流达不到要求)

光立方设计报告

光立方设计报告

一、要求 1、利用单片机控制8*8*8的LED灯显示3D图形。 2、进行实物焊接,调试。 二、设计思路 首先,8*8*8光立方是由8个相同的面组成,每一个面有64个蓝色LED灯,不同的图案又这些点连接而成。如果我们想要驱动任意一个LED灯,我们让列接地,行接正极就可以实现,因此整个立方体列共阴极,行共阳极。实际上这个就是控制512个LED 的不同灯点亮。 三、电路设计 主要分为主控模块、驱动模块、显示模块 1、主控模块 主控模块我们选用STC12C5A60S2

图1 主控电路 其中C1、C2为去耦电容防止高频干扰2、驱动模块

图2 行驱动电路 可以用一个3—8译码器选择8个不同的共阳极层,但是译码器的驱动能力差,中间可以用双P沟道MOS管APM4953来增强驱动能力。这样就可以控制点亮不同的层。 图3 列驱动电路 我们可以用5026来选择不同的列,一片5026就可以控制16列,

一共有64列,因此只需要用到4片。在每一片5026电源端上加一个电容,主要防止高频干扰。 3、显示模块 每一个LED的负端都连接在一起,构成一列;每一层的LED 的阳极连在一起。一层一列刚好可以确定一个LED灯。这样就 可以通过主控电路和驱动电路来点亮所要点亮的LED,组成我 们想要的图案。 四、元器件选择 (1)由于光立方的程序量比较大,而且要求相对比较高,因此我们决定用51系列的增强型芯片STC12C5A60S2,选择的理由: 1.无法解密,采用第六代加密技术; 2.超强抗干扰; 3.内部集成高可靠复位电路,外部复位可用可不用; 4.速度快; (2)4953的作用:行驱动管,功率管。 每一显示行需要的电流是比较大的,要使用行驱动管,每片4953可以驱动2个显示行,其内部是两个CMOS管,1、 3脚VCC,2、4脚控制脚,2脚控制7、8脚的输出,4脚控 制5、6脚的输出,只有当2、4脚为“0”时,7、8、5、6 才会输出,否则输出为高阻状态。 (3)SN74HC245DW,8路双向总线收发器,具有三态输出;74HC245八路总线收发器被设计用于数据总线之间的异步双向通信。

基于单片机的光立方设计

XXXX大学本科课程设计 题目:基于单片机的光立方设计姓名: 学号: 院(系): 专业、年级: 指导教师: 二○XX年X月

一、设计任务 在当今信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。新型的大屏幕要求显示画面色彩鲜艳,立体感强,静如油画,动如电影,这些设计广泛应用于交通运输、车站、商场、医院、宾馆、证券市场、工业企业管理等公共场所。本设计旨在利用人眼视觉暂留的特点,通过AT89C52单片机控制一个由64盏LED灯组成的四层光立方模拟3D显示效果,实现三维显示。 该光立方具有以下功能: 1)能单独点亮每一个LED灯; 2)能点亮任意一条线上的LED灯; 3)能同时点亮任意一个面上的LED灯; 4)能同时点亮所有的LED灯; 5)能让LED灯自由亮灭,产生不同的显示效果。 二、设计方案 1、单片机资源分配情况 将LED光立方分成4层,分别由单片机的P2.0,P2.1,P2.2,P2.3,四个IO 口来控制每一层,由于采用的是共阳极所以当层电位为高电平有效,由P0口和P1的总共16个IO口来控制每层的16盏灯,低电平有效,P0口加上拉排阻。这样就可以通过控制IO口的输出电平来控制每盏灯的亮灭。 2、系统框图 本系统主要由时钟电路、复位电路、LED光立方电路组成;时钟电路和复位电路作为单片机输入,LED光立方电路作为单片机输出,显示出控制结果如图2- 1所示。 时钟电路:单片机的各个功能部件的运行都是以时钟控制信号为基准,一拍一拍的工作。因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的可靠性和稳定性。常用的时钟电路设计为内部时钟方式,单片机内部有一个由反向放大器构成的振荡电路,芯片上的XTAL1和XTAL2分别为振荡电路的输入和输出端。只要在这两个引脚上接一个石英晶体振荡器和两个微调电容就构成内部方式的振荡器电路,由振荡器产生自激振荡,便构成一个完整的振荡信号发生器。 复位电路:通过某种方式,使单片机内部各类寄存器的值变为初始状态的操作称为复位,复位主要通过外部电路实现。常见的复位电路包括上电复位、手动

3D8光立方制作

3D8光立方制作 目录 一、摘要 (1) 二、关键字 (1) 三、引言 (2) 四、正文 (2) (一)、主要元件介绍 (3) 1、STC12C5A60S2 (3) 2、74HC573 (3) 3、ULN2803 (4) (二)、工作原理 (5) 1、驱动模块原理 (6) (三)、元器件选择 (7) (四)、制作、调试 (8) 1、制作 (9) 2、调试 (11) 五、结束语 (13) 六、参考文献 (12) 七、附录(程序) (13)

光立方 一、摘要: 本设计采用8*8*8 的模式,硬件主要分为三个模块:主控模块、驱动模块、显示模块。采用的主控芯片为STC12C5A60S2 芯片,驱动电路是采用我们常用74HC573数字芯片。数组 OUT[0]代表光立方从第一层 D0 到第八层 D0 的数据,以此类推数组 OUT[1] 代表光立方从第一层 D1 到第八层 D1 的数据。本设计采用C语言编程,利用单片机控制LED的亮灭,采用延时控制LED亮灭时间,最终使得整个立体展现不同的造型和图案,使其变得美轮美奂、绚丽多彩。 二、关键字: LED光立方,74HC573,STC12C5A60S2,ULN2803 三、引言: 光立方是由四千多棵光艺高科技“发光树”组成的,在2009年10月1日天安门广场举行的国庆联欢晚会上面世,这是新中国成立六十周年国庆晚会最具创意的三大法宝之首,自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注。国庆联欢晚会三样法宝,光立方为最,“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙。“光立方”可以根据爱国歌曲的不同内容,展示不同的造型和图案,具有丰富的视觉效果。 四、正文 (一)主要元件介绍: 1、STC12C5A60S2 STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。 1)增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051 2)工作电压:STC12C5A60S2系列工作电压:5.5V- 3.3V(5V单片机) 3)工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz 4)应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节 5)片上集成1280字节RAM 6)外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿 中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,

光立方讲解

电子DIY光立方制作教程淘宝店铺:https://www.wendangku.net/doc/7613647790.html,/

题记:本人刚毕业的学生兼职做DIY小东西,看到这个比较漂亮就多做了几套 兼职。提供技术支持,可在旺旺上询问,或者加QQ。网上看到很多都是光立方的例子,这里首先声明,本程序并非自己独立编写。是从网上copy 下来,修改。代码比较长,第一次下载下来的时候,很多程序都是残缺程序,有些人随意更改一些语句导致不能正常运行。下面就让我来教大家一起来做光立方。 一、光立方原理 你的思维有多宽,光立方的动画就有多多。我猜想大家做光立方都是为了能随性所欲的控制每一个点,来实现自己想的一些精美动画。那么,让我们从光立方的原理开始入手。一讲到原理,估计很多同学就头痛了。这里借鉴在网上找的一些资料来帮助大家理解光立方的原理。先从点阵的点亮原理说吧,如图所示 这是一张led的点阵图,如果我们想要点亮任意位置的led,我们只要在该位置led所使用的列线接地,行线接上+V即可。 学过单片机的朋友,都知道数码管是怎么点亮的,其中有位选和段选之分,

通过扫描来实现所有数码管能正常工作以实现我们想要的数字。 点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需要用扫描的方式来实现否则,无法实现对其精准的控制。所谓扫描,就是说,我们一次只能让一行排或者一竖排的灯亮。每次只能这么点,8次为一个周期,从左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。 在这里,一共有8层,想必大家对光立方的连接已经有了一定的了解,纵向一束的某根引脚是要连在一起,而横向一层的另一根一角连在一起。从扫描的角度去说,那一次也只能够点亮一层。为什么这么说呢?这里光立方的一层虽然有64个灯,但不要想成之前那个8*8的平面点阵,一般情况下,8*8的平面点阵需要进行一个周期的扫描,才能将图像映像到点阵上,而我们的光立方,因为纵向需要扫描所以横向不允许再去做扫描,那样会影响到亮度以及效,率,更影响成像效果。 所以一般情况下,光立方的每一层虽然有64个灯,但是我们会有64跟线分别连接到这些灯上,从而实现一次性的对64个灯进行控制,通常单片机引脚较少,一般将采用74hc573,74hc595等芯片进行拓展。 下面来一张电路图,此图是用573进行拓展的。 (这张图是从网上copy的,接线比较清晰,不是本人做的原理图)

取模软件(上位机)与光立方通信程序

/*版权所有,翻版必究!! 题目:上位机与单片机通信 功能:锁存器、三极管控制口,上位机送数据给单片机,显示任意图案作者:肖锦鹏 日期:2013年9月11 */ #include #define uchar unsigned char #define uint unsigned int uchar x,y,face,a,b; uchar i=0; uchar shuzu[8][8]; // //uchar shuzu[8][8]={ //0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, //0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, //0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, // // }; //显示固定图案,数组可任意改动 // void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=10;y>0;y--); } void init() { TMOD=0x22; TH1=0XFf; //波特率设置,波特率为57600 TL1=0XFf; TH0=0x00; TL0=0x00; TR1=1; TR0=1; SCON=0X50;

光立方电路原理图

7:C3 p1^2 ST B08 RCK 6:C1 p1^1 SH B09 SCLK 5:C2 p1^0 DS B10 SI

8:C4 5V 7:C3 p1^2 ST B08 RCK 6:C1 p1^1 SH B09 SCLK 5:C2 p1^0 DS B10 SI 4 3:GND 2 1:7V Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 1 2 3 4 5 6 7 8 A B C D E F G H 这是用595的电路,材料清单如下: 1:8个74HC595(封装为DIP—16); 2:2个74HC04(封装为DIP—14); 3:2个30PF的瓷介电容;一个10UF的电解电容;一个220UF的电解电容; 4:一块89C516(单片机); 5:每个芯片配套的座子; 6:24或者12MHZ的晶振; 7:1个1K,1个10K(都是碳膜电阻); 8:一个按键开关,3个按键; 9:最好买600个灯,因为焊接的时候可能会损坏(颜色随便你自己选择); 10:你可以考虑买4个铜柱; 备注:上面的3个按键可以只要1个,另外2个是我设计的外部中断,你可以不用它;同时我自己有开发板,所以我没有设计程序下载电路,全以最节省的方案为前提,你只要把单片机在开发板上下载好程序,再插到光立方上就好了。同时画电路时每个芯片的电源引脚隐藏了,(单片机是20接负,40接正;595是8接负,16接正;7404是7接负,14接正。),还有注意电解电容的极性。关于你接电源的问题是你自己的事,我是在板子上面安装了一个USB的接口供电。

这是用573的电路,材料清单如下: 1:8个74HC573(封装为DIP—20); 2:2个74HC04(封装为DIP—14); 3:2个30PF的瓷介电容;2个10UF的电解电容;一个220UF的电解电容; 4:一块89C516(单片机); 5:每个芯片配套的座子; 6:24或者12MHZ的晶振; 7:1个1K,2个10K,8个500欧(都是碳膜电阻); 8:一个按键开关,1个按键; 9:最好买600个灯,因为焊接的时候可能会损坏(颜色随便你自己选择); 10:你可以考虑买4个铜柱; 备注:画电路时每个芯片的电源引脚隐藏了,(单片机是20接负,40接正;573是10接负,20接正;7404是7接负,14接正。),还有注意电解电容的极性。关于你接电源的问题是你自己的事,我是在板子上面安装了一个USB的接口供电。 还有就是这个电路我没有画全,因为全部都一样的: 就是: 1:把8个573的2—9引脚对应接在一起; 2:把8个573的11脚接在一起;

光立方基于74hc595的上位机(取模软件)控制程序

光立方基于74hc595的上位机(取模软件)控制程序 #include //头文件 #include//头文件 #define uchar unsigned char//宏定义 sbit SHCP=P1^0;//595移位寄存器时钟,上升沿有效 sbit STCP=P1^1;//595存储器时钟,上升沿有效 sbit DS=P1^2;//数据输入端 sbit OE=P1^3;//数据输出端 sbit KEY1=P3^0;//组合按键 sbit KEY2=P3^1;//调时按键 sbit KEY3=P3^2;//调分按键 uchar i,j,hour,min,sec;//定义的全局变量,初值默认为零 uchar tab1[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90,0xbf};//0-9,和分隔符-的段码(共阳数码管) uchar tab2[]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};//位选码 /*………延时子程序…………*/ void delay(uchar time)//入口参数time { uchar m,n;//定义局部变量 for(m=0;m

8x8x8 光立方设计报告

目录 摘要 (1) Abstract (1) 第一章绪论 (2) 1.1 光立方的意义: (2) 1.2 目的 (2) 1.3 章节安排 (5) 第二章基础软件技术介绍 (6) 2.1 proteus软件简介 (3) 2.2 Protel Dxp技术简介 (3) 2.2.1 Protel Dxp软件介绍 (3) 2.2.2 Protel Dxp基本技术 (3) 2.3 keil_μVision4软件 (4) 2.4 章节小结 (5) 第三章设计方案 (8) 3.1 总体设计方案 (5) 3.3元件的选择 (6) 3.4 本章小结 (7) 第四章基础硬件设计 (11) 4.1 74HC573芯片 (8) 4.2 STC12C5A60S2 (8) 4.3 ULN2803 (13) 4.4 本章小结 (13) 第五章软件设计 (14) 5.1 软件简介 (14) 5.2 程序流程图 (14) 5.3 主函数 (14) 5.4 本章小结 (14) 第六章系统调试与测试 (15) 第七章检测结果与分析 (16) 第八章总结与展望 (16) 第九章谢辞 (17) 参考文献 (17) 附录 (18)

摘要 随着电子行业的不断发展,单片机的应用从根本上改变了传统的控制系统设计思想和设计方法,已广泛的应用在工业自动化、通信、自动检测、信息家电、电力电子航空航天等各个方面。成为现代生产和生活中不可缺少的一部分。 此次我们正是利用单片机的知识,制作光立方,同时利用C语言进行编程,制作出自己想要的动画效果,并通过LED灯显示出我们编程的效果。 本次作品采用的是8*8*8的模式,大概的距离是14cm*14cm*20cm(长.宽.高),主要分为三个模块:主控模块、驱动模块、显示模块;结合单片机和C 语言的学习,我们采用的主控芯片60K STC12C5A60S2芯片,驱动电路是采用我们常用的74HC573数字芯片。 通过这次光立方的制作,我学习了许多单片机知识,进一步加强了protues、protel dxp软件学习。此外,对C语言的掌握也进一步提高。由于此次采取小组合作完成作品,在团队学习和集体协作方面上体会更为深刻了。也让我得到进一步的锻炼。 关键字:光立方 74HC573 STC12C5A60S2 ULN2803 Abstract With the development of electronic industry, the application of SCM change control system design idea and method of the traditional fundamentally, have been widely used in various industrial automation, communications, automatic detection, information household appliances, power electronics fields of Aeronautics and astronautics. Become an indispensable part of modern production and living. The US is the use of SCM knowledge, build the cube, and the use of C language programming, making their own to animation, and through the LED lamp shows our programming effect. With this work is the 8*8*8 model, the distance is about 14cm*14cm*20cm (long. Wide. High), mainly divided into three modules: the main control module, a driving module, display module; based on MCU and C language learning, the main control chip 60K STC12C5A60S2 chip we used, drive circuit is used in our common the 74HC573 digital chip. Through the production of light cube, I learn a lot of knowledge of SCM, and further strengthen the Protues, PROTEL DXP software learning. In addition, also further improve the C language learning. Because of the team to take work to complete, in team learning and teamwork experience more profound. Let me get the further exercise. Keywords: optical cubic 74HC573 STC12C5A60S2 ULN2803

8x8x8LED光立方原理加程序

8x8x8LED光立方 周渴望南阳理工学院Q418084696 功能;通过自定义代码实现LED炫丽动画效果。 通过按钮P3-7按钮实现动画与暂停。 底面是512个LED分成64组的共阳极由8个74hc573控制,每层64个LED 共阴极接在一起,共引出8跟负极与uln2803相连由其控制(这里注意uln280输出高电平LED负极通,低电平LED负极断)。 原理:先点亮最下层LED,假设8个74hc573全输出高电平,uln2803控制最下层输出高电平,那么最下层64个LED都点亮,延时10ms到5ms,关断最下层显示开通第二层假设也是8个74hc573全输出高电平,那么倒数第二层64个LED 全亮,再延时2ms到5ms那么以此类推每层的LED64个全都会亮,由于从第一层亮到最后一层亮时间小于50ms,由于人眼睛视觉暂留效果,就会觉得是全部层一起亮的,这样就“一起”点亮了512个LED。 其实每层的LED亮的数量不一样就组成了各种画面,通过调节定时器,就会有一种绚丽的动画效果。 本文使用的是STC12c5a60s2单片机,因为其程序存储空间大,stc89c52rc单片机完全可胜任(验证),只是程序太多要想办法了。 原理图: 本试验中P0口控制8个74hc573的锁存端,P1控制每层与uln2803相连,P2口传输到74hc573数据。本文使用动态扫苗,基于我之前做的16x16点阵文字移动显示程序,程序简单易懂,但是代码较多。

程序: #include sbit LA0=P0^0; /*定义8个74hc573锁存脚*/ sbit LA1=P0^1; sbit LA2=P0^2; sbit LA3=P0^3; sbit LA4=P0^4; sbit LA5=P0^5; sbit LA6=P0^6; sbit LA7=P0^7; sbit KEY=P3^7; /*定义暂停开关*/

全彩光立方程序参考

/*******每层共阴*****/ /******2012年12月20日******/ #include # include #define ss unsigned char #define mm unsigned int sbit gong_yin1=P2^0 ; //最顶层 sbit gong_yin2=P2^2 ; //第三层 sbit gong_yin3=P2^3 ; //第二层 sbit gong_yin4=P2^4 ; //最底层 ss di00[]={1,0,1,0,1,0,1,0,1}; ss di01[]={0,1,1,1,0,1,1,1}; ss di10[]={0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1}; ss gong_yang10[]={0x0f,0x8e,0x8c,0x88,0x80,0x00,0x00,0x00,0x10,0x11,0x60,0x40,0x00,0x20}; ss gong_yang30[]={0x00,0x00,0x08,0x88,0xc8,0xe8,0xf0,0x71,0x31,0x11,0x00,0x04,0x06,0x02}; ss gong_yang11[]={0x01,0x33,0x77,0xff,0xe0,0x00,0x00, 0x08,0xcc,0xee,0xff,0x70,0x00,0x00}; ss gong_yang31[]={0x00,0x00,0x07,0xff,0xee,0xcc,0x80, 0x00,0x00,0x0e,0xff,0x77,0x33,0x10}; ss gong_yang12[]={0x48,0x44,0x22,0x21,0x30,0xc0}; ss gong_yang32[]={0x12,0x22,0x44,0x84,0x0c,0x03}; ss gong_yang13[]={0x0f,0xf0,0x00,0x00}; ss gong_yang33[]={0x00,0x00,0x0f,0xf0}; /*********延时*********/ void delay(mm time) {mm i,j; for(i=0;i

888光立方程序

#include #include #define uchar unsigned char #define uint unsigned int uchar display[8][8]; /*rank:A,1,2,3,4,I,心,U*/ uchar code table_cha[8][8]={0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18,0x18,0x1 8,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60,0x66,0x3c,0x30,0 x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0xff,0xff,0xff, 0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x3c}; /*the "ideasoft"*/ uchar code table_id[40]={0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf8,0x27,0x27, 0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,0x81,0x81,0xff,0x00,0xff,0x09,0x09,0x09,0x01,0x0,0x01, 0x01,0xff,0x01,0x01,0x00}; /*railway*/ uchar code dat[128]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc ,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd ,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x4a,0x6a,0x8a,0xaa,0xae,0xb2 ,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0 xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0 xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0x e4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x 4}; /*railway 2*/ uchar code dat2[28]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc ,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4}; /*railway 3*/ uchar code

4X4X4光立方C程序(含制作方法和电路图)

一、4X4X4光立方源程序 #include #include #define uint unsigned int #define uchar unsigned char unsigned int scale; //占空比控制变量 unsigned char code tabP0[38][8]={0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00}; unsigned char code tabP2[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //扫描 unsigned char code PWMsz[8]={0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00}; //中间四个 /******************************************************************** * 名称: Delay_1ms() * 功能: 延时子程序,延时时间为1ms * x * 输入: x (延时一毫秒的个数) * 输出: 无 ***********************************************************************/ /************************************************************************/ //结束呼吸灯专用 uchar code table[]={ 0,0,1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36, 37,38,39,40,41,42,43,44,45, 46,47,48,49,50,51,52,53,54, 55,56,57,58,59,60,61,62,63, 64,65,66,67,68,69,70,71,72, 73,74,75,76,77,78,79,80,81,82, 83,84,85,86,87,88,89,90,91, 92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125, 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,1 48,149,150}; void delay(uint z) { uint x,y; for(x=80;x>0;x--) for(y=z;y>0;y--); }

相关文档