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

合集下载

444光立方制作

444光立方制作

光立方的制作——4*4*4,573驱动层共阳,束共阴方案①【材料准备】以下是材料清单:01、LED灯珠,最好选择长脚5mm,雾状(乳状)蓝色的灯珠,效果更好。

记住,长脚的,不要短脚的,3mm的也可以,当然也能自己换喜欢的颜色,仅仅是推荐蓝色02、74HC573,1个,(建议买多买几个,以备特殊情况。

)03、IC座,这个可以多买点,记得买20P和40p。

04焊接飞线,自己有导线也行,一定要结实耐用,要多准备些。

06、电阻, 100-500欧的,10k的07、排针,排插用来焊接。

08、洞洞板,用 11cm*8cm的,别买太小的,不好焊接,用单面覆铜的就行。

09、硬纸盒,用来做模具。

尽量找光滑的,容易打眼的,塑料板也行。

10、电烙铁,30W或40W的,如果有经济条件最好买防静电的,带焊台,也可以就买十几块一个的普通电烙铁就行。

7-30元,价格具体看质量而定。

11、防静电镊子,一个,用来夹灯珠。

12、51单片机系统,可以自己焊接.。

13、STC12C5A60S2 或STC89C52芯片一个,STC12C5A60S2运行速度快比STC89C52好,同时也可以用来存储较多的动画。

20、焊锡,有条件的最好用无铅的,没条件的就跟我一样用10块钱一卷的吧。

无铅焊锡30-80一卷。

②【灯体焊接】下面开始制作,对LED的脚进行折弯,LED有两个引脚,长的接正极,短的接负极,本方案采用层共阳、束共阴的办法,就是每层16个灯珠的正极接在一起,每束4个灯珠的负极接在一起。

具体如下图;将正极折向同一方向。

不要慌不要忙,耐心地完成64个LED的折弯工作,两个眼间距2cm打出4*4的16个眼,一定要规则整齐,否则直接导致焊接效果不均匀。

打眼的内径应和你买的LED相匹配,不能太小也不能太大,正好能把LED的灯珠按进去即可。

之后对你辛辛苦苦折过弯的LED灯珠进行焊接吧!焊接的方法这里我就不说了自己摸索掌握焊接技巧。

焊接的时候一定要保证LED引脚的干净,不然很不容易焊接,焊出来也很难看。

444光立方电路图及程序

444光立方电路图及程序

3.1单片机资源分配情况将4*4*4的LED光立方分层4层,分别由单片机的P1.0,P1.1,P1.2,P1.3,四个口来控制每一层,且给低电平有效,再有P0口和P1的总共16个口来控制16列,给高电平有效,P0和P1口加上位排阻,再给每一列加三极管放大,三极管的基极接单片机的P0和P1口,集电极接5V电源,发射极接每一列。

这样就可以通过控制每个口的输出信号来控制每个的亮灭。

3.2复位电路通过某种方式,是单片机内部各类寄存器的值变为出事状态的操作称为复位。

单片机的复位是通过外部电路来实现的,复位引脚RET通过一个施密特触发器与复位电路相连接,施密特触发器用作噪声抑制,伟哥机器周期的S5P2时刻,复位电路采样一次施密特输出电平,获得内部复位操作所需要的信号。

单片机的时钟电路正常工作后,CPU在RET/VPD引脚上连续采集到两个机器周期的高电平后就可以完成复位操作了,但实际应用时,复位电平的脉冲宽度一般大于1ms。

复位电路通常采用上电复位、手动按键复位和看门狗复位三种方式,本次采用的是上电复位方式。

3.3时钟电路单片机的各个功能部件的运行都是是时钟控制信号为基准,一拍一拍的工作。

因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的可靠性和稳定性。

常用的时钟电路设计为内部时钟方式,单片机内部有一个由反向放大器构成的震荡电路,芯片上的XTAL1和XTAL2分别为震荡电路的输入和输出端。

只要在这两个引脚上接一个石英晶体振荡器和两个微调电容就构成内部方式的振荡器电路,有振荡器产生自激振荡,便构成一个完整的震荡信号发生器。

一般选用石英晶体振荡器。

此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。

电路中两个电容C1、C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。

本系统的C1、C2的值为33pf。

4x4x4光立方C语言

4x4x4光立方C语言

/*******每层共阴*****//******2012年12月20日******/#include<reg52.h># include <intrins.h>#define ss unsigned char#define mm unsigned intsbit 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};ssgong_yang10[]={0x0f,0x8e,0x8c,0x88,0x80,0x00,0x00,0x00,0x10,0x11,0x 60,0x40,0x00,0x20}; ssgong_yang30[]={0x00,0x00,0x08,0x88,0xc8,0xe8,0xf0,0x71,0x31,0x11,0x 00,0x04,0x06,0x02};ss gong_yang11[]={0x01,0x33,0x77,0xff,0xe0,0x00,0x00, 0x08,0xcc,0xee,0xff,0x70,0x00,0x00}; ssgong_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<time;i++)for(j=0;j<250;j++);}/*********第一种:全亮并带有闪烁*********/void display1(){ ss a,i;i=10;while(i--)for(a=0;a<2;a++){gong_yin1=di00[a];gong_yin2=di00[a+2];gong_yin3=di00[a+4];gong_yin4=di00[a+6];P1=0xff;P3=0xff;delay(350);}}/*********第二种:上下闪动*********/ void display2(){ss b,g;g=10;while(g--)for(b=0;b<4;b++){ gong_yin1=di01[b];gong_yin2=di01[b+3];gong_yin3=di01[b+2];gong_yin4=di01[b+1];P1=0xff;P3=0xff;delay(350);}}/*********第三种:从上到下旋转而下*********/ void display3() {ss x,y;for(x=0;x<4;x++){ gong_yin1=di01[x];gong_yin2=di01[x+3];gong_yin3=di01[x+2];gong_yin4=di01[x+1];for(y=0;y<9;y++){P1=gong_yang10[y];P3=gong_yang30[y];delay(350);}}delay(250);}/*********第四种:四面循环*********/ void display4() { ss i,g;g=5;while(g--)for(i=0;i<14;i++){ gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=gong_yang10[i];P3=gong_yang30[i];delay(350);}delay(200);}/*********第五种:四角有内向外*********/ void display5() { ss g;g=20;while(g--){ gong_yin1=0;gong_yin4=0;gong_yin2=1;gong_yin3=1;P1=0x09;P3=0x90;delay(450);gong_yin2=0;gong_yin3=0;gong_yin1=1;gong_yin4=1;P1=0x60;P3=0x06;delay(450);}}/*********第六种:角对角*********/ void display6(){ ss k,g,i;i=5;{ for(k=0;k<14;k++){ gong_yin1=di10[k];gong_yin2=di10[k+6];gong_yin3=di10[k+5];gong_yin4=di10[k+4];P1=gong_yang11[k]; P3=gong_yang31[k]; delay(350);}for(g=13;g>0;g--) {gong_yin1=di10[g+6]; gong_yin2=di10[g+5]; gong_yin3=di10[g+4]; gong_yin4=di10[g]; P1=gong_yang11[g]; P3=gong_yang31[g]; delay(350);}}delay(200);}/*********第七种:一竖排旋转*********/ void display7() {ss s,g;g=5;while(g--)for(s=0;s<6;s++){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=gong_yang12[s];P3=gong_yang32[s];delay(350);}delay(200);}/*********第八种:波浪前后左右*********/{ss a,b,c,d,e,f,g,h; h=3;while(h--){ a=10 ;while(a--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x0f ;P3=0x00;delay(30);}b=10 ;while(b--){gong_yin1=0;gong_yin2=1;gong_yin3=1; gong_yin4=1; P1=0xf0 ;P3=0x00; delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=0; P1=0x0f ;P3=0x00; delay(10);}c=10 ;while(c--) {gong_yin1=0; gong_yin2=1;gong_yin3=1;gong_yin4=1;P1=0x00;P3=0x0f;delay(10);gong_yin1=1;gong_yin2=0;gong_yin3=1; gong_yin4=1;P1=0xf0 ;P3=0x00;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0x0f ;P3=0x00;delay(10); }d=10 ;while(d--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x00;P3=0xf0;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1;P1=0x00 ;P3=0x0f;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0xf0 ;P3=0x00;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x0f ;P3=0x00;delay(10); }e=10 ; while(e--) {gong_yin1=0; gong_yin2=0; gong_yin3=1;gong_yin4=1;P1=0x00;P3=0xf0;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x00 ;P3=0x0f; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0xf0 ;P3=0x00; delay(10);}f=10 ; while(f--) {gong_yin1=0; gong_yin2=0; gong_yin3=0;gong_yin4=1;P1=0x00;P3=0xf0;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x00 ;P3=0x0f; delay(10);}g=10 ;while(g--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x00;P3=0xf0;delay(20);}}}void display9(){ss a,b,c,d,e,f,g,h; h=3;while(h--){ a=10 ;while(a--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x00 ;P3=0xf0;delay(30);}b=10 ;while(b--){gong_yin1=0;gong_yin2=1;gong_yin3=1;gong_yin4=1;P1=0x00 ;P3=0x0f;delay(10);gong_yin1=1;gong_yin2=0;gong_yin3=0; gong_yin4=0; P1=0x00 ;P3=0xf0;delay(10);}c=10 ;while(c--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0xf0;P3=0x00;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1; P1=0x00 ;P3=0x0f;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0x00 ;P3=0xf0;delay(10); }d=10 ;while(d--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x0f;P3=0x00;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1;P1=0xf0 ;P3=0x00; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x00 ;P3=0x0f; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x00 ;P3=0xf0; delay(10); }e=10 ; while(e--) {gong_yin1=0; gong_yin2=0; gong_yin3=1;gong_yin4=1;P1=0x0f;P3=0x00;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0xf0 ;P3=0x00; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x00 ;P3=0x0f; delay(10); }f=10 ;while(f--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=1;P1=0x0f;P3=0x00;delay(10);gong_yin1=1;gong_yin2=1;gong_yin3=1;gong_yin4=0;P1=0xf0 ;P3=0x00;delay(10);}g=10 ;while(g--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x0f;P3=0x00;delay(20);}}}void display10() {ss a,b,c,d,e,f,g,h;h=3;while(h--){ a=10 ;while(a--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P3=0x88;delay(30); }b=10 ;while(b--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x44 ;P3=0x44;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=0; P1=0x88 ;P3=0x88;delay(10);}c=10 ;while(c--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x22;P3=0x22;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1; P1=0x44 ;P3=0x44;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0x88 ;delay(10); }d=10 ;while(d--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x11;P3=0x11;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1;P1=0x22 ;P3=0x22;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x44 ;P3=0x44;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x88 ;P3=0x88;delay(10); }e=10 ; while(e--) {gong_yin1=0; gong_yin2=0; gong_yin3=1;gong_yin4=1;P1=0x11;P3=0x11;delay(10);gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x22 ;P3=0x22; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x44 ;P3=0x44; delay(10);}f=10 ; while(f--) {gong_yin1=0; gong_yin2=0; gong_yin3=0;gong_yin4=1;P1=0x11;P3=0x11;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x22;P3=0x22; delay(10);}g=10 ; while(g--) {gong_yin1=0; gong_yin2=0; gong_yin3=0;gong_yin4=0;P1=0x11;P3=0x11;delay(20);}}}void display11() {ss a,b,c,d,e,f,g,h; h=3;while(h--){ a=10 ;while(a--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x11 ;P3=0x11;delay(30);}b=10 ;while(b--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x22 ;P3=0x22; delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=0; P1=0x11 ;P3=0x11; delay(10);}c=10 ;while(c--){gong_yin1=0;gong_yin2=1;gong_yin4=1;P1=0x44;P3=0x44;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1; P1=0x22 ;P3=0x22;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0x11 ;P3=0x11;delay(10); }d=10 ;while(d--) {gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=1; P1=0x88;P3=0x88;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=1; gong_yin4=1;P1=0x44 ;P3=0x44;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x22 ;P3=0x22;delay(10); gong_yin1=1;gong_yin3=1; gong_yin4=0;P1=0x11 ;P3=0x11; delay(10); }e=10 ; while(e--) {gong_yin1=0; gong_yin2=0; gong_yin3=1;gong_yin4=1;P1=0x88;P3=0x88;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=1;P1=0x44;P3=0x44; delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=1; gong_yin4=0;P1=0x22 ;P3=0x22; delay(10);}f=10 ; while(f--) {gong_yin1=0; gong_yin2=0; gong_yin3=0; gong_yin4=1;P1=0x88;P3=0x88;delay(10); gong_yin1=1;gong_yin3=1;gong_yin4=0;P1=0x44 ;P3=0x44;delay(10);}g=10 ;while(g--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x88;P3=0x88;delay(20);}}}/*********第九种:一竖排左右移动*********/ void display12() {ss i,g;g=10;while(g--){ if(i<4)for(i=0;i<4;i++){ gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=gong_yang13[i];P3=gong_yang33[i]; delay(350);}else for(i=3;i>0;i--) { gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=gong_yang13[i];P3=gong_yang33[i]; delay(350);}}}/*********第十种:一竖排前后移动*********/ void display13() {ss g;g=5 ;while(g--){gong_yin1=0;gong_yin2=0;gong_yin3=0;gong_yin4=0;P1=0x88;P3=0x88;delay(350);P1=0x44;P3=0x44;delay(350);P1=0x22;P3=0x22;delay(350);P1=0x11;P3=0x11;delay(550);P1=0x22;P3=0x22;delay(350);P1=0x44;P3=0x44;delay(350);}}/*********第十一种:X字型前后*********/ void display14() { ss a,b,c,d,e,f,g,h;h=5 ;while(h--){ d=20 ;while(d--){ gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x08;P3=0x80;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x80 ;P3=0x08;delay(10);}a=20 ;while(a--){ gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x04;P3=0x40;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x40 ;P3=0x04;delay(10);}b=20 ;while(b--){ gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x02;P3=0x20;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x20 ;P3=0x02;delay(10); } c=20 ;while(c--) { gong_yin1=0;gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x01;P3=0x10;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x10 ;P3=0x01;delay(10); } e=20 ;while(e--) { gong_yin1=0; gong_yin2=1;gong_yin3=1; gong_yin4=0; P1=0x02;P3=0x20;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x20 ;P3=0x02;delay(10);}f=20 ;while(f--) { gong_yin1=0; gong_yin2=1;gong_yin3=1; gong_yin4=0; P1=0x04;P3=0x40;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x40 ;P3=0x04;delay(10);}g=20 ;while(g--) { gong_yin1=0; gong_yin2=1;gong_yin3=1;gong_yin4=0;P1=0x08;P3=0x80;delay(10);gong_yin1=1;gong_yin2=0;gong_yin3=0;gong_yin4=1;P1=0x80 ;P3=0x08;delay(10);}}}/*********第十二种:X字型左右*********/ void display15() { ss a,b,c,d,e,f,g,h;h=5 ;while(h--) { d=20 ;while(d--) { gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x09;P3=0x00;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x06 ;P3=0x00;delay(10); } a=20 ;while(a--) { gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x90;P3=0x00;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x60 ;P3=0x00;delay(10); }b=20 ;while(b--) { gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x00;P3=0x09;delay(10); gong_yin1=1; gong_yin3=0; gong_yin4=1; P1=0x00 ;P3=0x06;delay(10); } c=20 ;while(c--){ gong_yin1=0; gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x00;P3=0x90;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x00 ;P3=0x60;delay(10); } e=20 ;while(e--) { gong_yin1=0;gong_yin2=1; gong_yin3=1; gong_yin4=0; P1=0x00;P3=0x09;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x00 ;P3=0x06;delay(10); } f=20 ;while(f--) { gong_yin1=0; gong_yin3=1;gong_yin4=0; P1=0x90;P3=0x00;delay(10); gong_yin1=1; gong_yin2=0; gong_yin3=0; gong_yin4=1; P1=0x60 ;P3=0x00;delay(10);}g=20 ;while(g--) { gong_yin1=0; gong_yin2=1; gong_yin3=1;gong_yin4=0;P1=0x09;P3=0x00;delay(10);gong_yin1=1;gong_yin2=0;gong_yin3=0;gong_yin4=1;P1=0x06 ;P3=0x00;delay(10);}}}/*********第十三种:上下四个四方框旋转*********/ void display16() { ss a,b,c,d,e;e=10 ;while(e--) { a=40 ;while(a--) { gong_yin1=0; gong_yin2=0; gong_yin3=1; P1=0xcc;P3=0x33;delay(10); gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0x33 ;P3=0xcc;delay(10); } b=40 ;while(b--) { gong_yin1=0; gong_yin2=0; gong_yin3=0; gong_yin4=0; P1=0xf0;P3=0x0f;delay(20); } c=40 ;while(c--) { gong_yin1=0; gong_yin2=0; gong_yin3=1; gong_yin4=1; P1=0x33;P3=0xcc;delay(10);gong_yin1=1; gong_yin2=1; gong_yin3=0; gong_yin4=0; P1=0xcc ;P3=0x33;delay(10); } d=40 ;while(d--) { gong_yin1=0; gong_yin2=0; gong_yin3=0; P1=0x66;P3=0x66;delay(20);}}。

4x4x4立体灯基本原理

4x4x4立体灯基本原理
目 录:
一、项目名称与设计要求…………………………………………………………3 二、方案选择………………………………………………………………………3 三、硬件结构及思路………………………………………………………………3 四、硬件调试………………………………………………………………………5 五、程序思路………………………………………………………………………6 六、小组体会………………………………………………………………………6 七、参考资料………………………………………………………………………7
R?
2K IOY1
R?
2K IOY2
R?
2K IOY3
R?
2K IOY4
Q?
Q?
Q?
Q?
R? 560 DS?
DS?
DS?
DS?
R? 560 DS?
DS?
DS?
DS?
R? 560 DS?
DS?
DS?
DS?
R? 560
R?
DS?
2K
Q?
R?
DS?
2K
Q?
R?
DS?
2K
Q?
R?
DS?
2K
Q?
IOX1 IOX2 IOX3 IOX4
一、 项目名称与设计要求
PDF 文件使用 "pdfFactory Pro" 试用版本创建
名称:立方体Ⅲ 设计要求:本设计项目是由发光二极管组成的 4x4x4 立方体阵列,每个点都 有自己独立的空间位置,体现空间视觉效果!
二、 方案选择
1、LED 的选择 本次项目选用高亮度透明红光 LED,在不亮的时候是透明的,这样就确 保了每个点都能显示自己的位置。

光立方制作+程序讲解

光立方制作+程序讲解

光立方教程今天,给大家带来光立方的制作教程,基于本人制作的经验,给各位想要做的朋友分享制作过程。

对于第一次制作的朋友,我们要先制作好一个日程表,如下图:我们要弄好一个计划,就好像单片机运行程序一样。

当然,废话少说。

接下来,我们需要一份购买材料的清单如上图所示,我们需要购买的万能板需要购买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。

手工DIY制作-4X4X4光立方

手工DIY制作-4X4X4光立方

手工DIY制作-无驱动芯片的4X4X4光立方-初学者入门51必备介绍一款提供初学者入门电子DIY的套件,4X4X4光立方,此套件从识别元器件,到焊接万能板,掌握基础的电子元器件焊接知识,有很大的提高,全程都是手工DIY制作,完成后再进行编程学习,控制LED发光二极管。

简单有趣。

从零接触到深入单片机操作,有很大的作用。

全套一次性焊接成功。

连接电脑即可编写程序,发挥硬件软件的配合,显示更加出色的动画。

制作过程如下:
1:4X4X4光立方采用64个雾蓝色长脚二极管组成
2:采用一个单片机控制,型号为STC12C5A60S 3:采用USB供电,十分方便,只需要一台电脑即可编程烧写程序4:串口上位机直接控制64个LED灯,可以自定义图形显示5:提供原理图,源程序,PCB焊接线路图,直接照着线路焊接,一次性成功,没有任何飞线。

6:电路板采用优质波迁FR4-1.6MM单面万能板(洞洞板)如果没接触过的单片机的,这是一次特好的教程,和学习的阶段。

原创的位定义操作任意一个灯函数,轻松开发更多动画数据。

欢迎加入QQ交流群:183652842。

光立方设计制作(全过程、带程序连接)

光立方设计制作(全过程、带程序连接)

摘要之前在网上看了一些光立方的演示视频,被它那些立体感吸引了。

想到自己学单片机也这么久了,于是乎就想做一个玩玩,同时可以复习一学期以来自己的编程能力和动手的能力,一举两得是一件很不错的事情。

向朋友要了一些资料,就开工了。

光立方顾名思义就是一个立方体,采用的是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。

光立方教程(含HEX烧录文件)

光立方教程(含HEX烧录文件)

先上效果图首先,准备材料和工具。

材料:1, 雾面蓝色(喜欢其他色的随意)LED (3MM 或者5MM 都行),最好是雾面LED ,不懂得购买的时候跟老板说清楚就ok~2,STC12C5A60S2单片机一片3,DIP-40的插座一个4,22.1184MHZ晶振一个5,单排圆孔插针座20个(建议多准备些)6,单排插针4个7,USB母座一个8,0.3--0.8镀锡铜线一米左右,没有的也行,根据自己的焊接习惯。

个人比较喜欢镀锡铜线。

工具1,剪线钳2,尖嘴钳3,电烙铁4,焊丝5,松香6,镊子7,其他(总之就是焊接用的那些了,根据个人情况。

)———————————分割线———————————首先,电路图很简单了电路图很简单,稍微有点单片机基础都可以做。

然后呢,开动你灵活的小左和小右吧~准备绘制焊接图纸。

首先,确定你要做多大尺寸的光立方,4*4*4也就是64个灯,个人感觉做成7厘米见方左右就差不多了。

根据个人喜好调节吧~大小具体怎样确定呢,二少在这里简单说明一下,每一边是4个灯,也就是三个灯距,灯距的三倍加两个灯宽就是边长了。

灯距的确定,不是随便确定的,必须是2.54毫米的整数倍,为什么呢,因为洞洞板的孔距就是2.54,最后的灯是插在洞洞板上的。

本教程所定的灯距是4倍的孔距,也就是10毫米挂点,小误差这里就可以忽略了。

OK~根据灯的情况,确定洞洞板的大小,最少得是20孔,因为单片机用的是DIP40的,所以至少要保证单片机可以安装,当然高手还可以立式安装单片机,二少在这里就不多介绍了。

确定以上参数后,好了,开始制作吧~我这边手头有的洞洞板是19*23孔的,所以嘛~单片机就有俩引脚是悬空的,不过不影响。

焊接电路,(绘制软件,layout)然后,确定单片机和LED灯体的安装位置。

并做简单标注。

用尖嘴钳把插针掰成一个一个的,直接焊接于绿色的焊盘位置,4*4+4个。

如下图效果单片机最好安装在座子上,直接焊接死亡率较高。

51单片机电子设计制作444彩色光立方

51单片机电子设计制作444彩色光立方
for(i=0;i<10;i++)
{ //一次采集数据的数量
Adc_Delay(3);
R=Read(1); //读对应的口,触发对应的触摸按键
if(R<0x2f)
{//此参数可调整感应灵敏度值在0x01到0x2F
k++;
}
if(R == 0xFF)
{
j++;
}
}
if(k>1 && j>1)
{
mm++;
uint i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}
void Delay(uint z)
{
uint x,y;
for(x=80;x>0;x--)
for(y=z;y>0;y--);
}
void timer1_init()
{
TMOD |= 0x10;
TH1 = 0;
TL1 = 0;
ET1 = 1;
TR1 = 1;
EA = 1;
}
/******************************************************************************
********************** AD转换函数**************/
#define MIN_Delay 1
sbit S_1 = P1 ^ 1;
sbit S_2 = P1 ^ 2;
unsigned int pwm;
unsigned char TimeDelay = 10;

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

4X4X4光立方C程序(含制作方法和电路图)
{0x44,0xA0,0x25,0x50,0xA0,0x26,0x14,0x42},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x43},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x53},
{0x44,0xA0,0x65,0x50,0xA0,0x27,0x54,0x53},
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 (延时一毫秒的个数)
*输出:无
****************************************************Hale Waihona Puke ******************/
{0xDE,0xFD,0xF7,0xFB,0xFF,0xF7,0xFF,0xFF},
{0xDE,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}
};
int j,k,i;
for(j=0;j<38;j++)
{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xDF},

光立方毕业论文含程序+原理图+实物

光立方毕业论文含程序+原理图+实物

目录第一章绪论............................................................................................................................................... - 1 -1.1 课题的背景................................................................................................................................ - 1 -1.2 研究目的和意义................................................ - 1 -1.3 论文研究内容与结构安排........................................................................................................ - 1 -第二章总体设计....................................................................................................................................... - 2 -2.1 工作原理.................................................................................................................................... - 2 -2.2 各模块方案选择与论证............................................................................................................ - 2 -2.2.1 单片机主控制模块......................................................................................................... - 2 -2.2.2 驱动模块......................................................................................................................... - 2 -2.2.3 显示模块......................................................................................................................... - 2 -第三章系统硬件电路设计与实现........................................................................................................... - 3 -3.1 硬件电路设计............................................................................................................................ - 3 -3.2 单片机最小系统........................................................................................................................ - 3 -3.2.1 时钟电路......................................................................................................................... - 4 -3.2.2 P0 口外接上拉电阻....................................................................................................... - 4 -3.3 驱动模块的设计........................................................................................................................ - 5 -3.4 光立方整体设计思路................................................................................................................ - 6 -3.4.1 LED灯排序方式设计.................................................................................................... - 6 -3.4.2 LED灯接法方式设计.................................................................................................... - 7 -3.5 光立方搭建方法........................................................................................................................ - 7 -3.5.1将LED从点到线的搭建.................................................................................................. - 7 -3.5.2将LED从线到面的搭建.................................................................................................. - 7 -3.5.3将LED从面到体的搭建.................................................................................................. - 8 -第四章系统软件设计............................................................................................................................... - 9 -4.1 主程序设计................................................................................................................................ - 9 -第五章系统调试及结果分析................................................................................................................. - 10 -5.1 系统调试.................................................................................................................................. - 10 -5.1.1. 硬件测试...................................................................................................................... - 11 -5.1.2. 软件测试...................................................................................................................... - 11 -5.2 结果分析.................................................................................................................................. - 11 -第六章结论............................................................................................................................................. - 12 -参考文献................................................................................................................................................... - 13 -英文摘要................................................................................................................................................... - 14 -致谢语 ...................................................................................................................................................... - 15 -附录 .......................................................................................................................................................... - 16 -1、实物图......................................................................................................................................... - 16 -2、系统原理图................................................................................................................................. - 17 -程序清单................................................................................................................................................... - 18 -基于单片机的光立方设计刘荣三明学院 09级电子信息工程专业福建三明 365004摘要本文介绍了一款基于STC12C5A60S2 单片机光立方的设计并阐述了整体设计思路,介绍了系统软硬件设计的主要方法。

光立方_毕业论文(含程序原理图实物图)

光立方_毕业论文(含程序原理图实物图)

目录摘要 .......................................................................................................................................................... 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)。

444光立方制作过程

444光立方制作过程

梦想电子DIY444光立方制作说明一、硬方面1.LED:CUBE4光立方需要64个LED,LED的颜色可以自己随意挑选红黄蓝绿白,个人推荐雾状蓝色LED,夜晚效果超屌。

2.单片机:单片机上采用程序空间大的,运行速度快的STC15W1K24S单片机。

如4.上拉电阻:p0口为了提高LED亮度,选用10k的。

(可加可不加)5.电源:5V电源。

电脑USB口电源或手机适配器输出的即可,不需要太苛刻的要求!6.有驱动的套餐:74HC573作为驱动,你也可以用其他的,把753的1脚何10脚接一起接地。

把573的20脚何11脚接一起接vcc就可以。

IO口对应着就可以了,2-9脚为输入,12-19脚输出,别接反了。

二、电路连接很多人会在这里纠结,到底该怎么连接电路。

不用纠结了,接下来我给大家详细说说怎么连接LED。

本光立方采用的电路与LED点阵屏一样的。

接下来看图。

从正面看:红色是LED的正极,正极接下去,中间两列相连,外面两列相连接后面依次如此连接。

蓝色是LED负极相连,已经标出连接到的IO口号上了。

本光立方负极接到P2口上,所以按照上面的图,左边上面第一个连接到的应该是P2.0口。

从上面看:IO口号已标出,要注意的是中间两列相连的,如5和5是相连的。

外面两列相连,如0和0相连的。

本光立方在这里连的是P1口,0就连接到P1.0上 5就接到P1.5上说说上拉电阻:在IO口连接到LED正极的基础上再把电阻连接到VCC和IO口间。

好了,硬件就说到这里。

有什么不懂的可以加我QQ483301522.验证信息填光立方三、软方面本光立方有专用取模软件,如果你按上面电路连接,只需要在C语言程序中做一些小修改就可以使用了!C语言程序下面我会打包你可以不用上面的P1,P3口但是 0.1.2.3.4.5.6.7的顺序必须同上如果你改了,那就请看下面,怎么在程序中改。

首先你需要头文件#include <STC15W1K24S>,如果没有不用担心我已经打包了,下载再放到keil头文件的文件夹里就OK,如果不会自己百~度。

光立方

光立方

小制作论文系列(3)题目:4*4*4 光立方制作者:白会荣专业:自动化日期:2013.03.15前言:本设计是基于数码管扫描方式进行工作的。

数码管的工作原理:分时送段码和位选位,由于扫描的时间非常之短,利用“人眼暂留”现象,使人们看到的是连续的数字。

本4*4*4光立方就是利用这个特性制作的。

该设计由于有4层,每层16个LED灯,共计64个。

把每一层的LED正极以搭桥的方式叠加在一起这样每一层的正极是连在一起的。

之后将每一层16LED的负极与相邻层的负极相连。

最后,这样就形成了16个负极接在P0,P2口上,4层的正极接在P1口低四位,这样的结构就可以保证分别控制每一个LED。

制作过程:1、在LED选择上我选用了5mm白发兰的小灯来搭建。

2、将每个LED的正极折成90度直角,负极与其垂直,将4个为一组焊接称一下形状。

(2组8个)3、将上述的2组正极拼成一个16个LED 的一层。

为了美观缺少的引脚部分,我用以前收集的元件引脚补齐了。

4、按以上的步骤焊接好其余的三个面。

5、将两个面的所有负极上下两两焊接上,为了焊接方便,可以先将上一层的所有负极向内弯曲一点。

6、然后将剩余的两个面同样的焊接其负极,形成四层架构的正方体.7、焊接正方体光立方固定在面包板上(即将最底层的16个负极固定),8、焊接单片机电路,注意这里连接一定要有次序,比如第一排从左到右是1,2,3,4第二排5678第三排910.11.12.第四排13.14.15.16,这样编排有益于编程.但很美观哦.10、最终的完成图就是这样的!漂亮的图案:软件参考程序://************************************ ******//程序名称:4*4*4光立方图案设计//编写人:白会荣//参考来源:《电子制作》2013年第3期"洞洞板上的光立方--迷你型4*4*4梦幻光立方" 伍浩荣//编写时间:2013.03.15//硬件接口定义:数据口P0与P2口,层选公共端(共阳)P1口低四位。

444光立方双色制作方法

444光立方双色制作方法

双色灯光立方焊接介绍先上个焊接好的整图大家看看,好有个整体概念,整个焊接过程时间比较长,需要一定的焊接基础,一定要仔细,特别是led灯焊接时需要注意焊接时间不能太长(防止焊接对led灯造成的损坏)一、主板的焊接1、焊接四个led(注意长脚为正极,焊接在主板底面)2、焊接四个1k电阻(没有方向,焊接在主板底面)3、焊接单片机底座(有方向,焊接在主板底面)4、焊接其它元件(焊接在主板底面)5、这些孔不用焊接二、Led立方灯的焊接1.接线下灯座的制作方法:把40P圆排母用水口钳或者斜口钳剪成单针:接下来再用水口钳或者斜口钳把针座旁边的塑料剪去,这个用水口钳是比较好剪的,当然不剪也是可以,只是比较不美观:2整形LED ,每个LED都整形如下图:2整形好后焊接一个固定LED的万用板,方便焊接LED支架。

用这样的方法焊接出来的LED阵列就比较整齐美观:用一个9*15或者更大的万用板焊接16个排针,然后把整形好的LED夹在排针上面,纵向焊接正极,横向焊接负极:注意排针间距:横向6孔,纵向9孔看清楚排针的焊接距离!用一个9*15或者更大的万用板焊接16个排针,然后把整形好的LED夹在排针上面,纵向焊接正极,横向焊接负极:注意排针间距:横向6孔,纵向9孔这样焊接下来正好是16个LED ,也就是1面,等4面都制作好后,便可以组装1个4*4*4的光立方了。

三、光立方组装:本光立方采用束共阳层共阴的接法。

先介绍一下,层的接法:P2.0-P2.7为层控制线,我们先帮光立方分为左右2侧,每测2列LED负极接在一起为1个层。

左侧最顶层(也就是第4层)的共阴极层控制线为P2.0,左侧第2层的共阴极层控制线为P2.1,左侧第3层的共阴极层控制线为P2.2,左侧第4层(也就是最底层)的共阴极层控制线为P2.3,右侧最顶层(也就是第4层)的共阴极层控制线为P2.4,右侧第3层的共阴极层控制线为P2.5,右侧第2层的共阴极层控制线为P2.6,右侧第1层(也就是最底层)的共阴极层控制线为P2.7。

光立方(1)

光立方(1)

4*4*4 LED光立方1.1 设计课题任务要求1合理控制64个LED灯的亮和灭.2编程实现不同的图案的转变3采用按键切换LED的转换速度.1.2设计课题主要原理光立方就是LED的立体阵列..我们把它拆成4个面,每个面为16个灯.我们控制这64个灯让他自由的变换,然后控制每个层依次点亮.如果控制4*4*4需要20个引脚..所以我们只要把16个LED阴极连在一起.用单片机控制每个I/O口的输出.1.3 LED灯制作过程1.3.1LED的选择1.3.2LED制作为了保持整体的通透性,立体感,所有的搭接用LED的管脚.(1)水平折弯:用镊子把64个LED灯的阴极多弯成90度,为了焊接的统一性,折弯尽量保持角度.,还要注意区分LED的正负极.我们这里是采用是共阴.(2)(2)自备一个盒子,在上面打4*4的16个孔,每个孔根据led的大小确定.将折好的LED插入,其阴极正好搭在一起,进行焊接,实现led共阴.因为led很脆弱,很容易高温烧坏.所以焊好一个面进行检测一下.1.4硬件设计:按键按键电路:K1~K2接单片机P1.0~P1.3。

数码管电路:数码管电路采用供阴动态串口显示。

TXD接P3.0,RXD接P3.1。

数码管选择口LED1接P1.4,LED2接P1.5 。

笔形码:0 1 2 3 4 5 6 7 8 9B7H 14H D3H D6H 74H E6H E7H 94H F7H F6H面焊接视频:/v_show/id_XNTY4NTYxMDUy.html整体制作教学视频:/v_show/id_XNTY4NTU0Nzky.html。

光立方制作全过程

光立方制作全过程

光立方制作全过程前言:在大家奋笔疾书做英语四级时,我却在这里写日志,所以不必赞叹,每个人都有自己的长处的!制作摇摇棒时我认为耐心是成功的关键!但做完光立方,才发现原来是小巫见大巫,所以想制作不想要清楚自己的工作量哟!1、工欲善其事必先利其器工具:优质电烙铁(对焊接速度有很大影响)、尖嘴钳(512个灯1024个脚都需要认真处理)、镊子、剥线钳;2、材料512个灯,但是你不能保证自己的焊接技术时应该多买点,买一包1000个一包也挺便宜的,以后还能留着用。

优质锡优质锡丝我用来两卷导线一卷大洞洞板一个(看想要制作成多大的,太大要两个)开始制先将512个灯的脚弯好,成下图的形状,负极是横着,正极折个弯竖着,因为我们要把一列的正极连着,一层的负极连着,所以只能这样弯引脚。

还需要64个排孔用来插最后和洞洞板相连的灯脚了还有排座(用来插面包板线的)形状估计你看不清,没办法只好来个三视图,画的不好见谅!这个弯灯脚我要说一说,我当时是每天晚上回寝室后就开始弯,每天弯到灯熄,然后拿台灯照着,继续弯,直到打瞌睡才停,所以又部分弯的不好,造成最终不是非常美观,大家吸取教训吧!一个花了三四天晚上,所以前期工作已经很折磨人耐心了,但想想做出来的效果,相信你又有坚持的信心了!然后就是把点排成线,线排成面,面排成体了!如果想制作快有美观,必须使用8*8的模板这样可以使点成功的摆成线,线摆成面线是8个灯的负极连的,还有每连完一条线,就用电池测一测也没有连错或灯烧坏的,等连成面就不好拆了,我就要一个灯的正负极连反了,还好检查及时,没有花多大功夫解决。

用正极把线连成面就成了8*8的面了把每一面的正极引脚都插在排孔中,如下图,每一面然后用每一面灯脚的负极引脚把面连起来,没有点亮效果已经很震撼了!主体弄好之后就是连线了!最好是先用面包板线连起来,看达到预期的效果没有,因为线是在是太多了,如果直接连有问题都不好找,看看下面用面包板做的吧!这还是没有和主体相连呢!其中用来一个好单片机STC12C5A60S2(用来整体控制)和八个74HC573(每一个控制八个灯的正极)还有1个ULN2803(用来控制每一层,最后有八层,每一层都引出来一条细线和2803相连),电路图如下洞洞板背面焊接这就是为什么需要两卷锡丝的原因连接好后程序代码太长,需要直接问我要吧!。

魔方阵C语言设计方法及设计理念

魔方阵C语言设计方法及设计理念

1、Algorithm Gossip: 4N魔方陣說明與奇數魔術方陣 相同,在於求各行、各列與各對角線的和相等,而這次方陣的維度是4的倍數。

解法先來看看4X4方陣的解法:簡單的說,就是一個從左上由1依序開始填,但遇對角線不填,另一個由左上由16開始填,但只填在對角線,再將兩個合起來就是解答了;如果N大於2,則以 4X4為單位畫對角線:至於對角線的位置該如何判斷,有兩個公式,有興趣的可以畫圖印證看看,如下所示:if(i%4==j%4||(i%4+j%4==3)//zaiduijiaoxianshang實作C#include <stdio.h>#include <stdlib.h>#define N 8int main(void) {inti, j;int square[N+1][N+1] = {0};for(j = 1; j <= N; j++) {for(i = 1; i<= N; i++){if(j % 4 == i % 4 || (j % 4 + i % 4) == 1)square[i][j] = (N+1-i) * N -j + 1;elsesquare[i][j] = (i - 1) * N + j;}}for(i = 1; i<= N; i++) {for(j = 1; j <= N; j++)printf("- ", square[i][j]);printf("\n");}return 0;}2、Algorithm Gossip: 2(2N+1)魔方陣說明方陣的維度整體來看是偶數,但是其實是一個奇數乘以一個偶數,例如6X6,其中6=2X3,我們也稱這種方陣與單偶數方陣。

解法如果您會解奇數魔術方陣,要解這種方陣也就不難理解,首先我們令n=2(2m+1),並將整個方陣看作是數個奇數方陣的組合,如下所示:首先依序將A、B、C、D四個位置,依奇數方陣的規則填入數字,填完之後,方陣中各行的和就相同了,但列與對角線則否,此時必須在A-D與C- B之間,作一些對應的調換,規則如下:1.將A中每一列(中間列除外)的頭m個元素,與D中對應位置的元素調換。

4X4X4光立方完整制作过程

4X4X4光立方完整制作过程

第一步第一步、、根据原理原根据原理原、、元件清单和实物图片购买元器件元件清单和实物图片购买元器件,,单片机要安装管座单片机要安装管座。

名称参数名称参数 流水号流水号数量玻纤双面万能板5X7 WBS1 1 6X6X7轻触按键 S1, S22 红色F5二极管短脚 LED1~LED64 64 22.1184M 晶振 Y1 1 DC005电源座J16 1 CON4弯插单排插针 J15 1 IC 插座-DIP-40 IC11CON1直插单排圆孔排母J1, J2, J3, J4, J5, J7, J8, J9, J10, J11, J12, J13, J14, J17,J18, J19, J20, J21, J22, J23, J24 21STC12C5A60S-35I U1 1 3.5mm 立体声带开关耳机座J61 雾状蓝色F5二极管LED41, LED42, LED51, LED604第二步、根据图片焊接LED 矩阵2-折弯好灯3-直接按照距离插在万能板上面焊接3-全部焊接完在上下焊接正极5-然后把一排按照距离焊接好左右的负极每一层的负极连接在一起6-焊接出来的效果就是16个正极引到下面每一行的负极连接在一起然后负极引线到下面的四个接线柱第三步、根据正面装配图安装元器件1-先把背面的灯插好按照弧形线折弯引脚折弯在顶层插到弧形的另外一个孔2-插好并焊接固定好顶层的元器件第四步、根据反面焊接图进行走线。

将程序编译并下载到单片机中。

第五步、将程序编译并下载到单片机中#include "STC12C5A.H"#include <INTRINS.H> //包含延时头文件#define uint unsigned int#define uchar unsigned char#define nop() _nop_();_nop_();sbit AD=P1^0; //定义音频输入接口sbit K1=P1^2; //定义功能按键接口sbit K2=P1^4; //定义功能按键接口sbit K3=P3^5; //定义功能按键接口sbit K4=P3^6; //定义功能按键接口sbit VCC1=P1^5; //定义电源功能接口必须为高电平sbit VCC2=P1^7; //定义电源功能接口必须为高电平sbit VCC3=P3^2; //定义电源功能接口必须为高电平sbit VCC4=P3^4; //定义电源功能接口必须为高电平sbit L1=P0^3; sbit L2=P4^5; sbit L3=P2^4; sbit L4=P2^2; sbit H1=P0^5; sbit L5=P0^1; sbit L6=P4^6; sbit L7=P2^7; sbit L8=P2^0; sbit H2=P0^6; sbit L9=P0^0; sbit L10=P0^7; sbit L11=P2^6; sbit L12=P1^6; sbit H3=P4^4; sbit L13=P1^3; sbit L14=P0^4; sbit L15=P2^5; sbit L16=P3^3; sbit H4=P2^3;sbit LED3=P3^7; sbit LED4=P1^1;//定义脚底下4个受控制的LED灯-右下角高电平有效其余低电平有效unsigned char bdata dzzc0;sbit dzzc07=dzzc0^7;sbit dzzc06=dzzc0^6;sbit dzzc05=dzzc0^5;sbit dzzc04=dzzc0^4;sbit dzzc03=dzzc0^3;sbit dzzc02=dzzc0^2;sbit dzzc01=dzzc0^1;sbit dzzc00=dzzc0^0;unsigned char bdata dzzc1;sbit dzzc17=dzzc1^7;sbit dzzc16=dzzc1^6;sbit dzzc15=dzzc1^5;sbit dzzc14=dzzc1^4;sbit dzzc13=dzzc1^3;sbit dzzc12=dzzc1^2;sbit dzzc11=dzzc1^1;sbit dzzc10=dzzc1^0;unsigned char bdata dzzc2;sbit dzzc27=dzzc2^7;sbit dzzc26=dzzc2^6;sbit dzzc25=dzzc2^5;sbit dzzc24=dzzc2^4;sbit dzzc23=dzzc2^3;sbit dzzc22=dzzc2^2;sbit dzzc21=dzzc2^1;sbit dzzc20=dzzc2^0;unsigned char bdata dzzc3;sbit dzzc37=dzzc3^7;sbit dzzc36=dzzc3^6;sbit dzzc35=dzzc3^5;sbit dzzc34=dzzc3^4;sbit dzzc33=dzzc3^3;sbit dzzc32=dzzc3^2;sbit dzzc31=dzzc3^1;sbit dzzc30=dzzc3^0;//调整数字显示的数据用分别为变的1234// 4 dzzc6//3 2 dzzc7 dzzc5// 1 dzzc4unsigned char bdata dzzc4;sbit dzzc47=dzzc4^7;sbit dzzc46=dzzc4^6;sbit dzzc45=dzzc4^5;sbit dzzc44=dzzc4^4;sbit dzzc40=dzzc4^0;unsigned char bdata dzzc5;sbit dzzc57=dzzc5^7;sbit dzzc56=dzzc5^6;sbit dzzc55=dzzc5^5;sbit dzzc54=dzzc5^4;sbit dzzc53=dzzc5^3;sbit dzzc52=dzzc5^2;sbit dzzc51=dzzc5^1;sbit dzzc50=dzzc5^0;unsigned char bdata dzzc6;sbit dzzc67=dzzc6^7;sbit dzzc66=dzzc6^6;sbit dzzc65=dzzc6^5;sbit dzzc64=dzzc6^4;sbit dzzc63=dzzc6^3;sbit dzzc62=dzzc6^2;sbit dzzc61=dzzc6^1;sbit dzzc60=dzzc6^0;unsigned char bdata dzzc7;sbit dzzc77=dzzc7^7;sbit dzzc76=dzzc7^6;sbit dzzc75=dzzc7^5;sbit dzzc74=dzzc7^4;sbit dzzc73=dzzc7^3;sbit dzzc72=dzzc7^2;sbit dzzc71=dzzc7^1;sbit dzzc70=dzzc7^0;unsigned int CYCLE=100,PWM_LOW=1110,shan=0,saom=0,shuzi1=0,shuzi2=0,shuzi3=0,shuzi4=0;//定义周期并赋值unsigned char YL1=0,YL2=0,YL3=0,YL4=0,YL5=0,YL6=0,YL7=0,YL8=0,YL9=0,YL10=0,YL11=0,YL12=0,YL13=0,YL1 4=0,YL15=0,YL16=0;//高度值unsigned char lie=0,hang=0,ceng=0;unsigned char yinyue4X4[]= //定义4X4X4整个屏幕的显示数据,高电平有效,没有音乐的时候默认不亮{0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,};unsigned char code shuzu4X4[]= //定义4X4X4整个屏幕的显示数据,根据取字模软件进行提取高电平有效{0X00,0X00,//0帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//1帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//2帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00, 0X00,0X00,//3帧0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF, 0X00,0X00,//4帧0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF, 0XFF,0X00,//5帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF ,0XFF,0XFF,//6帧0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//7帧0X00,0X00,0X00,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//8帧0X00,0X00,0X00,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//9帧0X00,0X00,0X2F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//10帧0X00,0X00,0X4F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//11帧0X00,0X00,0X8F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//12帧0X00,0X00,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//13帧0X00,0X00,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//14帧0X00,0X00,0X0F,0X0F,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//15帧0X00,0X00,0X0F,0X0F,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//16帧0X00,0X00,0X0F,0X0F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//17帧0X00,0X00,0X0F,0X1F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//18帧0X00,0X00,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//19帧0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//20帧0X00,0X2F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//21帧0X00,0X4F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//22帧0X00,0X8F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//25帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//26帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//27帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//28帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//29帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//30帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X1F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//31帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//32帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//33帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//34帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//35帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X4F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//36帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X4F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//37帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X2F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//38帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X2F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//39帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X2F,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//40帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X4F,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//41帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X4F,0X00,0X00,0X00,0X00,0 X00,0X00,//42帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X2F,0X00,0X00,0X00,0X00,0 X00,0X00,//43帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X1F,0X00,0X00,0X00,0X00,0 X00,0X00,//44帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X1F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//45帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//46帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//47帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0X0F,0X00,0X00,0X00,0X00,00X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X8F,0X00,0X00,0X00,0 X00,0X00,//52帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X4F,0X00,0X00,0X00,0 X00,0X00,//53帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X2F,0X00,0X00,0X00,0 X00,0X00,//54帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X1F,0X00,0X00,0X00,0 X00,0X00,//55帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X1F,0X0F,0X00,0X00,0X00,0 X00,0X00,//56帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0 X1F,0X00,//57帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X1F,0 X0F,0X00,//58帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X00,//59帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0 X0F,0X00,//60帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0 X0F,0X00,//61帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X8F,0X0F,0 X0F,0X00,//62帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X8F,0 X0F,0X00,//63帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X8F,0X00,//64帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X8F,0X00,//65帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X8F,//66帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X4F,//67帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X2F,//68帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X1F,//69帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X1F,0X0F,//70帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X1F,0 X0F,0X0F,//71帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X2F,0 X0F,0X0F,//72帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,00X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//77帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0X0F,0X00,0X0F,0XEF,0XEF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//78帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//79帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//80帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X6F, 0X6F,0X0F,//81帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X6F,0X00,0X0F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//82帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//83帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//84帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//85帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//86帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//87帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//88帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//89帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//90帧0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//91帧0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//92帧0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//93帧0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//94帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0 X0F,0X0F,//95帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0 X3F,0X3F,//96帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X3F,0 X3F,0X0F,//97帧0X0F,0X0F,//101帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//102帧0X00,0X6F,0X6F,0X0F,0X0F,0X00,0X6F,0X6F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//103帧0X00,0X3F,0X3F,0X0F,0X0F,0X00,0X3F,0X3F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//104帧0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//105帧0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//106帧0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//107帧0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//108帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F, 0X0F,0X0F,//109帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F, 0XCF,0XCF,//110帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF, 0XEF,0XEF,//111帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF ,0XEF,0XEF,//112帧0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X0F,//113帧0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//114帧0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//115帧0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//116帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//117帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0 XFF,0XFF,//118帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F, 0X0F,0X0F,//119帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//120帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//121帧0X1F,0X1F,//125帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0X1F,0X1F,0XFF,0X00,0X1F,0X1F,0X1F,0XFF,0X00,0X1F,0X1F, 0X1F,0XFF,//126帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0X1F,0XFF,0X1F,0X00,0X1F,0X1F,0XFF,0X1F,0X00,0X1F,0X1F, 0XFF,0X1F,//127帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0XFF,0X1F,0X1F,0X00,0X1F,0XFF,0X1F,0X1F,0X00,0X1F,0XFF, 0X1F,0X1F,//128帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//129帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//130帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//131帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//132帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//133帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0XFF,0X5F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//134帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X5F,0X1F,0X1F,0X00,0XFF,0X5F,0X5F,0X1F,0X00,0XFF,0X5F, 0X1F,0X1F,//135帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0XFF,0X5F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//136帧0X00,0XFF,0XFF,0XFF,0X7F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X7F,0X1F, 0X1F,0X0F,//137帧0X00,0XFF,0XFF,0X7F,0X3F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X3F,0X1F,0 X0F,0X0F,//138帧0X00,0XFF,0X7F,0X3F,0X1F,0X00,0XFF,0X1F,0X1F,0X0F,0X00,0X7F,0X1F,0X0F,0X0F,0X00,0X3F,0X0F,0 X0F,0X0F,//139帧0X00,0XFF,0X7F,0X3F,0X1F,0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X0F,//140帧0X00,0X3F,0X3F,0X1F,0X0F,0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//141帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//142帧0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//143帧0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//144帧0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//145帧0X0F,0X0F,//149帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//150帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//151帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//152帧0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F, 0X9F,0XFF,//153帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//154帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//155帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//156帧0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F, 0X9F,0XFF,//157帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//158帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//159帧0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//160帧};void Delay(unsigned int t){while(--t);}void init(){P4SW=0xff; //定义P4口为I/O口P0M1=0x00; //I/O口0模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0P0M0=0xff; //定义P0为强上拉输出.P1M1=0x01;P1M0=0xfe; //定义P1为强上拉输出. P.14作为AD此时不能作为强上蜡P2M1=0x00;P2M0=0xff; //定义P2为强上拉输出.P4M0=0xff; //定义P4为强上拉输出.}void hansao(unsigned char hs,unsigned char shangxia){if(shangxia==0){if(hs<5) //判断hs的值是否在行扫描的值范围内,不在范围内不执行任何操作{if(hs==0) //选通第1行//作为控制显示高度的时候调用{H1=1;H2=1;H3=1;H4=1;H5=0; return;}if(hs==1) //选通第2行{H1=1;H2=1;H3=1;H4=0;H5=1; return;}if(hs==2) //选通第3行{H1=1;H2=1;H3=0;H4=1;H5=1; return;}if(hs==3) //选通第4行{H1=1;H2=0;H3=1;H4=1;H5=1; return;}if(hs==4) //选通第5行{H1=0;H2=1;H3=1;H4=1;H5=1; return;}}}else if(shangxia==1){if(hs<5) //判断hs的值是否在行扫描的值范围内,不在范围内不执行任何操作{if(hs==0) //选通第1行//平时的时候调用这个显示其他图形和变化{H1=0;H2=1;H3=1;H4=1;H5=1; return;}if(hs==1) //选通第2行{H1=1;H2=0;H3=1;H4=1;H5=1; return;}if(hs==2) //选通第3行{H1=1;H2=1;H3=0;H4=1;H5=1; return;}}if(hs==4) //选通第5行{H1=1;H2=1;H3=1;H4=1;H5=0; return;}}}}void main(){unsigned int donghua=0;init(); //初始化IO口为强上蜡输出状态VCC1=1;VCC2=1;VCC3=1;VCC4=1;LED4=1; //关闭开机时候的状态使单片机没有任何反应LED4通电不初始化会亮可以作为电源指示灯while (1){//26//////////////////////////////////上位机生成动画数据控制光立方LED灯显示////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////数据直接利用上位机去摸取好之后赋值到定义的数组里面shuzu4X4//8421的数据分别为L1L2L3L4,然后第一行的数据分别为数组的第一个数据从上面到下面数0-5//H1-H2-H2-H4-H5//H6-H7-H8-H9-H10//H11-H12-H13-H14-H15//H16-H17-H18-H19-H20for(CYCLE=0;CYCLE<3000;CYCLE++){for(saom=0;saom<5;saom++){dzzc0=shuzu4X4[saom+donghua*20]; //将第一个需要分配的数据赋值个为变量进行分配给L1-L4 L1=dzzc07;L2=dzzc06;L3=dzzc05;L4=dzzc04;dzzc1=shuzu4X4[saom+donghua*20+5]; //将第一个需要分配的数据赋值个为变量进行分配给L5-L8 L5=dzzc17;L6=dzzc16;L7=dzzc15;L8=dzzc14;dzzc2=shuzu4X4[saom+donghua*20+10]; //将第一个需要分配的数据赋值个为变量进行分配给L9-L12 L9=dzzc27;L10=dzzc26;L11=dzzc25;L12=dzzc24;dzzc3=shuzu4X4[saom+donghua*20+15]; //将第一个需要分配的数据赋值个为变量进行分配给L13-L16L13=dzzc37;L14=dzzc36;L15=dzzc35;L16=dzzc34;hansao(saom,0);Delay(2);H1=1;H2=1;H3=1;H4=1;H5=1;}}{donghua=0;}////////////////////////////////////////////////////////////////////////////////////////////////////////////// }}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{0x40,0xA0,0x24,0x10,0x20,0x26,0x14,0x42},
{0x40,0xA0,0x25,0x10,0x20,0x26,0x14,0x42},
{0x44,0xA0,0x25,0x10,0x20,0x26,0x14,0x42},
{0x44,0xA0,0x25,0x50,0x20,0x26,0x14,0x42},
{0x44,0xA0,0x65,0x50,0xA0,0xA7,0x54,0x53},
{0x44,0xA0,0x65,0x50,0xA8,0xA7,0x54,0x53},
{0x44,0xA0,0x65,0x50,0xA8,0xA7,0x56,0x5B},
{0x46,0xA0,0x67,0x52,0xA8,0xA7,0x56,0x5B},
{0xFF,0xE5,0x5C,0x2F,0xDD,0xD7,0x69,0x9D},
{0xFF,0xA5,0x5C,0x2B,0xDD,0x57,0x69,0x9D},
{0xFF,0xA5,0x5C,0x29,0xDD,0x57,0x69,0x8D},
{0xBD,0x85,0x5C,0x29,0xDD,0x57,0x69,0x8D},
{0x00,0x20,0x00,0x00,0x00,0x02,0x10,0x00},
{0x00,0,0x10,0x00},
{0x00,0xA0,0x04,0x00,0x00,0x02,0x10,0x00},
{0x00,0xA0,0x24,0x10,0x00,0x02,0x10,0x00},
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,
{0x56,0xB1,0x67,0x5A,0xA8,0xE7,0x56,0x5B},
{0x56,0xB1,0x67,0x5A,0xAA,0xE7,0x56,0x5F},
{0x56,0xB1,0x67,0x5A,0xAA,0xE7,0x56,0x7F},
{0x56,0xF9,0x67,0x7A,0xAA,0xE7,0x56,0x7F},
126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150};
void delay(uint z)
{
uint x,y;
for(x=80;x>0;x--)
for(y=z;y>0;y--);
{0x56,0xF9,0x67,0x7A,0xAE,0xE7,0x5E,0x7F},
{0x5E,0xFD,0x67,0x7B,0xAE,0xE7,0x5E,0x7F},
{0x5E,0xFD,0x67,0x7B,0xEE,0xE7,0xDE,0xFF},
{0xDE,0xFD,0xE7,0xFB,0xEF,0xE7,0xFF,0xFF},
/********************************************************************
*名称: Delay_1ms()
*功能:延时子程序,延时时间为1ms * x
*输入: x (延时一毫秒的个数)
*输出:无
***********************************************************************/
j = table[num2];
delay(j);
P0=0x00;
P2=0x00;
delay(150-j);
}
/*******************************************************************/
void ys(uchar i)//1ms延时
{
uchar x,j;
{0x44,0xA0,0x25,0x50,0xA0,0x26,0x14,0x42},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x43},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x53},
{0x44,0xA0,0x65,0x50,0xA0,0x27,0x54,0x53},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};
int j,k,i;
for(j=0;j<8;j++)
{
for(k=0;k<25;k++)
{
for(i=0;i<8;i++)
{
P0=0;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
void init() //初始化函数
{
TMOD=0x02; //定时器0,工作模式2(0000,0010),8位定时模式
TH0=0x06; //写入预置初值6到定时器0,使250微秒溢出一次(12MHz)
TL0=0x06; //写入预置值
一、
#include <STC12C5A60S2.h>
#include<intrins.h>
#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};//中间四个
{0xBD,0x85,0x54,0x29,0xDD,0x53,0x48,0x8D},
{0x9D,0x85,0x54,0x29,0xDD,0x53,0x08,0x8D},
{0x9D,0x81,0x54,0x09,0xDD,0x13,0x08,0x8D},
{0x95,0x81,0x54,0x09,0xDD,0x12,0x08,0x85},
ET0=1; //允许定时器0中断
EA=1; //允许总中断
}
void alllighttooff()//闪动4下最后关闭
{
unsigned char code tabP0[8][8]={
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xDF},
{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xED,0xDF},
{0xFF,0xF7,0xDD,0xFF,0xFF,0xFF,0xED,0xDF},
{0xFF,0xF7,0xDD,0xEF,0xFF,0xDF,0xED,0xDF},
{0x94,0x00,0x00,0x00,0x88,0x00,0x08,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
};
int j,k,i;
for(j=0;j<23;j++)
{
for(k=0;k<10;k++)
{0xFF,0xF7,0x5D,0xAF,0xFD,0xDF,0xED,0xDF},
{0xFF,0xF7,0x5C,0xAF,0xDD,0xDF,0xED,0xDF},
{0xFF,0xE7,0x5C,0xAF,0xDD,0xDF,0x6D,0xDD},
{0xFF,0xE7,0x5C,0x2F,0xDD,0xD7,0x6D,0x9D},
{
for(k=0;k<10;k++)
{
for(i=0;i<8;i++)
{
P0=0;
P2=tabP2[i];
P0=tabP0[j][i];
ys(10);
}
}
}
}
void randomoff() //随机灭完
{
unsigned char code tabP0[23][8]={
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
P2=tabP2[i];
P0=tabP0[j][i];
ys(10);
}
}
}
}
void randomlight() //随机亮完
{
unsigned char code tabP0[38][8]={
{0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x20,0x00,0x00,0x00,0x00,0x10,0x00},
{0x95,0x01,0x54,0x09,0xC9,0x12,0x08,0x85},
相关文档
最新文档