光立方原理图1
光立方设计制作(全过程、带程序连接)
摘要之前在网上看了一些光立方的演示视频,被它那些立体感吸引了。
想到自己学单片机也这么久了,于是乎就想做一个玩玩,同时可以复习一学期以来自己的编程能力和动手的能力,一举两得是一件很不错的事情。
向朋友要了一些资料,就开工了。
光立方顾名思义就是一个立方体,采用的是8*8*8的模式,整个立方大概是16cm*16cm*18cm(长.宽.高)的样子,主要分为三个模块:主控模块、驱动模块、显示模块;我所做的光立方,主控电路采用的主控芯片是STC12C5A60S2芯片,驱动电路是采用我们常用的74HC573数字芯片,以及ULN2803达林顿管。
关键字:光立方 74HC573 STC12C5A60S2 ULN2803电路原理图:图1.电路原理图元件的选择:(1)由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列的增强型芯片STC12C5A60S2,选择的理由:1.无法解密,采用第六代加密技术;2.超强抗干扰;3.内部集成高可靠复位电路,外部复位可用可不用;4.速度快,比8051快8-12倍;(2)由于灯的个数比较多,因此所需要的电流相对也比较大,所以选择ULN2803,ULN2803是八重达林顿,1 至8脚为8路输入,18 到11脚为8路输出。
驱动能力500MA \50V。
应用时9脚接地,要是驱动感性负载,10脚接负载电源V+。
输入的电平信号为0,或5V。
输入0是,输出达林顿管截止。
输入为5V电平时,输出达林顿饱和。
输出负载加在电源V+和输出口上,当输入为高电平时,输出负载工作;(3)由于在刚刚接触锁存器的时候,就接触了74HC573,对它的使用也比较成熟,因此在驱动部分使用了熟悉的74HC573,其优点有:1.高阻态;就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;2.数据锁存;当输入的数据消失时,在芯片的输出端,数据仍然保持;3.数据缓冲; 加强驱动能力;(4)LED灯的选择,出于外观和整体的形状美观,个人推荐雾面蓝光方型LED。
光立方的原理
光立方的原理
光立方是一种新型的光学器件,它可以将光线聚焦到一个小小的区域内,从而实现高效的光能利用。
光立方的原理主要是基于全息光学和微纳加工技术,通过精密的设计和制造,使得光线在器件内部发生多次反射和折射,从而达到聚焦和控制光线的目的。
首先,光立方的原理基于全息光学的原理。
全息光学是一种利用光的干涉和衍射现象来记录和再现物体光学信息的技术。
通过使用激光束和干涉仪等设备,可以将物体的光学信息记录在一块光敏材料上,形成全息图。
而光立方正是利用这种全息图的原理,通过设计和制造特定的结构,使得光线在器件内部按照全息图的信息进行反射和折射,从而实现光线的聚焦和控制。
其次,光立方的原理还涉及到微纳加工技术。
微纳加工技术是一种利用微米和纳米尺度的加工方法,制作微小器件和结构的技术。
通过使用光刻、离子束雕刻、等离子体刻蚀等技术,可以在材料表面上制造出微米甚至纳米尺度的结构。
而光立方正是通过这些微纳加工技术,制造出具有特定形状和尺寸的结构,从而实现对光线的精确控制和调节。
综上所述,光立方的原理主要是基于全息光学和微纳加工技术,通过精密的设计和制造,实现对光线的聚焦和控制。
这种新型的光学器件具有高效的光能利用和精密的光学调节能力,可以应用于太阳能电池、激光器、光通信等领域,具有广阔的应用前景。
随着光学技术和微纳加工技术的不断发展,光立方将会得到进一步的改进和应用,为光学领域带来更多的创新和突破。
光立方设计
光立方
Include
架构
原理 组装制作
3D编程 实现效果 改进创新
3D光立方原理
8*8*8 3D光立方如右 图所示:每个面64个灯,共有 8层。只要控制这64个灯使其 能够自由变换,然后再通过控 制每层依次点亮即可,由于我 们眼镜的视觉暂留,使我们感 觉看到的东西是一起亮的。这 样我们就可以看到了一个完整 的个体。
3D光立方设计本身技 术并不复杂,但是也不是 很简单,更多的是需要耐 心
64束/每层
设计电路
学过点阵都知道,如果要 控制8*8点阵,需要16个引脚, 那么有8个8*8点阵,就要用8 个引脚来充当各个8*8点阵的 “开关”即可。电路的基本原 理就知道了。那么如何让一个 引脚来当64个灯的“总开关” 呢?
1个
12 音频线 3.5mm 立体声 1 条
13 miniUSB 线
1条
说明 底板、立板各1 片 扁平长引脚式 LQFP48 贴片封装 制作呼吸灯
滤波电容 1.5m 长 MiniUSB 转USB-A,1.5m 长
焊接
需要说的是,一定注 意每个灯的焊接时间和焊 接齐度,焊接整齐度直接 影响整个制作效果。
只要将64个灯阳极或阴极 连在一起,再接到这个引脚上 即可。
还有个问题:那就是如何 用16个引脚来控制这64个等 的另外64个引脚呢?
采用HC573暂存的方法,来 分别把64个灯的亮灭信息储存,然后 再一起输出到灯上,这样通过查询相应 芯片的型号可以确定基本电路。
电路原理
573的64个输出引脚控 制前面所述每一个面的64 个灯。
每一层的二极管是共 阴的。连在一起的是阴极。
焊接如右图所示。
3D编程
CUBE8 两个独特优势:
光立方讲解
电子DIY光立方制作教程淘宝店铺:/题记:本人刚毕业的学生兼职做DIY小东西,看到这个比较漂亮就多做了几套兼职。
提供技术支持,可在旺旺上询问,或者加QQ。
网上看到很多都是光立方的例子,这里首先声明,本程序并非自己独立编写。
是从网上copy 下来,修改。
代码比较长,第一次下载下来的时候,很多程序都是残缺程序,有些人随意更改一些语句导致不能正常运行。
下面就让我来教大家一起来做光立方。
一、光立方原理你的思维有多宽,光立方的动画就有多多。
我猜想大家做光立方都是为了能随性所欲的控制每一个点,来实现自己想的一些精美动画。
那么,让我们从光立方的原理开始入手。
一讲到原理,估计很多同学就头痛了。
这里借鉴在网上找的一些资料来帮助大家理解光立方的原理。
先从点阵的点亮原理说吧,如图所示这是一张led的点阵图,如果我们想要点亮任意位置的led,我们只要在该位置led所使用的列线接地,行线接上+V即可。
学过单片机的朋友,都知道数码管是怎么点亮的,其中有位选和段选之分,通过扫描来实现所有数码管能正常工作以实现我们想要的数字。
点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需要用扫描的方式来实现否则,无法实现对其精准的控制。
所谓扫描,就是说,我们一次只能让一行排或者一竖排的灯亮。
每次只能这么点,8次为一个周期,从左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。
在这里,一共有8层,想必大家对光立方的连接已经有了一定的了解,纵向一束的某根引脚是要连在一起,而横向一层的另一根一角连在一起。
从扫描的角度去说,那一次也只能够点亮一层。
为什么这么说呢?这里光立方的一层虽然有64个灯,但不要想成之前那个8*8的平面点阵,一般情况下,8*8的平面点阵需要进行一个周期的扫描,才能将图像映像到点阵上,而我们的光立方,因为纵向需要扫描所以横向不允许再去做扫描,那样会影响到亮度以及效,率,更影响成像效果。
所以一般情况下,光立方的每一层虽然有64个灯,但是我们会有64跟线分别连接到这些灯上,从而实现一次性的对64个灯进行控制,通常单片机引脚较少,一般将采用74hc573,74hc595等芯片进行拓展。
光立方的工作原理
光立方的工作原理
光立方由若干个二极管led灯以立方体形式搭建,4*4*4、8*8*8、16*16*16甚至更多,又由单片机、锁存器、译码器等电器元件驱动,形成立体动画效果。
其中8*8*8光立方最为常见。
例如:8*8*8光立方是由512个发光二极管按照立方体的方式搭建焊接起来的,有层共阴束共阳和层共阳束共阴两种方案,每一层有8*8个发光二极管,共8层。
用c语言编译单片机程序使自定义动画效果得以实现。
光立方工作原理
光立方简单讲就是用单片机控制很多规则排列的LED的亮和灭。
1、单个LED的控制方式
先了解单个LED的控制方式,可以是将正极接电源,负极通过一个限流电阻连接至单片机的某个IO口。
IO口输出低电平时,LED就亮,反之,LED灭。
光立方电路原理图及程序
74HC595 P E CK A GE =S OP 16
U10:D
b3 13 74HC04 12
C2 C1 C3
C4
220UF
1 2 3 4 5 6 7 8 +5V
P1.0/T2 P 1.1/T2E X P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7 AT89C52
U4
C1 f1 f2 11 14 C3 12 S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9
R3
500
+5V 29 30 31 PSEN ALE EA
U10:D
b3 13 12 74HC04
R5
500
C4
220UF
b0 b1 b2 b3 b4 b5 b6 b7
U4
2 3 4 5 6 7 8 9 11 c2 1 D0 D1 D2 D3 D4 D5 D6 D7 LE OE 74HC573 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
U2
C1 C2 +5V C3 11 14 12 S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9 C1 11 14 12 C3
U6
S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9
1 2 3 4 5 6 7 8 +5V
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52
光立方制作方法
光立方的制作01、LED灯珠,最好选择长脚5mm,雾状(乳状)蓝色的灯珠,效果更好。
记住,长脚的,不要短脚的,3mm的也可以,当然也能自己换喜欢的颜色,仅仅是推荐蓝色。
(话说我就是短脚的,结果效果很不好。
)价格在70-90元一包,一包1000个,店家不会散卖的。
02、74HC573,8个,记得要1-2元左右的,太便宜的可能是用过返新的,IC芯片都是一分钱一分货,便宜的全是旧的,别老想着贪便宜。
(建议买十个,多买两个以备特殊情况。
)03、UNL2803,1个,这个便宜,要0.5-1.5元的就行,同样建议买俩。
04、IC座,9个,不过一般商家不会单卖,一卖就得卖10或15个,这个可以多买点,记得买20P的。
一般0.2-0.6元一个。
05、焊接飞线,自己有导线也行,一定要结实耐用,准备10米,一定要多准备,我仅仅焊接一个9cm*12cm的驱动板就用了6米的飞线。
06、电阻,基本上100-500欧都可以,我用的是220欧的,用来接在UNL2803上,给LED 分压。
不过最好是100欧的,其实2803不加电阻也完全可以。
一般都是卖一包,很稍有单卖的,一包12-18元,买精度低的就行,精度低的便宜,12-15左右。
07、排针,用来焊接,这个就不多说了。
0.5元一排,40个。
08、杜邦线,8p的4个,2p的1个,建议多买点,以备不时之需。
0.25元一根,记得买30cm 的,短的不好使,8p的一般0.8-1.2元。
09、3节一体的电池盒,用于装3节5号南孚电池。
1.2-2元。
10、南孚电池,一板,5号的。
这个木有价格木有图。
11、洞洞板,初学者建议用面积比较大的,15cm*20cm的,别买太小的,不好焊接。
(话说我用的是9cm*12cm的,结果焊的时候那个纠结啊。
)稍微好点的8-16元,用单面覆铜的就行。
12、木板,用来做模具。
尽量找光滑的,容易打眼的,塑料板也行。
13、电烙铁,30W或40W的,如果有经济条件最好买防静电的,带焊台,手头不宽裕那就买十几块一个的普通电烙铁就行。
光立方设计电路原理图
光立方设计电路原理图7月的时候,做出了光立方,在杂志、网络发布以来,广受好评,这段时间来,收到很多网友的建议,因此决心把原有的光立方硬件升级,让电路更简单,程序更简洁,以前的设计是由16个IC驱动的,好处是有可切换的坐标系(详见《无线电》杂志第十期),但16个IC和128根连接线的工作量实在不小,虽然控制程序只有60多行,但硬件的复杂让很多初学者望而却步。
一直以来,我都在思考做什么样的设计给大家,就拿光立方来说,为了程序的简洁、易于理解,我的硬件电路不同于美国的原版设计,也因为8位单片机的局限性,这也是当时我能想到最好的解决方案。
程序的简化是硬件的复杂弥补的。
可是工作室的这种设计行吗?就效果而言是可行的,后来很多网友都仿做了出来,可我觉得不行。
美国原版的设计电路要比我的简单,那么有没有硬件更简单且程序更短的?抱着这种想法,我在11月初开始了设计,一周的时间,竟然完成了。
现在的光立方,硬件更简单,只有5个IC控制,不想用245的可以去掉,改为4个IC控制。
这样硬件电路焊接比起之前的设计,大为简化,连接线也由以前的128根改为72根(和美国原作一样)。
控制端口也有以前的三组改为2组16个。
程序不但没有加长,反而更加简短。
也不需要外接电源,USB供电即可。
我实物用的是手机充电器供电,5V500ma,效果很好。
这次的改进,唯一的缺点就是失去了可切换的坐标系,程序虽然简单,但需要一段时间理解。
接下来就是秉承工作室传统,开始图文解说。
因为改了硬件,动画代码应该也做修改的,以为工作繁忙,就没时间做这部分了,所以大家看到的图案是与之前比,是上下颠倒的,有耐心的同学自己可以修改动画字符,每行的动画字符左右对称调换位置即可。
这次的视频里,我特意修改的动画切换时间,而且这次也用的是非增强型单片机,就是想证明下,8位非增强型单片机,一样可以有这种效果,之前有网友评论说速度不够快,估计是没看程序就这么说了。
先是原理图(点击看高清源图):。
光立方的工作原理
光立方的工作原理
光立方是由多个点阵模块组成的发光装置,其工作原理是利用光在空气中的传播速度和折射率的变化,产生光的干涉现象。
具体来说,光立方中的每个点阵模块都包含多个发光二极管(LED),它们可以发出不同波长的光线。
当这些光线在空气传播时,它们会受到空气中的微小颗粒、水蒸气等物质的散射和反射,导致光的传播路径和相位发生变化。
当这些光线最终到达观察者眼睛时,由于光的干涉作用,会产生明暗交替的视觉效果,从而呈现出立体的图像。
光立方的每个点阵模块通常由多个LED组成,每个LED可以发出一种特定颜色的光线,例如红、橙、黄、绿、蓝、靛、紫等颜色。
总之,光立方是一种利用光的干涉现象和LED控制技术实现光影艺术表现的装置。
它不仅可以呈现出绚丽多彩的视觉效果,还可以用于展示广告、宣传、艺术作品等各种信息。
光立方_毕业论文(含程序原理图实物图)
目录摘要 .......................................................................................................................................................... X XX 关键词 ...................................................................................................................................................... X XX 1绪论 . 02总体设计 (1)工作原理 (1)各模块方案选择与论证 (1)单片机主控制模块 (1)驱动模块 (1)显示模块 (1)图2-2 雾面乳型LED灯 (2)3 系统硬件电路设计与实现 (2)硬件电路设计 (2)单片机最小系统 (2)驱动模块的设计 (4)主程序设计 (8)系统调试 (9)硬件测试 (9)软件测试 (10)结果分析 (10)6结论 (11)Keywords (13)致谢语 (14) (16) (16)程序清单 (17)#include <> (17)#define uchar unsigned char (17)#define uint unsigned int (17)sbit p30 = P1^0; (17)sbit p31 = P1^1; (17)sbit p32 = P1^2; (17)sbit p33 = P1^3; (17)sbit p34 = P1^4; (17)sbit p35 = P1^5; (17)sbit p36 = P1^6; (17)sbit p37 = P1^7; (17)uchar display[8][8]; (17)/*rank:A,1,2,3,4,I,心,U*/ (17)uchar code table_cha[8][8]={0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18, 0x18,0x18,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60 ,0x66,0x3c,0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0 x3c,0x3c,0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7 e,0x3c}; (17)/*the "ideasoft"*/ (17)uchar code table_id[40]={0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf 8,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}; (17)/*railway*/ (17)uchar code dat[128]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xf c,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x8 5,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,0x 6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25 ,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0 x31,0x2d,0x29,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}; (17)/*railway 2*/ (17)uchar code dat2[28]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xf c,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4}; (17)/*railway 3*/ (17)uchar code dat3[24]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,0x26,0x36,0x46,0x56,0x66,0x65,0x 64,0x63,0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10}; (17)/*3p char*/ (17)uchar codex3f,0x1f,0x0e,0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18}; (17)/*initializtion (17)That is to initialize the program (17)It is write to set the timer in c52 mcu (17)So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/ (17)void sinter() (17){ (17)IE=0x82; (17)TCON=0x01; (17)TH0=0xc0; (17)TL0=0; (17)TR0=1; (17)} (17)void delay5us(void) 误差 STC 1T (18){ (18)unsigned char a,b; (18)for(b=7;b>0;b--) (18)for(a=2;a>0;a--); (18)} (18)void delay(uint i) (18){ (18)while (i--){ (18)delay5us();}12t的mcu 注释这个延时即可 (18)} (18)/*To judge the num bit*/ (18)uchar judgebit(uchar num,uchar b) (18){ (18)char n; (18)num=num&(1<<b); (18)if (num) (18)n=1; (18)else (18)n=0; (18)return n; (18)} (18)/*To figure out the round number*/ (18)uchar abs(uchar a) (18){ (18)uchar b; (18)b=a/10; (18)a=a-b*10; (18)if (a>=5) (18)b++; (18)/*To figure out the absolute value*/ (18)uchar abss(char a) (18){ (18)if (a<0) (18)a=-a; (18)return a; (18)} (18)/*The function can comparat the character (18)And remove the big one to the back.*/ (18)void max(uchar *a,uchar *b) (18){ (18)uchar t; (18)if ((*a)>(*b)) (18){ (18)t=(*a); (18)(*a)=(*b); (19)(*b)=t; (19)} (19)} (19)/*The function is to figure out the max number and return it.*/ (19)uchar maxt(uchar a,uchar b,uchar c) (19){ (19)if (a<b) (19)a=b; (19)if (a<c) (19)a=c; (19)return a; (19)} (19)void clear(char le) (19){ (19)uchar i,j; (19)for (j=0;j<8;j++) (19){ (19)for (i=0;i<8;i++) (19)display[j][i]=le; (19)} (19)} (19)void trailler(uint speed) (19){ (19)char i,j; (19)for (i=6;i>=-3;i--) (19){ (19)if (i>=0) (19)display[j][i]=display[j][i+1]; (19)} (19)if (i<4) (19){ (19)for (j=0;j<8;j++) (19)display[j][i+4]=0; (19)} (19)delay(speed); (19)} (19)} (19)void point(uchar x,uchar y,uchar z,uchar le) (19){ (19)uchar ch1,ch0; (19)ch1=1<<x; (19)ch0=~ch1; (20)if (le) (20)display[z][y]=display[z][y]|ch1; (20)else (20)display[z][y]=display[z][y]&ch0; (20)} (20)void type(uchar cha,uchar y) (20){ (20)uchar xx; (20)for (xx=0;xx<8;xx++) (20){ (20)display[xx][y]=table_cha[cha][xx]; (20)} (20)} (20)/*The first variable is the distance from the midpoint. (20)The second is the layer (20)the third is the flash speed of the time between each two point. (20)The forth is the enable io,it controls weather draw or claen.*/ (20)void cirp(char cpp,uchar dir,uchar le) (20){ (20)uchar a,b,c,cp; (20)if ((cpp<128)&(cpp>=0)) (20){ (20)if (dir) (20)cp=127-cpp; (20)else (20)cp=cpp; (20)a=(dat[cp]>>5)&0x07; (20)b=(dat[cp]>>2)&0x07; (20)c=7-c; (20)point (a,b,c,le); (20)} (20)} (20)void line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le) (20){ (20)char t,a,b,c,a1,b1,c1,i; (20)a1=x2-x1; (20)b1=y2-y1; (20)c1=z2-z1; (20)t=maxt(abss(a1),abss(b1),abss(c1)); (20)a=x1*10; (20)b=y1*10; (21)c=z1*10; (21)a1=a1*10/t; (21)b1=b1*10/t; (21)c1=c1*10/t; (21)for (i=0;i<t;i++) (21){ (21)point(abs(a),abs(b),abs(c),le); (21)a+=a1; (21)b+=b1; (21)c+=c1; (21)} (21)point(x2,y2,z2,le); (21)} (21)void box(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le) (21){ (21)uchar i,j,t=0; (21)max(&x1,&x2); (21)max(&y1,&y2); (21)max(&z1,&z2); (21)for (i=x1;i<=x2;i++) (21)t|=1<<i; (21)if (!le) (21)t=~t; (21)if (fill) (21){ (21)if (le) (21){ (21)for (i=z1;i<=z2;i++) (21){ (21)} (21)} (21)else (21){ (21)for (i=z1;i<=z2;i++) (21){ (21)for (j=y1;j<=y2;j++) (21)display[j][i]&=t; (21)} (21)} (21)} (21)else (21){ (22)if (le) (22){ (22)display[y1][z1]|=t; (22)display[y2][z1]|=t; (22)display[y1][z2]|=t; (22)display[y2][z2]|=t; (22)} (22)else (22){ (22)display[y1][z1]&=t; (22)display[y2][z1]&=t; (22)display[y1][z2]&=t; (22)display[y2][z2]&=t; (22)} (22)t=(0x01<<x1)|(0x01<<x2); (22)if (!le) (22)t=~t; (22)if (le) (22){ (22)for (j=z1;j<=z2;j+=(z2-z1)) (22){ (22)for (i=y1;i<=y2;i++) (22)display[i][j]|=t; (22)} (22)for (j=y1;j<=y2;j+=(y2-y1)) (22){ (22)for (i=z1;i<=z2;i++) (22)display[j][i]|=t; (22)} (22)} (22)for (j=z1;j<=z2;j+=(z2-z1)) (22){ (22)for (i=y1;i<=y2;i++) (22){ (22)display[i][j]&=t; (22)} (22)} (22)for (j=y1;j<=y2;j+=(y2-y1)) (22){ (22)for (i=z1;i<=z2;i++) (22){ (23)display[j][i]&=t; (23)} (23)} (23)} (23)} (23)} (23)void box_apeak_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le) (23){ (23)uchar i; (23)max(&z1,&z2); (23)if (fill) (23){ (23)for (i=z1;i<=z2;i++) (23){ (23)line (x1,y1,i,x2,y2,i,le); (23)} (23)} (23)else (23){ (23)line (x1,y1,z1,x2,y2,z1,le); (23)line (x1,y1,z2,x2,y2,z2,le); (23)line (x2,y2,z1,x2,y2,z2,le); (23)line (x1,y1,z1,x1,y1,z2,le); (23)} (23)} (23)void poke(uchar n,uchar x,uchar y) (23){ (23)uchar i; (23)for (i=0;i<8;i++) (23){ (23)point(x,y,i,judgebit(n,i)); (23)void boxtola(char i,uchar n) (23){ (23)if ((i>=0)&(i<8)) (23){ (23)poke(n,0,7-i); (23)} (23)if ((i>=8)&(i<16)) (23){ (23)poke(n,i-8,0); (23)} (24)if ((i>=16)&(i<24)) (24){ (24)poke(n,7,i-16); (24)} (24)} (24)void rolldisplay(uint speed) (24){ (24)uchar j; (24)char i,a; (24)for (i=23;i>-40;i--) (24){ (24)for (j=0;j<40;j++) (24){ (24)a=i+j; (24)if ((a>=0)&(a<24)) (24)boxtola(a,table_id[j]); (24)} (24)delay(speed); (24)} (24)} (24)void roll_apeak_yz(uchar n,uint speed) (24){ (24)uchar i; (24)switch(n) (24){ (24)case 1: (24)for (i=0;i<7;i++) (24){ (24)display[i][7]=0; (24)display[7][6-i]=255; (24)delay(speed); (24)}; (24)break; (24){ (24)display[7][7-i]=0; (24)display[6-i][0]=255; (24)delay(speed); (24)}; (24)break; (24)case 3: (24)for (i=0;i<7;i++) (25){ (25)display[7-i][0]=0; (25)display[0][i+1]=255; (25)delay(speed); (25)}; (25)break; (25)case 0: (25)for (i=0;i<7;i++) (25){ (25)display[0][i]=0; (25)display[i+1][7]=255; (25)delay(speed); (25)}; (25)} (25)} (25)void roll_apeak_xy(uchar n,uint speed) (25){ (25)uchar i; (25)switch(n) (25){ (25)case 1: (25)for (i=0;i<7;i++) (25){ (25)line(0,i,0,0,i,7,0); (25)line(i+1,7,0,i+1,7,7,1); (25)delay(speed); (25)}; (25)break; (25)case 2: (25)for (i=0;i<7;i++) (25){ (25)line(i,7,0,i,7,7,0); (25)line(7,6-i,0,7,6-i,7,1); (25)delay(speed); (25)}; (25)for (i=0;i<7;i++) (25){ (25)line(7,7-i,0,7,7-i,7,0); (25)line(6-i,0,0,6-i,0,7,1); (25)delay(speed); (25)}; (26)break; (26)case 0: (26)for (i=0;i<7;i++) (26){ (26)line(7-i,0,0,7-i,0,7,0); (26)line(0,i+1,0,0,i+1,7,1); (26)delay(speed); (26)}; (26)} (26)} (26)void roll_3_xy(uchar n,uint speed) (26){ (26)uchar i; (26)switch(n) (26){ (26)case 1: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (0,i,0,7,7-i,7,1,1); (26)delay(speed); (26)if (i<7) (26)box_apeak_xy (3,3,0,0,i,7,1,0); (26)}; (26)break; (26)case 2: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (7-i,0,0,i,7,7,1,1); (26)delay(speed); (26)if (i<7) (26)box_apeak_xy (3,4,0,i,7,7,1,0); (26)}; (26)break; (26)case 3: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (0,i,0,7,7-i,7,1,1); (26)box_apeak_xy (4,4,0,7,7-i,7,1,0); (26)}; (26)break; (26)case 0: (26)for (i=0;i<8;i++) (27){ (27)box_apeak_xy (7-i,0,0,i,7,7,1,1); (27)delay(speed); (27)if (i<7) (27)box_apeak_xy (4,3,0,7-i,0,7,1,0); (27)}; (27)} (27)} (27)void trans(uchar z,uint speed) (27){ (27)uchar i,j; (27)for (j=0;j<8;j++) (27){ (27)for (i=0;i<8;i++) (27){ (27)display[z][i]>>=1; (27)} (27)delay(speed); (27)} (27)} (27)void tranoutchar(uchar c,uint speed) (27){ (27)uchar i,j,k,a,i2=0; (27)for (i=0;i<8;i++) (27){ (27)if (i<7) (27)box_apeak_xy (i+1,0,0,i+1,7,7,1,1); (27)box_apeak_xy (i2,0,0,i2,7,7,1,0); (27)a=0; (27)i2=i+1; (27)for (j=0;j<=i;j++) (27){ (27)a=a|(1<<j); (27)} (27)for (k=0;k<8;k++) (27){ (27)display[k][3]|=table_cha[c][k]&a; (27)display[k][4]|=table_cha[c][k]&a; (27)} (27)} (27)void transss() (28){ (28)uchar i,j; (28)for (i=0;i<8;i++) (28){ (28)for (j=0;j<8;j++) (28)display[i][j]<<=1; (28)} (28)} (28)/*From now on,the function below is to display the flash.*/ (28)void flash_1() (28){ (28)clear(0); (28)type(1,0); (28)delay(60000); (28)type(2,0); (28)delay(60000); (28)type(3,0); (28)delay(60000); (28)type(4,0); (28)delay(60000); (28)delay(60000); (28)clear(0); (28)rolldisplay(30000); (28)type(0,7); (28)delay(60000); (28)trailler(6000); (28)delay(60000); (28)} (28)void flash_2() (28){ (28)uchar i; (28)for (i=129;i>0;i--) (28){ (28)cirp(i-2,0,1); (28)delay(8000); (28)cirp(i-1,0,0); (28)} (28)delay(8000); (28)for (i=0;i<136;i++) (28){ (28)cirp(i-8,1,0); (29)} (29)delay(8000); (29)for (i=129;i>0;i--) (29){ (29)cirp(i-2,0,1); (29)delay(8000); (29)} (29)delay(8000); (29)for (i=0;i<128;i++) (29){ (29)cirp(i-8,1,0); (29)delay(8000); (29)} (29)delay(60000); (29)} (29)void flash_3() (29){ (29)char i; (29)for (i=0;i<8;i++) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i<7) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)for (i=7;i>=0;i--) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i>0) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)for (i=0;i<8;i++) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i<7) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)} (29)void flash_4() (29){ (30)an[j-7]=j; (30)for (i=0;i<=16;i++) (30){ (30)for (j=0;j<8;j++) (30){ (30)if ((an[j]<8)&(an[j]>=0)) (30)line(0,an[j],j,7,an[j],j,1); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (((an[j]+1)<8)&(an[j]>=0)) (30)line(0,an[j]+1,j,7,an[j]+1,j,0); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (an[j]>0) (30)an[j]--; (30)} (30)delay(15000); (30)} (30)for (j=0;j<8;j++) (30)an[j]=1-j; (30)for (i=0;i<=16;i++) (30){ (30)for (j=0;j<8;j++) (30){ (30)if ((an[j]<8)&(an[j]>=0)) (30)line(0,an[j],j,7,an[j],j,1); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (((an[j]-1)<7)&(an[j]>0)) (30)line(0,an[j]-1,j,7,an[j]-1,j,0); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (an[j]<7) (30)an[j]++; (30)} (30)delay(15000); (30)} (30)} (31)void flash_5() (31)char i=8,j,an[4]; (31)1 (31)for (j=7;j<11;j++) (31)an[j-7]=j; (31)while(i--) (31){ (31)for (j=0;j<4;j++) (31){ (31)if (an[j]<8) (31)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (31)if (an[j]<7) (31)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (31)} (31)for (j=0;j<4;j++) (31){ (31)if (an[j]>3) (31)an[j]--; (31)} (31)delay(a); (31)} (31)2 (31)i=3; (31)for (j=0;j<4;j++) (31)an[j]=5-j; (31)while(i--) (31){ (31)for (j=1;j<4;j++) (31){ (31)if (an[j]<4) (31)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (31)if (an[j]<3) (31)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (31)} (31)for (j=0;j<4;j++) (31){ (31)if (an[j]>0) (31)an[j]--; (31)} (31)delay(a); (31)} (32)3 (32)i=3; (32)for (j=1;j<4;j++) (32){ (32)for (j=1;j<4;j++) (32){ (32)if (an[j]>=0) (32)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (32)if (an[j]>0) (32)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (32)} (32)for (j=1;j<4;j++) (32){ (32)if (an[j]<3) (32)an[j]++; (32)} (32)delay(a); (32)} (32)4 (32)i=3; (32)for (j=0;j<4;j++) (32)an[j]=j+1; (32)while(i--) (32){ (32)for (j=1;j<4;j++) (32){ (32)if (an[j]>3) (32)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (32)if (an[j]>3) (32)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (32)} (32)for (j=0;j<4;j++) (32)an[j]++; (32)delay(a); (32)} (32)5 (32)i=3; (32)for (j=3;j<6;j++) (32)an[j-2]=j; (32)while(i--) (32){ (33)for (j=1;j<4;j++) (33){ (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (33)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (33)} (33)if (an[j]>3) (33)an[j]--; (33)} (33)delay(a); (33)} (33)6 (33)i=3; (33)for (j=0;j<4;j++) (33)an[j]=5-j; (33)while(i--) (33){ (33)for (j=1;j<4;j++) (33){ (33)if (an[j]<4) (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (33)if (an[j]<3) (33)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (33)} (33)for (j=0;j<4;j++) (33){ (33)if (an[j]>0) (33)an[j]--; (33)} (33)delay(a); (33)} (33)7 (33)i=3; (33)for (j=0;j<4;j++) (33)an[j]=3-j; (33)an[0]=2; (33)while(i--) (33){ (33)for (j=0;j<3;j++) (33){ (33)if (an[j]>=0) (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (34)} (34)for (j=0;j<4;j++) (34){ (34)if (j<5-i) (34)an[j]--; (34)} (34)8 (34)i=10; (34)for (j=0;j<4;j++) (34)an[j]=j-2; (34)while(i--) (34){ (34)for (j=0;j<4;j++) (34){ (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (34)} (34)for (j=0;j<4;j++) (34){ (34)if (an[j]<7) (34)an[j]++; (34)} (34)delay(a); (34)} (34)} (34)void flash_6() (34){ (34)uchar i,j,k,z; (34)roll_apeak_yz(1,10000); (34)roll_apeak_yz(2,10000); (34)roll_apeak_yz(3,10000); (34)roll_apeak_yz(0,10000); (34)roll_apeak_yz(1,10000); (34)roll_apeak_yz(2,10000); (34)roll_apeak_yz(3,10000); (34)for (i=0;i<3;i++) (34){ (34)for (j=0;j<8;j++) (35){ (35)for (k=0;k<8;k++) (35){ (35)if ((table_3p[i][j]>>k)&1) (35){ (35)for (z=1;z<8;z++) (35){ (35)point (j,7-k,z,1); (35)delay(5000); (35)} (35)} (35)} (35)} (35)trans(7,15000); (35)} (35)} (35)void flash_7() (35){ (35)uchar i; (35)uint a=3000; (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_yz(3,10000); (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_yz(3,10000); (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_xy(0,10000); (35)roll_apeak_xy(1,10000); (35)roll_apeak_xy(2,10000); (35)roll_apeak_xy(3,10000); (35)roll_apeak_xy(0,10000); (35)roll_apeak_xy(1,10000); (35)roll_apeak_xy(2,10000); (35)roll_apeak_xy(3,10000); (35)for (i=0;i<8;i++) (36){ (36)box_apeak_xy (0,i,0,7-i,i,7,1,1); (36)delay(a); (36)} (36)delay(30000); (36)roll_3_xy(0,a); (36)delay(30000); (36)roll_3_xy(1,a); (36)delay(30000); (36)roll_3_xy(2,a); (36)delay(30000); (36)roll_3_xy(0,a); (36)delay(30000); (36)roll_3_xy(1,a); (36)delay(30000); (36)roll_3_xy(2,a); (36)delay(30000); (36)roll_3_xy(3,a); (36)for (i=7;i>0;i--) (36){ (36)box_apeak_xy(i,0,0,i,7,7,1,0); (36)delay(a); (36)} (36)} (36)void flash_8() (36){ (36)uchar i; (36)for (i=5;i<8;i++) (36){ (36)tranoutchar(i,10000); (36)delay(60000); (36)delay(60000); (36)} (36)} (36)void flash_9() (36){ (36)char i; (36)uchar j,an[8],x,y,t,x1,y1; (36)for (i=0;i<8;i++) (36){ (36)box_apeak_xy (i,0,0,i,7,7,1,1); (36)if (i) (37)box_apeak_xy (i-1,0,0,i-1,7,7,1,0); (37)delay(10000); (37)} (37)roll_apeak_xy(3,10000); (37)roll_apeak_xy(0,10000); (37)roll_apeak_xy(1,10000); (37)for (i=0;i<7;i++) (37){ (37)line(6-i,6-i,0,6-i,6-i,7,1); (37)line(i,7,0,i,7,7,0); (37)delay(10000); (37)} (37)for (i=0;i<85;i++) (37){ (37)clear(0); (37)for (j=0;j<8;j++) (37){ (37)t=an[j]%28; (37)x=dat2[t]>>5; (37)y=(dat2[t]>>2)&0x07; (37)t=(an[j]-14)%28; (37)x1=dat2[t]>>5; (37)y1=(dat2[t]>>2)&0x07; (37)line(x,y,j,x1,y1,j,1); (37)} (37)for (j=0;j<8;j++) (37){ (37)if ((i>j)&(j>i-71)) (37)an[j]++; (37)} (37)delay(5000); (37)} (37)for (i=0;i<85;i++) (37){ (37)clear(0); (37)for (j=0;j<8;j++) (37){ (37)t=an[j]%28; (37)x=dat2[t]>>5; (37)y=(dat2[t]>>2)&0x07; (37)t=(an[j]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)line(x,y,j,x1,y1,j,1); (38)} (38)for (j=0;j<8;j++) (38){ (38)if ((i>j)&(j>i-71)) (38)an[j]--; (38)} (38)delay(5000); (38)} (38)for (i=0;i<29;i++) (38){ (38)clear(0); (38)y=(dat2[t]>>2)&0x07; (38)t=(an[0]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)box_apeak_xy(x,y,0,x1,y1,7,0,1); (38)box_apeak_xy(x,y,1,x1,y1,6,0,1); (38)an[0]++; (38)delay(5000); (38)} (38)for (i=0;i<16;i++) (38){ (38)clear(0); (38)t=an[0]%28; (38)x=dat2[t]>>5; (38)y=(dat2[t]>>2)&0x07; (38)t=(an[0]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)box_apeak_xy(x,y,0,x1,y1,7,1,1); (38)an[0]--; (38)delay(5000); (38)} (38)for (i=0;i<8;i++) (38){ (38)line(i,i,0,0,0,i,0); (38)delay(5000); (39)} (39)for (i=1;i<7;i++) (39){ (39)line(i,i,7,7,7,i,0); (39)delay(5000); (39)} (39)for (i=1;i<8;i++) (39){ (39)clear(0); (39)box(7,7,7,7-i,7-i,7-i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(0,0,0,7-i,7-i,7-i,0,1); (39)delay(10000); (39){ (39)clear(0); (39)box(0,0,0,i,i,i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(7,0,0,i,7-i,7-i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<8;i++) (39){ (39)box(7,0,0,7-i,i,i,1,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(0,7,7,7-i,i,i,1,1); (39)delay(10000); (39)} (39)} (39)void flash_10() (40){ (40)uchar i,j,an[4],x,y,t; (40)for (i=1;i<7;i++) (40){ (40)clear(0); (40)box(0,6,6,1,7,7,1,1); (40)box(i,6,6-i,i+1,7,7-i,1,1); (40)box(i,6,6,i+1,7,7,1,1); (40)box(0,6,6-i,1,7,7-i,1,1); (40)box(0,6-i,6,1,7-i,7,1,1); (40)box(i,6-i,6-i,i+1,7-i,7-i,1,1); (40)box(i,6-i,6,i+1,7-i,7,1,1); (40)box(0,6-i,6-i,1,7-i,7-i,1,1); (40)delay(30000); (40)} (40)for (i=0;i<4;i++) (40){ (40)an[i]=6*i; (40)} (40)clear(0); (40)for(j=0;j<4;j++) (40){ (40)t=an[j]%24; (40)x=dat3[t]>>4; (40)y=dat3[t]&0x0f; (40)box(x,y,0,x+1,y+1,1,1,1); (40)box(x,y,6,x+1,y+1,7,1,1); (40)} (40)for (j=0;j<4;j++) (40)an[j]++; (40)delay(10000); (40)} (40)for (i=0;i<35;i++) (40){ (40)clear(0); (40)for(j=0;j<4;j++) (40){ (40)t=an[j]%24; (40)x=dat3[t]>>4; (40)y=dat3[t]&0x0f; (40)box(x,y,0,x+1,y+1,1,1,1); (41)box(x,y,6,x+1,y+1,7,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]--; (41)delay(10000); (41)} (41)for (i=0;i<35;i++) (41){ (41)clear(0); (41)for(j=0;j<4;j++) (41){ (41)t=an[j]%24; (41)x=dat3[t]>>4; (41)y=dat3[t]&0x0f; (41)box(x,0,y,x+1,1,y+1,1,1); (41)box(x,6,y,x+1,7,y+1,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]++; (41)delay(10000); (41)} (41)clear(0); (41)for(j=0;j<4;j++) (41){ (41)t=an[j]%24; (41)x=dat3[t]>>4; (41)y=dat3[t]&0x0f; (41)box(x,0,y,x+1,1,y+1,1,1); (41)box(x,6,y,x+1,7,y+1,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]--; (41)delay(10000); (41)} (41)for (i=6;i>0;i--) (41){ (41)clear(0); (41)box(0,6,6,1,7,7,1,1); (41)box(i,6,6-i,i+1,7,7-i,1,1); (41)box(i,6,6,i+1,7,7,1,1); (42)box(0,6,6-i,1,7,7-i,1,1); (42)box(0,6-i,6,1,7-i,7,1,1); (42)box(i,6-i,6-i,i+1,7-i,7-i,1,1); (42)box(i,6-i,6,i+1,7-i,7,1,1); (42)box(0,6-i,6-i,1,7-i,7-i,1,1); (42)delay(30000); (42)} (42)} (42)void flash_11() (42){ (42)uchar i,j,t,x,y; (42)uchar code daa[13]={0,1,2,0x23,5,6,7,6,5,0x23,2,1,0}; (42)for (j=0;j<5;j++) (42){ (42)for (i=0;i<13;i++) (42){ (42)if (daa[i]>>4) (42){ (42)t=daa[i]&0x0f; (42)line (0,0,t+1,0,7,t+1,1); (42)} (42)else (42)t=daa[i]; (42)line (0,0,t,0,7,t,1); (42)} (42)} (42)for (j=1;j<8;j++) (42){ (42)if (j>3) (42)t=4; (42)else (42)t=j; (42)for (i=0;i<24;i+=j) (42){ (42)x=dat3[i]>>4; (42)y=dat3[i]&0x0f; (42)box_apeak_xy(0,x,y,0,x+1,y+1,1,1); (42)transss(); (42)delay(10000); (42)} (42)} (42)for (j=1;j<8;j++) (43){ (43)if (j>3) (43)t=4; (43)else (43)t=j; (43)for (i=0;i<24;i+=j) (43){ (43)x=dat3[i]>>4; (43)y=dat3[i]&0x0f; (43)point (0,x,y,1); (43)transss(); (43)delay(10000); (43)} (43)} (43)} (43)void _P3(uchar x) (43){ (43)p30 = x&0x01; (43)p31 = (x&0x02)>>1; (43)p32 = (x&0x04)>>2; (43)p33 = (x&0x08)>>3; (43)p34 = (x&0x10)>>4; (43)p35 = (x&0x20)>>5; (43)p36 = (x&0x40)>>6; (43)p37 = (x&0x80)>>7; (43){ (43)sinter(); (43)while(1){ (43)clear(0); (43)/*play list*/ (43)flash_1(); (43)clear(0); (43)flash_2(); (43)flash_3(); (43)flash_4(); (43)flash_4(); (43)flash_5(); (43)flash_5(); (43)flash_6(); (43)flash_7(); (43)flash_8(); (43)flash_9(); (43)flash_10(); (43)clear (0); (43)flash_11(); (43)flash_9(); (43)flash_5(); (43)flash_7(); (44)flash_5(); (44)flash_6(); (44)flash_8(); (44)flash_9(); (44)flash_10(); (44)} (44)} (44)P0; 573 in (44)P1; uln2803 (44)P2; 573 LE (44)void print() interrupt 1 (44){ (44)uchar i; (44)static uchar layer=0; (44)P1=0; (44)for (i=0;i<8;i++) (44){ (44)P2=1<<i; (44)delay(3); (44)P0=display[layer][i]; (44)P1=1<<layer; (44)if (layer<7) (44)layer++; (44)else (44)layer=0; (44)TH0=0xc0; (44)TL0=0; (44)} (44)P0; 573 in p2 (44)P1; uln2803 p0 (44)P2; 573 LE p1 (44)void print() interrupt 1 (44){ (44)uchar i; (44)static uchar layer=0; (44)_P3(0); (44)for (i=0;i<8;i++) (44){ (44)P2=1<<i; (44)delay(3); (44)P0=display[layer][i]; (44)delay(3); (44)} (45)_P3(1<<layer); (45)if (layer<7) (45)layer++; (45)else (45)layer=0; (45)TH0=0xc0; (45)TL0=0; (45)} (45)void print() interrupt 1 (45){ (45)uchar i; (45)static uchar layer=0; (45)P0=0; (45)P1=0x00; (45)for (i=0;i<8;i++) (45){ (45)P1=0x00; (45)P2=display[layer][i]; (45)delay(3); (45)P1=1<<i;_crol_(0xfe,i) ; (45)。
光立方的工作原理_基于74hc573的8-8-8光立方LED的控制方式
光立方的工作原理_基于74hc573的8*8*8光立方LED的控制方式光立方由若干个二极管led灯以立方体形式搭建,4*4*4、8*8*8、16*16*16甚至更多,又由单片机、锁存器、译码器等电器元件驱动,形成立体动画效果。
其中8*8*8光立方最为常见。
例如:8*8*8光立方是由512个发光二极管按照立方体的方式搭建焊接起来的,有层共阴束共阳和层共阳束共阴两种方案,每一层有8*8个发光二极管,共8层。
用c语言编译单片机程序使自定义动画效果得以实现。
光立方工作原理光立方简单讲就是用单片机控制很多规则排列的LED的亮和灭。
1、单个LED的控制方式先了解单个LED的控制方式,可以是将正极接电源,负极通过一个限流电阻连接至单片机的某个IO口。
IO口输出低电平时,LED就亮,反之,LED灭。
如果我们想驱动任意位置的led,我们只需要在该位置led所使用的列线接地,行线接上+V 即可。
学过单片机的朋友们,都知道数码管是怎么点亮的,其中有位选和段选之分,通过扫描来实现所有数码管能正常工作以实现显示我们想要的数字。
点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需要用扫描的方式才能够实现,否则,无法实现对其精准的控制。
所谓扫描,就是说,我们一次只能让一行排或者一竖排的灯亮。
每次只能这么点,8次为一个周期,从左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。
2、每一层LED的控制方式若按照单个LED的控制方式,每个LED需要占用单片机的一个IO口,控制100个LED 就需要100个IO口。
那么,有没有一种方式,可以用较少的IO口,控制较多的LED呢?答案是肯定的,这种方法,就是扫描驱动电路。
光立方原理
光立方原理介绍
光立方原理简单来说就是用单片机控制许多规则排列的LED的点亮和熄灭。
1、各个LED的控制方式
首先知道各个LED的控制方式,可以将正极连接到电源上,负极通过限流电阻连接到单片机的某个IO端口上。
IO端口输出低电平时,LED点亮,相反LED熄灭。
如果想驱动任意位置的led时,将该位置的led所使用的列线接地,在行线上连接v即可。
学过单片机的朋友们都知道数字管是怎么点亮的。
其中有一个选项和一个段的选择,通过扫描可以让所有的数字管正常工作,从而显示我们想要的数字。
点阵也一样,虽然是8*8的点,但为了整体能够自由显示图案,必须通过扫描方式实现。
不这样做的话,就无法进行正确的控制。
扫描是指一次只能点亮一列或纵向一列的灯。
只能做这么多。
以8次为周期,从左到右依次点击1次。
这样就循环了,我们看到的是完整的图像。
2、各层LED的控制方式
各个LED的控制方式需要一个LED占用单片机的一个IO端口,控制100个LED 需要100个IO端口。
那么,有什么方法可以用较少的IO端口控制较多的LED指示灯吗?答案是肯定的。
该方法是扫描驱动电路。
LED光立方原理加程序
L E D光立方原理加程序标准化管理部编码-[99968T-6889628-J68568-1689N]8x8x8L E D光立方周渴望南阳理工学院功能;通过自定义代码实现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<AT89X52.H>sbitLA0=P0^0;/*定义8个74hc573锁存脚*/sbitLA1=P0^1;sbitLA2=P0^2;sbitLA3=P0^3;sbitLA4=P0^4;sbitLA5=P0^5;sbitLA6=P0^6;sbitLA7=P0^7;sbitKEY=P3^7;/*定义暂停开关*/voidKEYKONG();/*按钮程序*/unsignedcharcodeceng[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40 ,0x80};/*8层控制代码每次亮一层*/unsignedcharcodedi[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},/*31*/ {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},/*32*/ {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},/*33*/ {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},/*34*/ {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},/*34*/ {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},{0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*34*/ {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},/*34*/ {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},/*21*/ {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},/*22*/ {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},/*23*/ {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},/*24*/ {0x20,0x20,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},/*24*/ {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},/*24*/ {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},/*24*/ {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},/*11*/ {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},/*12*/ {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},{0x38,0x38,0x38,0x38,0x00,0x00,0x00,0x00},/*13*/{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},/*14*/{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},/*14*/{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},/*14*/{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},/*14*/{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,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},{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,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},{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},{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},{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},{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},{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},{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},{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},{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},/*下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},{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*/{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},。
光立方电路原理图与其所需元件
{
daojishi();//倒计时7—0
for(j=0;j<50;j++)
{
suofang();//方框缩放
}
//xingdian();//星点
void xingdian()
{
uchar x,y,z;
for(z=0;z<8;z++)
for(y=0;y<8;y++)
{
for(x=0;x<8;x++)
{
if((y==0)||(y==2)||(y==4)||(y==6)||(y==1)||(y==3)||(y==5)||(y==7))
{
P1=y1[y];
5:每个芯片配套的座子;
6:24MHZ或者12MHZ的晶振;
7:1个1K,1个10K(都是碳膜电阻);
8:一个按键开关,3个按键;
9:最好买600个灯(一包也可以,比较便宜),因为焊接的时候可能会损坏,颜色随便你自己选择;
备注:上面的3个按键可以只要1个,另外2个是我设计的外部中断,你可以不用它;同时我自己有开发板,所以我没有设计程序下载电路,全以最节省的方案为前提,你只要把单片机在开发板上下载好程序,再插到光立方上就好了。同时画电路时每个芯片的电源引脚隐藏了,(595是8接负,16接正;7404是7接负,14接正。),还有注意电解电容的极性。我是在板子上面安装了一个USB的接口供电。
P2=z1[r];
Set595(x1[0]);
dis595();
}
}
}
for(e=0;e<8;e++)
{
for(r=0;r<8;r++)
偏振分光立方体
偏振分光立方体
偏振分光立方体(Polarizing beam cube)是一种光学器件,用于分割、选择和方向控制偏振光。
它由两个或多个具有不同折射率的光学玻璃棱镜组成。
这些棱镜被粘接在一起,形成一个立方体,而没有中心空腔。
偏振分光立方体的工作原理基于波片(或称偏振片)的作用。
波片是一种只允许特定方向的偏振光通过的光学元件。
偏振分光立方体内的每个棱镜都涂有特殊的膜层,可以使指定方向的偏振光通过,而将其他方向的偏振光反射或吸收。
在传输光路中,偏振分光立方体可以将入射的自然光分为两个偏振分量垂直于彼此,分别称为S分量(s-polarized)和P分量(p-polarized)。
它可以用于生成、分割、合并和转向偏振光。
此外,它还可以用于测量材料的偏振性质、激光调Q和其他应用中。
偏振分光立方体在生物显微镜、偏振显微镜、光谱仪、激光设备等领域中得到广泛应用。
它们在科学研究、制造业、通信、医学和其他领域中起着重要作用。