4*4*4光立方
0.png (48.71 KB, 下載次數: 105)
下載附件
2017-6-13 02:49 上傳
焊接制作方法: 本光立方采用束共陽層共陰的接法。 先介紹一下,層的接法:
0.png (517.92 KB, 下載次數: 99)
下載附件
2017-6-13 02:51 上傳
P2.0-P2.7為層控制線,我們先幫光立方分為左右2側,每測2列LED負極接在一起為1個層。左側最頂層(也就是第4層)的共陰極層控制線為P2.0,左側第2層的共陰極層控制線為P2.1,左側第3層的共陰極層控制線為P2.2,左側第4層(也就是最底層)
0.png (267.42 KB, 下載次數: 113)
下載附件
2017-6-13 02:52 上傳
(完整教程請下載附件……)
元件清單:
元件名稱 | 數量 | PCB板 | 1 | 紅藍雙色超高亮長腳LED | 70 | 40P圓排母 | 2 | 5MMLED 間隔柱 | 5 | 5MM七彩LED | 4 | 15MM銅柱 | 4 | DC005線 | 1 | DC005座 | 1 | 25V470UF電解電容 | 1 | 1K電阻 | 4 | 40P芯片底座 | 1 | STC12C5A60S2燒寫好程序 | 1 | 22P 瓷片電容 | 3 | 11.0592M晶振 | 1 | 單芯導線 | 1 |
單片機源程序如下:
- /*
- *程序功能:cube4光立方彩色版本,實現各種動畫效果,配套取模軟件
- *作者:夢嵌工作室
- *版本:cube V1.0
- *備注:
- *
- */
- #include <stc12c5a60s2.h>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define MAX_Delay 8
- #define MIN_Delay 1
- sbit S_1 = P1 ^ 1;
- sbit S_2 = P1 ^ 2;
- unsigned int pwm;
- unsigned char TimeDelay = 10;
- unsigned char Mode = 1;
- unsigned char code tabP2[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //掃描
- uchar s=0;
- void DELAY_MS (uchar i){
- // unsigned int i;
- // while( --a != 0){
- // for(i = 0; i < 600; i++);
- // }
- uchar x,j;
- for(j=0;j<i;j++)
- for(x=0;x<=148;x++);
- }
- void Adc_Delay (uint a){
- 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轉換函數 **************/
- /******************************************************************************/
- unsigned char Read (unsigned char CHA)
- {
- unsigned char AD_FIN=0; //存儲A/D轉換標志
- CHA &= 0x07; //選擇ADC的8個接口中的一個(0000 0111 清0高5位)
- ADC_CONTR = 0x00; //ADC轉換的速度(0XX0 0000 其中XX控制速度,請根據數據手冊設置)
- _nop_();
- ADC_CONTR |= CHA; //選擇A/D當前通道
- _nop_();
- ADC_CONTR |= 0x80; //啟動A/D電源
- Adc_Delay(1); //使輸入電壓達到穩定(1ms即可)
- ADC_CONTR |= 0x08; //啟動A/D轉換(0000 1000 令ADCS = 1)
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- while (AD_FIN ==0)
- { //等待A/D轉換結束
- AD_FIN = (ADC_CONTR & 0x10); //0001 0000測試A/D轉換結束否
- }
- ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 關閉A/D轉換,
- return (ADC_RES); //返回A/D轉換結果(8位)
- }
- /*******************************************************************************
- ************* AD電容式觸摸按鍵檢測程序 ******************/
- /*********************************************************************************************/
- //bit 1表示有感應物,0表示沒有感應物 S1
- /**********************************************************************************************/
- bit S1(void)
- {
- unsigned char R,mm=0,i,j,k;
- bit aa;
- j=0;k=0;
- 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++;
- }
- else
- {
- mm=0;
- }
- if(mm>0)
- {
- aa =1;
- }
- else
- {
- aa=0;
- }
- return(aa);
- }
- /*********************************************************************************************/
- // S2
- /**********************************************************************************************/
- bit S2(void)
- {
- unsigned char R,mm=0,i,j,k;
- bit aa;
- j=0;k=0;
- for(i=0;i<10;i++)
- { //一次采集數據的數量
- Adc_Delay(3);
- R=Read(2);
- if(R<0x2F)
- { //此參數可調整感應靈敏度值在0x01到0x2F
- k++;
- }
- if(R == 0xFF)
- {
- j++;
- }
- }
- if(k>1 && j>1)
- {
- mm++;
- }
- else
- {
- mm=0;
- }
-
- if(mm>0)
- {
- aa =1;
- }
- else
- {
- aa=0;
- }
- return(aa);
-
- }
- //結束呼吸燈專用
- uchar code table[]={
- 0,0,1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,69,70,71,72,
- 73,74,75,76,77,78,79,80,81,82,
- 83,84,85,86,87,88,89,90,91,
- 92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,
- 110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,
- };
- void PwmUp(uint a, uchar c)
- {
- uchar i;
- if(c == 1)
- P3 = 0X00;
- else
- P0 = 0X00;
- P2 = 0X00;
- i = table[a];
- Delay(i);
- if(c == 1)
- P3 = 0XFF;
- else
- P0 = 0XFF;
- P2 = 0X00;
- Delay(150-i);
- }
- void PwmDown(uint a,uchar c)
- {
- uchar i;
- if(c == 1)
- P3 = 0XFF;
- else
- P0 = 0XFF;
- P2 = 0X00;
- i = table[a];
- Delay(i);
- if(c == 1)
- P3 = 0X00;
- else
- P0 = 0X00;
- P2 = 0X00;
- Delay(150-i);
- }
- void PwmAllon(uchar c)
- {
- int i;
- for(i = 0; i < 150 ;i++)
- {
- PwmDown(i,c);
- }
- if(c == 1)
- P3 = 0X00;
- else
- P0 = 0X00;
- P2 = 0X00;
- }
- void PwmOff(uchar c)
- {
- int i;
- // P3 = 0XFF;
- // P2 = 0X00;
- // Delay(100);
- for(i = 0; i < 150; i++)
- {
- PwmUp(i,c);
- }
-
- //P3 = 0X00;
- }
- void Allfalloff(uchar c,uchar time) //由全亮到下落關閉只剩一排
- {
- unsigned char code tabP0[5][8]={
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},
- {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<5;j++)
- {
- for(k=0;k<15;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Randomlight(uchar c,uchar time) //隨機亮完
- {
- unsigned char code tabP0[38][8]={
- {0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x20,0x00,0x00,0x00,0x00,0x10,0x00},
- {0x00,0x20,0x00,0x00,0x00,0x02,0x10,0x00},
- {0x00,0x20,0x04,0x00,0x00,0x02,0x10,0x00},
- {0x00,0xA0,0x04,0x00,0x00,0x02,0x10,0x00},
- {0x00,0xA0,0x24,0x10,0x00,0x02,0x10,0x00},
- {0x40,0xA0,0x24,0x10,0x00,0x02,0x10,0x00},
- {0x40,0xA0,0x24,0x10,0x20,0x02,0x10,0x00},
- {0x40,0xA0,0x24,0x10,0x20,0x22,0x10,0x00},
- {0x40,0xA0,0x24,0x10,0x20,0x22,0x14,0x42},
- {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,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},
- {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},
- {0x46,0xA1,0x67,0x52,0xA8,0xA7,0x56,0x5B},
- {0x46,0xB1,0x67,0x52,0xA8,0xA7,0x56,0x5B},
- {0x46,0xB1,0x67,0x5A,0xA8,0xA7,0x56,0x5B},
- {0x56,0xB1,0x67,0x5A,0xA8,0xA7,0x56,0x5B},
- {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},
- {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},
- {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;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<38;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- {
- P3 = tabP0[j][i];
- P0=tabP0[j][i];
- }
- DELAY_MS(time);
- }
- }
- }
- }
- void Randomoff(uchar c,uchar time) //隨機滅完
- {
- unsigned char code tabP0[23][8]={
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {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},
- {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},
- {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},
- {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},
- {0x95,0x01,0x54,0x09,0xC9,0x12,0x08,0x85},
- {0x95,0x01,0x54,0x01,0x89,0x12,0x08,0x84},
- {0x95,0x01,0x40,0x01,0x89,0x02,0x08,0x80},
- {0x95,0x00,0x40,0x01,0x88,0x02,0x08,0x00},
- {0x94,0x00,0x00,0x00,0x88,0x00,0x08,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<23;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Righttoleft(uchar c,uchar time) //右面平移到左面
- {
- unsigned char code tabP0[4][8]={
- {0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F},
- {0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0},
- {0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00},
- {0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<4;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- {
- P0=tabP0[j][i];
- P3 = tabP0[j][i];
- }
- DELAY_MS(time);
- }
- }
- }
- }
- void Lefttoright(uchar c,uchar time) //左面平移到右面
- {
- unsigned char code tabP0[4][8]={
- {0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00},
- {0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0},
- {0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<4;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void turnD(uchar c,uchar time) //從右面到下面
- {
- unsigned char code tabP0[6][8]={
- {0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F,0x0F},
- {0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F},
- {0x0F,0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F},
- {0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<6;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Toptofollowing(uchar c,uchar time) //上面平移到下面
- {
- unsigned char code tabP0[4][8]={
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00},
- {0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<4;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Followingtotop(uchar c,uchar time) //下面平移到上面
- {
- unsigned char code tabP0[4][8]={
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00},
- {0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<4;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Alllight(uchar c,uchar time) //右到左全亮
- {
- unsigned char code tabP0[4][8]={
- {0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F},
- {0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},
- {0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<4;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Evel(uchar c,uchar time) // 斜面亮
- {
- unsigned char code tabP0[7][8]={
- {0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xF7},
- {0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x73},
- {0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x23},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x48,0x48,0x00,0x00,0x21,0x21},
- {0x00,0x48,0x48,0x48,0x00,0x21,0x21,0x21},
- {0x48,0x48,0x48,0x48,0x21,0x21,0x21,0x21},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<7;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Followtotop(uchar c,uchar time) //上面轉移到后面 可以接旋轉
- {
- unsigned char code tabP0[10][8]={
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xEE,0x11,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xEC,0x12,0x01,0x00,0xFF,0x00,0x00,0x00},
- {0xC8,0x24,0x12,0x01,0xEF,0x10,0x00,0x00},
- {0x88,0x48,0x24,0x12,0xCE,0x21,0x10,0x00},
- {0x88,0x88,0x48,0x24,0x8C,0x42,0x21,0x10},
- {0x88,0x88,0x88,0x48,0x88,0x84,0x42,0x21},
- {0x88,0x88,0x88,0x88,0x88,0x88,0x84,0x42},
- {0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x84},
- {0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<15;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Spin(uchar c,uchar time) // 旋轉
- {
- unsigned char code tabP0[8][8]={
- {0x48,0x48,0x48,0x48,0x21,0x21,0x21,0x21},
- {0x44,0x44,0x44,0x44,0x22,0x22,0x22,0x22},
- {0x22,0x22,0x22,0x22,0x44,0x44,0x44,0x44},
- {0x21,0x21,0x21,0x21,0x48,0x48,0x48,0x48},
- {0x31,0x31,0x31,0x31,0xC8,0xC8,0xC8,0xC8},
- {0x30,0x30,0x30,0x30,0xC0,0xC0,0xC0,0xC0},
- {0xC0,0xC0,0xC0,0xC0,0x30,0x30,0x30,0x30},
- {0xC8,0xC8,0xC8,0xC8,0x31,0x31,0x31,0x31},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<8;j++)
- {
- for(k=0;k<8;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Thenthelast(uchar c,uchar time) //接旋轉下來到第一排
- {
- unsigned char code tabP0[3][8]={
- {0x00,0x48,0x48,0x48,0x00,0x21,0x21,0x21},
- {0x00,0x00,0x48,0x48,0x00,0x00,0x21,0x21},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<3;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Thelast(uchar c,uchar time) //接下來一排斜的 后4點轉到左上1
- {
- unsigned char code tabP0[43][8]={
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x23},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E},
- {0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x8C},
- {0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x88},
- {0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x80},
- {0x00,0x00,0x00,0x8E,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x30},
- {0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x70},
- {0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x70},
- {0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60},
- {0x00,0x00,0x00,0x60,0x00,0x00,0x20,0x40},
- {0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x00},
- {0x00,0x00,0x40,0x20,0x00,0x00,0x60,0x00},
- {0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00},
- {0x00,0x00,0x60,0x00,0x00,0x20,0x40,0x00},
- {0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00},
- {0x00,0x40,0x20,0x00,0x00,0x60,0x00,0x00},
- {0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00},
- {0x00,0x60,0x00,0x00,0x20,0x40,0x00,0x00},
- {0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x00},
- {0x40,0x20,0x00,0x00,0x60,0x00,0x00,0x00},
- {0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00},
- {0x70,0x00,0x00,0x00,0x40,0x00,0x00,0x00},
- {0x70,0x00,0x00,0x00,0x10,0x00,0x00,0x00},
- {0x30,0x00,0x00,0x00,0x11,0x00,0x00,0x00},
- {0x10,0x00,0x00,0x00,0x13,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x8E,0x00,0x00,0x00},
- {0x80,0x00,0x00,0x00,0x8C,0x00,0x00,0x00},
- {0x88,0x00,0x00,0x00,0x88,0x00,0x00,0x00},
- {0x8C,0x00,0x00,0x00,0x80,0x00,0x00,0x00},
- {0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<43;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- // P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Twoidea(uchar c,uchar time) //左上1開始 三個走 最后 底層亮完
- {
- unsigned char code tabP0[19][8]={
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x01,0x03,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x8F,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xCF,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xEF,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x30},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x70},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xF0},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xF8},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFC},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFE},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<19;j++)
- {
- for(k=0;k<8;k++)
- {
- for(i=0;i<8;i++)
- {
-
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Around2(uchar c,uchar time) //從左下第一點貪吃蛇樣 轉到左上第一點
- {
- unsigned char code tabP0[27][8]={
- {0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x11},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0C},
- {0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x08},
- {0x00,0x00,0x88,0x00,0x00,0x00,0x80,0x00},
- {0x00,0x00,0x8C,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x10,0x03,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x10,0x01,0x00,0x00,0x10,0x00,0x00},
- {0x00,0x10,0x00,0x00,0x00,0x11,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x13,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x80,0x0C,0x00,0x00},
- {0x80,0x00,0x00,0x00,0x80,0x08,0x00,0x00},
- {0x88,0x00,0x00,0x00,0x80,0x00,0x00,0x00},
- {0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<3;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Spread(uchar c,uchar time) //從左上1擴散全部一次 最后回到右上1
- {
- unsigned char code tabP0[42][8]={
- {0x13,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x37,0x33,0x01,0x00,0x10,0x00,0x00,0x00},
- {0x7F,0x37,0x13,0x01,0x31,0x10,0x00,0x00},
- {0xFF,0x7F,0x37,0x13,0x73,0x31,0x10,0x00},
- {0xFF,0xFF,0x7F,0x3F,0xFF,0x77,0x33,0x11},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x77,0x33},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFE,0xEC,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFE,0xEC,0xC8,0xFF,0xFF,0xFF,0xEF},
- {0xFE,0xEC,0xC8,0x80,0xFF,0xFF,0xEF,0xCE},
- {0xEC,0xC8,0x80,0x00,0xFF,0xEF,0xCE,0x8C},
- {0xC8,0x80,0x00,0x00,0xEF,0xCE,0x8C,0x08},
- {0x80,0x00,0x00,0x00,0xCE,0x8C,0x08,0x00},
- {0x00,0x00,0x00,0x00,0x8C,0x08,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x8C,0x08,0x00,0x00},
- {0x80,0x00,0x00,0x00,0xCE,0x8C,0x08,0x00},
- {0xC8,0x80,0x00,0x00,0xEF,0xCE,0x8C,0x08},
- {0xEC,0xC8,0x80,0x00,0xFF,0xEF,0xCE,0x8C},
- {0xFE,0xEC,0xC8,0x80,0xFF,0xFF,0xEF,0xCE},
- {0xFF,0xFE,0xEC,0xC8,0xFF,0xFF,0xFF,0xEF},
- {0xFF,0xFF,0xFE,0xEC,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xEC},
- {0xFF,0xFF,0xFF,0xEF,0xFF,0xFE,0xEC,0xC8},
- {0xFF,0xFF,0xEF,0xCE,0xFE,0xEC,0xC8,0x80},
- {0xFF,0xEF,0xCE,0x8C,0xEC,0xC8,0x80,0x00},
- {0xEF,0xCE,0x8C,0x08,0xC8,0x80,0x00,0x00},
- {0xCE,0x8C,0x08,0x00,0x80,0x00,0x00,0x00},
- {0x8C,0x08,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<42;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- ;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Framework(uchar c,uchar time)//從右上第一點延伸框架
- {
- unsigned char code tabP0[8][8]={
- {0x00,0x00,0x00,0x00,0x13,0x01,0x00,0x00},
- {0x10,0x00,0x00,0x00,0x17,0x01,0x01,0x00},
- {0x11,0x00,0x00,0x00,0x1F,0x01,0x01,0x01},
- {0x13,0x01,0x00,0x00,0x9F,0x09,0x01,0x13},
- {0x97,0x01,0x01,0x10,0x9F,0x09,0x09,0x17},
- {0x9F,0x01,0x01,0x11,0x9F,0x09,0x09,0x9F},
- {0x9F,0x09,0x01,0x93,0x9F,0x09,0x09,0x9F},
- {0x9F,0x09,0x09,0x9F,0x9F,0x09,0x09,0x9F},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<8;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
-
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Nextkj1(uchar c,uchar time) //第一種接框架后 4個小正方形轉動最后全亮
- {
- unsigned char code tabP0[32][8]={
- {0x9F,0x09,0x09,0x9F,0x9F,0x09,0x09,0x9F},
- {0x06,0x99,0x99,0x06,0x06,0x99,0x99,0x06},
- {0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00},
- {0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00},
- {0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0,0x00},
- {0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66},
- {0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC},
- {0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0},
- {0x00,0x00,0xCC,0xCC,0x00,0x00,0x00,0x00},
- {0x00,0xCC,0xCC,0x00,0x00,0x00,0x00,0x00},
- {0xCC,0xCC,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x77,0x77,0x00,0x00,0x00,0x00},
- {0x33,0x33,0xFF,0xFF,0x00,0x00,0x00,0x00},
- {0x33,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00},
- {0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00},
- {0xFF,0xFF,0xFF,0xFF,0xCC,0xCC,0x00,0x00},
- {0xFF,0xFF,0xFF,0xFF,0xEE,0xEE,0x00,0x00},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x33,0x00},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x33,0x33},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x77,0x77},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<32;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Nextkj2(uchar c,uchar time) //第二種接框架后 最后上面一排亮
- {
- unsigned char code tabP0[10][8]={
- {0x9F,0x09,0x09,0x9F,0x9F,0x09,0x09,0x9F},
- {0xF0,0x90,0x90,0xF0,0x9F,0x09,0x09,0x9F},
- {0x00,0x00,0x00,0x00,0xFF,0x99,0x99,0xFF},
- {0x00,0x00,0x00,0x00,0x0F,0x09,0x09,0x0F},
- {0x00,0x00,0x00,0x00,0x0F,0x09,0x09,0x00},
- {0x00,0x00,0x00,0x00,0x0F,0x09,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xF0,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<10;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Drip(uchar c,uchar time) //接上面全亮的,滴水 ,最后最下面的一排亮
- {
- unsigned char code tabP0[25][8]={
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFE,0x01,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFC,0x02,0x01,0x00,0xFF,0x00,0x00,0x00},
- {0xF8,0x04,0x02,0x01,0xFF,0x00,0x00,0x00},
- {0xF0,0x08,0x04,0x03,0xFF,0x00,0x00,0x00},
- {0xF0,0x00,0x08,0x07,0xFF,0x00,0x00,0x00},
- {0xF0,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00},
- {0xE0,0x10,0x00,0x0F,0xFF,0x00,0x00,0x00},
- {0xC0,0x20,0x10,0x0F,0xFF,0x00,0x00,0x00},
- {0x80,0x40,0x20,0x1F,0xFF,0x00,0x00,0x00},
- {0x00,0x80,0x40,0x3F,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x80,0x7F,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x00,0xFF,0xEF,0x10,0x00,0x00},
- {0x00,0x00,0x00,0xFF,0xCF,0x20,0x10,0x00},
- {0x00,0x00,0x00,0xFF,0x8F,0x40,0x20,0x10},
- {0x00,0x00,0x00,0xFF,0x0F,0x80,0x40,0x30},
- {0x00,0x00,0x00,0xFF,0x0F,0x00,0x80,0x70},
- {0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0xF0},
- {0x00,0x00,0x00,0xFF,0x0E,0x01,0x00,0xF0},
- {0x00,0x00,0x00,0xFF,0x0C,0x02,0x01,0xF0},
- {0x00,0x00,0x00,0xFF,0x08,0x04,0x02,0xF1},
- {0x00,0x00,0x00,0xFF,0x00,0x08,0x04,0xF3},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x08,0xF7},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<25;j++)
- {
- for(k=0;k<15;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Around(uchar c,uchar time) //最前面一面全亮開始 圍著光立方轉 最后回到第一面
- {
- unsigned char code tabP0[12][8]={
- {0x13,0x13,0x13,0x13,0x10,0x10,0x10,0x10},
- {0x17,0x17,0x17,0x17,0x00,0x00,0x00,0x00},
- {0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00},
- {0x8E,0x8E,0x8E,0x8E,0x00,0x00,0x00,0x00},
- {0x8C,0x8C,0x8C,0x8C,0x80,0x80,0x80,0x80},
- {0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88},
- {0x80,0x80,0x80,0x80,0x8C,0x8C,0x8C,0x8C},
- {0x00,0x00,0x00,0x00,0x8E,0x8E,0x8E,0x8E},
- {0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F},
- {0x00,0x00,0x00,0x00,0x17,0x17,0x17,0x17},
- {0x10,0x10,0x10,0x10,0x13,0x13,0x13,0x13},
- {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<12;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Aroundnext(uchar c,uchar time) //接Around 第一面轉到第一列
- {
- unsigned char code tabP0[13][8]={
- {0x11,0x11,0x11,0x10,0x11,0x11,0x11,0x13},
- {0x11,0x11,0x11,0x00,0x11,0x11,0x11,0x17},
- {0x11,0x11,0x10,0x00,0x11,0x11,0x13,0x0F},
- {0x11,0x10,0x00,0x00,0x11,0x13,0x17,0x8E},
- {0x10,0x00,0x00,0x80,0x13,0x17,0x0F,0x8C},
- {0x00,0x00,0x00,0x88,0x17,0x0F,0x8E,0x88},
- {0x00,0x00,0x80,0x8C,0x0F,0x8E,0x8C,0x80},
- {0x00,0x80,0x88,0x8E,0x8E,0x8C,0x88,0x00},
- {0x80,0x88,0x8C,0x0F,0x8C,0x88,0x80,0x00},
- {0x88,0x8C,0x8E,0x0F,0x88,0x80,0x00,0x00},
- {0x8C,0x8E,0x0F,0x0F,0x80,0x00,0x00,0x00},
- {0x8E,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00},
- {0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<13;j++)
- {
- for(k=0;k<13;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
-
- }
- void Rain(uchar c,uchar time) //全關 水滴到全關
- {
- unsigned char code tabP0[40][8]={
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x25,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x51},
- {0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x84},
- {0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13},
- {0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x45},
- {0x00,0x00,0x00,0x41,0x00,0x00,0x00,0x89},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00},
- {0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00},
- {0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00},
- {0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x8C},
- {0x00,0x00,0x00,0xE4,0x00,0x00,0x00,0x32},
- {0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x31},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x2A,0x00,0x00,0x00,0x68},
- {0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x1B},
- {0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x1B},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C},
- {0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x4A},
- {0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x29},
- {0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x19},
- {0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x19}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<40;j++)
- {
- for(k=0;k<11;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Nextfourspread(uchar c,uchar time) //由右上四個小正方體擴散一次 在擴散一次 回到中間四個
- {
- unsigned char code tabP0[28][8]={
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x77,0x77,0x07,0x00,0x77,0x31,0x00,0x00},
- {0xFF,0x77,0x77,0x11,0x77,0x77,0x31,0x00},
- {0xFF,0xFF,0xFF,0x77,0xFF,0xFF,0x73,0x31},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x73},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xEC,0xCC,0xFF,0xFF,0xFF,0xEF},
- {0xFF,0xFE,0xCC,0xC8,0xFF,0xFF,0xEF,0xCE},
- {0xFF,0xEC,0xC8,0x88,0xFF,0xEF,0xEC,0x8C},
- {0xFE,0xC8,0x88,0x80,0xFE,0xCE,0x8C,0x80},
- {0x00,0x00,0x00,0x00,0xCE,0xCC,0x88,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xEE,0xCC,0x08,0x00},
- {0xE0,0x80,0x00,0x00,0xEF,0xCC,0x88,0x88},
- {0xEC,0xC8,0x80,0x00,0xFF,0xEE,0x8C,0x88},
- {0xEE,0xEC,0xCC,0x00,0xFF,0xEF,0xCC,0x8C},
- {0xFE,0xFE,0xEC,0x8C,0xFF,0xEF,0xEF,0xEC},
- {0xFF,0xFF,0xFE,0xEC,0xFF,0xFF,0xFF,0xEF},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0xC3,0xE7,0x7E,0x3C,0x3C,0x7E,0xE7,0xC3},
- {0x42,0xE7,0x7E,0x24,0x24,0x7E,0xE7,0x42},
- {0x00,0x66,0x76,0x20,0x00,0x66,0xE7,0x42},
- {0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00},
- {0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00},
- {0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<28;j++)
- {
- for(k=0;k<12;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Fourspread(uchar c,uchar time) //從中間四個小燈亮擴散到外面四個亮
- {
- unsigned char code tabP0[12][8]={
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x05,0x00,0x05,0x00,0x50,0x00,0x50,0x00},
- {0x09,0x00,0x00,0x09,0x09,0x00,0x00,0x09},
- {0x05,0x00,0x05,0x00,0x50,0x00,0x50,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x66,0x66,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00},
- {0x09,0x00,0x00,0x09,0x09,0x00,0x00,0x09},
- {0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<12;j++)
- {
- for(k=0;k<18;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any1(uchar c,uchar time) //3個點 貪吃蛇樣 到最上面一層全亮 可以接上面到后面在接旋轉
- {
- unsigned char code tabP0[52][8]={
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x01,0x11,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x11},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C},
- {0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x88},
- {0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x80},
- {0x00,0x00,0x04,0x88,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x06,0x08,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x13,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x31,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x60,0x00,0x00,0x00,0x40,0x00},
- {0x00,0x00,0x40,0x00,0x00,0x00,0x44,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x08,0x0C,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x0C,0x08,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x13,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00},
- {0x00,0x80,0x00,0x00,0x00,0xC0,0x00,0x00},
- {0x00,0xC0,0x00,0x00,0x00,0x80,0x00,0x00},
- {0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x62,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x26,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x08,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0x80,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xC0,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xE0,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xF0,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xF1,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xF3,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xF7,0x00,0x00,0x00},
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<52;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P0=0;
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any2(uchar c,uchar time) //從底下中間一個小正方體 慢慢向上走 到頂層擴散開 在下到底層
- {
- unsigned char code tabP0[8][8]={
- {0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60},
- {0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00},
- {0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00},
- {0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00},
- {0x9F,0x00,0x00,0x00,0x9F,0x00,0x00,0x00},
- {0x00,0x9F,0x00,0x00,0x00,0x9F,0x00,0x00},
- {0x00,0x00,0x9F,0x00,0x00,0x00,0x9F,0x00},
- {0x00,0x00,0x00,0x9F,0x00,0x00,0x00,0x9F},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<8;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any3(uchar c,uchar time) //從頂層轉到斜面 可以接旋轉
- {
- unsigned char code tabP0[46][8]={
- {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x11,0x00,0x00,0x00,0x10,0x00,0x00,0x00},
- {0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x8C,0x00,0x00,0x00},
- {0x80,0x00,0x00,0x00,0x88,0x00,0x00,0x00},
- {0x88,0x00,0x00,0x00,0x80,0x00,0x00,0x00},
- {0x88,0x04,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x08,0x06,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x13,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x11,0x00,0x00,0x00,0x10,0x00,0x00},
- {0x00,0x10,0x00,0x00,0x00,0x11,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x11,0x02,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0x00},
- {0x00,0x00,0x80,0x00,0x00,0x00,0x88,0x00},
- {0x00,0x00,0x88,0x00,0x00,0x00,0x80,0x00},
- {0x00,0x00,0x8C,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x03,0x10,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x01,0x10,0x00,0x00,0x00,0x10},
- {0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x11},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C},
- {0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x88},
- {0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x80},
- {0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x20},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x01,0x21},
- {0x00,0x00,0x00,0x48,0x00,0x01,0x21,0x21},
- {0x00,0x00,0x40,0x48,0x01,0x21,0x21,0x21},
- {0x00,0x40,0x48,0x48,0x21,0x21,0x21,0x21},
- {0x40,0x48,0x48,0x48,0x21,0x21,0x21,0x21},
- {0x48,0x48,0x48,0x48,0x21,0x21,0x21,0x21},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<46;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any4(uchar c,uchar time) //右上一個小正方體 繞繞繞到左上
- {
- unsigned char code tabP0[21][8]={
- {0x00,0x00,0x00,0x00,0x8C,0x88,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0x8C,0x00,0x00},
- {0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x01,0x33,0x32,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x21,0x33,0x12},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x36},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66},
- {0x00,0x00,0x00,0x00,0x00,0x00,0xCE,0x64},
- {0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC},
- {0x00,0x00,0xC0,0xC0,0x00,0x00,0xC0,0xC0},
- {0x00,0x00,0xCC,0xCC,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x6C,0xC6,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x66,0x66,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x66,0x33,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x33,0x33,0x00,0x00,0x00,0x00},
- {0x00,0x21,0x32,0x13,0x00,0x00,0x00,0x00},
- {0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<21;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
-
- }
- void Any5(uchar c,uchar time) //從地下旋轉起來 接旋轉
- {
- unsigned char code tabP0[36][8]={
- {0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xF7},
- {0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x77},
- {0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x63},
- {0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x23},
- {0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x44},
- {0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x48},
- {0x00,0x00,0x00,0x31,0x00,0x00,0x00,0xC8},
- {0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0xB0},
- {0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x31},
- {0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},
- {0x00,0x00,0x48,0x00,0x00,0x00,0x21,0x00},
- {0x00,0x00,0x44,0x00,0x00,0x00,0x22,0x00},
- {0x00,0x00,0x22,0x00,0x00,0x00,0x44,0x00},
- {0x00,0x00,0x21,0x00,0x00,0x00,0x48,0x00},
- {0x00,0x00,0x31,0x00,0x00,0x00,0xC8,0x00},
- {0x00,0x00,0xD0,0x00,0x00,0x00,0xB0,0x00},
- {0x00,0x00,0x48,0x00,0x00,0x00,0x21,0x00},
- {0x00,0x4C,0x00,0x00,0x00,0x23,0x00,0x00},
- {0x00,0x22,0x00,0x00,0x00,0x44,0x00,0x00},
- {0x00,0x21,0x00,0x00,0x00,0x48,0x00,0x00},
- {0x00,0x31,0x00,0x00,0x00,0xC8,0x00,0x00},
- {0x00,0xD0,0x00,0x00,0x00,0xB0,0x00,0x00},
- {0x00,0x48,0x00,0x00,0x00,0x21,0x00,0x00},
- {0x44,0x00,0x00,0x00,0x21,0x00,0x00,0x00},
- {0x26,0x00,0x00,0x00,0x46,0x00,0x00,0x00},
- {0x21,0x00,0x00,0x00,0x48,0x00,0x00,0x00},
- {0x31,0x00,0x00,0x00,0xC8,0x00,0x00,0x00},
- {0xD0,0x00,0x00,0x00,0xB0,0x00,0x00,0x00},
- {0xC8,0x00,0x00,0x00,0x31,0x00,0x00,0x00},
- {0x48,0x00,0x00,0x00,0x21,0x00,0x00,0x00},
- {0x48,0x48,0x00,0x00,0x21,0x21,0x00,0x00},
- {0x48,0x48,0x48,0x00,0x21,0x21,0x21,0x00},
- {0x48,0x48,0x48,0x48,0x21,0x21,0x21,0x21},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<36;j++)
- {
- for(k=0;k<10;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any6(uchar c,uchar time) //從下隨機升起 一直上去 最后滅 快速過場
- {
- unsigned char code tabP0[9][8]={
- {0x00,0x00,0x00,0x52,0x00,0x00,0x00,0xC2},
- {0x00,0x00,0xA0,0x52,0x00,0x00,0x64,0xC2},
- {0x00,0x40,0xA4,0x52,0x00,0xA0,0x64,0xC2},
- {0x00,0x42,0xA4,0x52,0x00,0xAA,0x64,0xC2},
- {0x62,0x42,0xA4,0x52,0x26,0xAA,0x64,0xC2},
- {0x62,0x42,0xA4,0x00,0x26,0xAA,0x64,0x00},
- {0x62,0x42,0x00,0x00,0x26,0xAA,0x00,0x00},
- {0x62,0x00,0x00,0x00,0x26,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<9;j++)
- {
- for(k=0;k<9;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
-
-
- }
- void Any7(uchar c,uchar time) //音頻顯示 從底層亮完開始,最后全滅
- {
- unsigned char code tabP0[20][8]={
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},
- {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},
- {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},
- {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},
- {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,0xFF},
- {0x00,0x0F,0xFF,0xFF,0x00,0x00,0x0F,0xFF},
- {0x0F,0x0F,0x0F,0xFF,0x00,0x0F,0xFF,0xFF},
- {0x00,0x0F,0xFF,0xFF,0x0F,0x0F,0x0F,0xFF},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x33,0x33,0x00,0x00,0x00,0x00},
- {0x00,0x33,0x33,0x33,0x00,0x00,0x00,0x00},
- {0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30},
- {0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30},
- {0x00,0x30,0x30,0x30,0x00,0x30,0x30,0x30},
- {0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<20;j++)
- {
- for(k=0;k<22;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any8(uchar c,uchar time) //由全滅 到右下第一個起來成一豎列 然后豎列逐個走 最后到左上一個亮
- {
- unsigned char code tabP0[25][8]={
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01},
- {0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01},
- {0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01},
- {0x00,0x00,0x00,0x00,0x02,0x01,0x01,0x01},
- {0x00,0x00,0x00,0x00,0x04,0x02,0x01,0x01},
- {0x00,0x00,0x00,0x00,0x08,0x04,0x02,0x01},
- {0x00,0x00,0x00,0x00,0x08,0x08,0x04,0x02},
- {0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x04},
- {0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08},
- {0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80},
- {0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40},
- {0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20},
- {0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10},
- {0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00},
- {0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00},
- {0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00},
- {0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00},
- {0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00},
- {0x04,0x08,0x08,0x08,0x00,0x00,0x00,0x00},
- {0x02,0x04,0x08,0x08,0x00,0x00,0x00,0x00},
- {0x01,0x02,0x04,0x08,0x00,0x00,0x00,0x00},
- {0x01,0x02,0x04,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00},
- {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- }
- for(j=0;j<25;j++)
- {
- for(k=0;k<22;k++)
- {
- for(i=0;i<8;i++)
- {
- P2=tabP2[i];
- if(c == 1)
- P0=tabP0[j][i];
- else if(c == 2)
- P3 = tabP0[j][i];
- else
- P0=tabP0[j][i];
- DELAY_MS(time);
- }
- }
- }
- }
- void Any9(uchar c,uchar time) //由上面一排全亮 轉到左上小正方形
- {
- unsigned char code tabP0[30][8]={
- {0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFE,0x01,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFE,0x00,0x01,0x00,0xFF,0x00,0x00,0x00},
- {0xFE,0x00,0x00,0x01,0xFF,0x00,0x00,0x00},
- {0xFC,0x02,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xFC,0x00,0x02,0x00,0xFF,0x00,0x00,0x00},
- {0xFC,0x00,0x00,0x02,0xFF,0x00,0x00,0x00},
- {0xF8,0x04,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xF8,0x00,0x04,0x00,0xFF,0x00,0x00,0x00},
- {0xF8,0x00,0x00,0x04,0xFF,0x00,0x00,0x00},
- {0xF0,0x08,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xF0,0x00,0x08,0x00,0xFF,0x00,0x00,0x00},
- {0xF0,0x00,0x00,0x08,0xFF,0x00,0x00,0x00},
- {0xE0,0x10,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xE0,0x00,0x10,0x00,0xFF,0x00,0x00,0x00},
- {0xE0,0x00,0x00,0x10,0xFF,0x00,0x00,0x00},
- {0xC0,0x20,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0xC0,0x00,0x20,0x00,0xFF,0x00,0x00,0x00},
- {0xC0,0x00,0x00,0x20,0xFF,0x00,0x00,0x00},
- {0x80,0x40,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0x80,0x00,0x40,0x00,0xFF,0x00,0x00,0x00},
- {0x80,0x00,0x00,0x40,0xFF,0x00,0x00,0x00},
- {0x00,0x80,0x00,0x00,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x80,0x00,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x77,0x22,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00},
- {0x30,0x00,0x00,0x00,0x30,0x33,0x00,0x00},
- {0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00},
- {0x33,0x33,0x00,0x00,0x00,0x00,0x00,0x00},
- };
- int j,k,i;
- if(c==1)
- P3 = 0X00;
- else if(c==2)
- P0 = 0X00;
- else
- {
- P3 = 0XFF;
- P0 = 0XFF;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
4層光立方完整版超級全.rar
(1.04 MB, 下載次數: 167)
2017-6-12 23:04 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|