|
測試版:
1.原理圖:
0.png (226.84 KB, 下載次數(shù): 109)
下載附件
2016-9-8 01:37 上傳
由于沒有線材,LED管腳非常短,所以使用漆包線作為固定連接線,外形比較丑陋。LED購買了普通綠色的LED,亮度不足。以下是測試板。用74HC138和74HC595作為掃描和驅(qū)動,節(jié)省I/O口。
2.實物圖:

顯示效果視頻:
修改版:
1.原理圖:
0.png (206.32 KB, 下載次數(shù): 89)
下載附件
2016-9-8 01:38 上傳
2.實物圖:
0.png (373.72 KB, 下載次數(shù): 72)
下載附件
2016-9-8 01:39 上傳
顯示效果視頻:
3.源代碼:
- #include <reg52.h>
- #include <intrins.h>
- #include <string.h>
- #include <Binary.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define LED P0
- #define FLOOR P2
- /*圖形表*/
- uchar code table[16]=
- {
- B0000,B0000,B0000,B0000, //層1
- B0000,B0000,B0000,B0000, //層2
- B0000,B0000,B0000,B0000, //層3
- B0000,B0000,B0000,B0000, //層4
- };
- /*粗略延時函數(shù)*/
- void delay(uint xms)
- {
- uint i,j;
- for(i = xms ; i > 0 ; i--)
- for(j=150;j > 0;j--);
- }
- /*立方體掃描*/
- void Cube_display(uchar array[],uint delay_time)
- {
- uchar floor_temp;
- uchar num;
- for(;delay_time > 0;delay_time--)
- {
- for(num = 0,floor_temp = 0x01;num < 8;num++)
- {
- FLOOR = ~floor_temp;
- LED = (~array[num]) | 0xf0;
- delay(1);
- LED = 0xff;
- floor_temp = floor_temp << 1;
- }
-
- for(num = 8,floor_temp = 0x01;num < 16;num++)
- {
- FLOOR = ~floor_temp;
- LED = (~(array[num]) << 4) | 0x0f;
- delay(1);
- LED = 0xff;
- floor_temp = floor_temp << 1;
- }
- }
- }
- void clr_display(uchar array[])
- {
- uint array_num;
- for(array_num = 0;array_num < 16;array_num++)
- {
- array[array_num] = B0000;
- }
- }
- void main(void)
- {
- uchar display_table[16];
- uint i1;
- uint i2;
- uint i3;
- uint table_num;
- uint table_num2;
- strcpy(display_table,table);
- while(1)
- {
- //圖像1開始
- display_table[12]=B1111;
- display_table[13]=B1111;
- display_table[14]=B1111;
- display_table[15]=B1111;
- Cube_display(display_table,6);
-
- for(table_num = 12;table_num > 0;table_num = table_num-4)
- {
- for(i1=1;i1<=7;i1++)
- {
- table_num2 = table_num-4;
- if(i1>=1)
- {
- display_table[table_num]=(display_table[table_num]<<1);
- display_table[table_num2]= ~((~display_table[table_num2]) << 1);
- }
-
- if(i1>=2)
- {
- display_table[table_num+1]=(display_table[table_num+1]<<1);
- display_table[table_num2+1]= ~((~display_table[table_num2+1]) << 1);
- }
-
- if(i1>=3)
- {
- display_table[table_num+2]=(display_table[table_num+2]<<1);
- display_table[table_num2+2]= ~((~display_table[table_num2+2]) << 1);
- }
-
- if(i1>=4)
- {
- display_table[table_num+3]=(display_table[table_num+3]<<1);
- display_table[table_num2+3]= ~((~display_table[table_num2+3]) << 1);
- }
- Cube_display(display_table,6);
- }
- }
- display_table[7] = B1111;
- display_table[3] = B0000;
- Cube_display(display_table,5);
- display_table[6] = B1111;
- display_table[2] = B0000;
- display_table[11] = B1111;
- display_table[7] = B0000;
- Cube_display(display_table,7);
- for(i2 = 0;i2 <=5;i2++)
- {
- clr_display(display_table);
- display_table[0] = B1111;
- display_table[5] = B1111;
-
- display_table[10] = B1111;
- display_table[15] = B1111;
- Cube_display(display_table,8);
-
-
- clr_display(display_table);
- display_table[4] = B1111;
- display_table[9] = B1111;
-
- display_table[14] = B1111;
- display_table[11] = B1111;
- Cube_display(display_table,8);
-
-
- clr_display(display_table);
- display_table[8] = B1111;
- display_table[13] = B1111;
-
- display_table[10] = B1111;
- display_table[7] = B1111;
- Cube_display(display_table,8);
-
- clr_display(display_table);
- display_table[2] = B1111;
- display_table[9] = B1111;
-
- display_table[3] = B1111;
- display_table[6] = B1111;
- Cube_display(display_table,8);
-
- clr_display(display_table);
- display_table[7] = B1111;
- display_table[2] = B1111;
-
- display_table[5] = B1111;
- display_table[8] = B1111;
- Cube_display(display_table,7);
-
- clr_display(display_table);
- display_table[4] = B1111;
- display_table[1] = B1111;
-
- display_table[6] = B1111;
- display_table[11] = B1111;
- Cube_display(display_table,8);
- }
- clr_display(display_table);
- display_table[0] = B1111;
- display_table[5] = B1111;
-
- display_table[10] = B1111;
- display_table[15] = B1111;
- Cube_display(display_table,8);
- //圖像1jie
- for(i2 = 0 ,i1 = 0x0f;i2 < 3 ;i2++)
- {
-
- display_table[0] = B1111 & i1;
- display_table[5] = B1111 & i1;
-
- display_table[10] = B1111 & i1;
- display_table[15] = B1111 & i1;
- Cube_display(display_table,10);
- i1 = i1 >> 1;
- }
- display_table[0] = B0001;
- display_table[5] = B0001;
-
- display_table[10] = B0001;
- display_table[15] = B0001;
- Cube_display(display_table,9);
- for(i3 = 0;i3 < 5;i3++)
- {
- for(i2 = 0 ,i1 = 0x01;i2 < 3 ;i2++)
- {
- display_table[0] = i1;
- display_table[5] = i1;
- display_table[10] = i1;
- display_table[15] = i1;
- Cube_display(display_table,7);
- i1 = i1 << 1;
- }
-
- for(i2 = 0 ,i1 = 0x08;i2 < 3 ;i2++)
- {
- display_table[0] = i1;
- display_table[5] = i1;
- display_table[10] = i1;
- display_table[15] = i1;
- Cube_display(display_table,7);
- i1 = i1 >> 1;
- }
- }
-
-
- display_table[0] = B0001;
- display_table[5] = B0001;
- display_table[10] = B0001;
- display_table[15] = B0001;
- Cube_display(display_table,7);
-
- display_table[0] = B0000;
- Cube_display(display_table,22);
- display_table[5] = B0000;
- Cube_display(display_table,22);
- display_table[10] = B0000;
- Cube_display(display_table,22);
- for(i1 = 0 ;i1 < 4;i1++)
- {
- display_table[15] = B0000;
- Cube_display(display_table,6);
- display_table[15] = B0001;
- Cube_display(display_table,6);
- }
- display_table[15] = B0000;
- Cube_display(display_table,4);
- for(i1 = 0 ;i1 < 16;i1++)
- {
- display_table[15] = display_table[15] + 0x01;
- Cube_display(display_table,6);
- }
- for(i1 = 0 ;i1 < 4;i1++)
- {
- display_table[15] = B0000;
- Cube_display(display_table,6);
- display_table[15] = B1111;
- Cube_display(display_table,6);
- }
- for(table_num = 15 ;table_num > 11;table_num--)
- {
- display_table[table_num] = B1111;
- Cube_display(display_table,7);
- }
- for(table_num = 8;table_num < 12;table_num++)
- {
- display_table[table_num] = B1111;
- Cube_display(display_table,7);
- }
- for(table_num = 7 ;table_num > 3;table_num--)
- {
- display_table[table_num] = B1111;
- Cube_display(display_table,7);
- }
- for(table_num = 0;table_num < 4;table_num++)
- {
- display_table[table_num] = B1111;
- Cube_display(display_table,7);
- }
- for(i1 = 0 ;i1 < 3;i1++)
- {
- Cube_display(table,5);
- Cube_display(display_table,7);
- }
- //圖形3
- for(table_num = 15 ;table_num > 11;table_num--)
- {
- display_table[table_num] = B0000;
- Cube_display(display_table,7);
- }
- for(table_num = 8;table_num < 12;table_num++)
- {
- display_table[table_num] = B0000;
- Cube_display(display_table,7);
- }
- for(table_num = 7 ;table_num > 3;table_num--)
- {
- display_table[table_num] = B0000;
- Cube_display(display_table,7);
- }
- for(table_num = 1;table_num < 4;table_num++)
- {
- display_table[table_num] = B0000;
- Cube_display(display_table,7);
- }
- for(i1 = 0 ;i1 < 3;i1 ++)
- {
- display_table[0] = B1110;
- display_table[1] = B1110;
- display_table[2] = B1110;
- display_table[3] = B1110;
- display_table[4] = B0001;
- display_table[5] = B0001;
- display_table[6] = B0001;
- display_table[7] = B0001;;
- Cube_display(display_table,7);
-
- display_table[0] = B1100;
- display_table[1] = B1100;
- display_table[2] = B1100;
- display_table[3] = B1100;
- display_table[4] = B0010;
- display_table[5] = B0010;
- display_table[6] = B0010;
- display_table[7] = B0010;
- display_table[8] = B0001;
- display_table[9] = B0001;
- display_table[10] = B0001;
- display_table[11] = B0001;
- Cube_display(display_table,7);
-
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
- display_table[4] = B0100;
- display_table[5] = B0100;
- display_table[6] = B0100;
- display_table[7] = B0100;
- display_table[8] = B0010;
- display_table[9] = B0010;
- display_table[10] = B0010;
- display_table[11] = B0010;
- display_table[12] = B0001;
- display_table[13] = B0001;
- display_table[14] = B0001;
- display_table[15] = B0001;
- Cube_display(display_table,7);
-
- display_table[12] = B0010;
- display_table[13] = B0010;
- display_table[14] = B0010;
- display_table[15] = B0010;
- display_table[8] = B0100;
- display_table[9] = B0100;
- display_table[10] = B0100;
- display_table[11] = B0100;
- display_table[4] = B1000;
- display_table[5] = B1000;
- display_table[6] = B1000;
- display_table[7] = B1000;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
- Cube_display(display_table,7);
-
- display_table[12] = B0100;
- display_table[13] = B0100;
- display_table[14] = B0100;
- display_table[15] = B0100;
- display_table[8] = B1000;
- display_table[9] = B1000;
- display_table[10] = B1000;
- display_table[11] = B1000;
- display_table[4] = B1000;
- display_table[5] = B1000;
- display_table[6] = B1000;
- display_table[7] = B1000;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
-
- Cube_display(display_table,7);
-
- display_table[12] = B1000;
- display_table[13] = B1000;
- display_table[14] = B1000;
- display_table[15] = B1000;
- display_table[8] = B1000;
- display_table[9] = B1000;
- display_table[10] = B1000;
- display_table[11] = B1000;
- display_table[4] = B1000;
- display_table[5] = B1000;
- display_table[6] = B1000;
- display_table[7] = B1000;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0100;
- display_table[13] = B0100;
- display_table[14] = B0100;
- display_table[15] = B0100;
- display_table[8] = B1000;
- display_table[9] = B1000;
- display_table[10] = B1000;
- display_table[11] = B1000;
- display_table[4] = B1000;
- display_table[5] = B1000;
- display_table[6] = B1000;
- display_table[7] = B1000;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0010;
- display_table[13] = B0010;
- display_table[14] = B0010;
- display_table[15] = B0010;
- display_table[8] = B0100;
- display_table[9] = B0100;
- display_table[10] = B0100;
- display_table[11] = B0100;
- display_table[4] = B1000;
- display_table[5] = B1000;
- display_table[6] = B1000;
- display_table[7] = B1000;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0001;
- display_table[13] = B0001;
- display_table[14] = B0001;
- display_table[15] = B0001;
- display_table[8] = B0010;
- display_table[9] = B0010;
- display_table[10] = B0010;
- display_table[11] = B0010;
- display_table[4] = B0100;
- display_table[5] = B0100;
- display_table[6] = B0100;
- display_table[7] = B0100;
- display_table[0] = B1000;
- display_table[1] = B1000;
- display_table[2] = B1000;
- display_table[3] = B1000;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0000;
- display_table[13] = B0000;
- display_table[14] = B0000;
- display_table[15] = B0000;
- display_table[8] = B0001;
- display_table[9] = B0001;
- display_table[10] = B0001;
- display_table[11] = B0001;
- display_table[4] = B0010;
- display_table[5] = B0010;
- display_table[6] = B0010;
- display_table[7] = B0010;
- display_table[0] = B1100;
- display_table[1] = B1100;
- display_table[2] = B1100;
- display_table[3] = B1100;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0000;
- display_table[13] = B0000;
- display_table[14] = B0000;
- display_table[15] = B0000;
- display_table[8] = B0000;
- display_table[9] = B0000;
- display_table[10] = B0000;
- display_table[11] = B0000;
- display_table[4] = B0001;
- display_table[5] = B0001;
- display_table[6] = B0001;
- display_table[7] = B0001;
- display_table[0] = B1110;
- display_table[1] = B1110;
- display_table[2] = B1110;
- display_table[3] = B1110;
-
- Cube_display(display_table,7);
-
- display_table[12] = B0000;
- display_table[13] = B0000;
- display_table[14] = B0000;
- display_table[15] = B0000;
- display_table[8] = B0000;
- display_table[9] = B0000;
- display_table[10] = B0000;
- display_table[11] = B0000;
- display_table[4] = B0000;
- display_table[5] = B0000;
- display_table[6] = B0000;
- display_table[7] = B0000;
- display_table[0] = B1111;
- display_table[1] = B1111;
- display_table[2] = B1111;
- display_table[3] = B1111;
-
- Cube_display(display_table,7);
- }
- for(i1 = 0;i1 < 4;i1 ++)
- {
- display_table[12] = B0000;
- display_table[8] = B0000;
- display_table[4] = B1111;
- display_table[0] = B0000;
- Cube_display(display_table,7);
-
- display_table[12] = B0000;
- display_table[8] = B1111;
- display_table[4] = B0000;
- display_table[0] = B0000;
- Cube_display(display_table,7);
-
- display_table[12] = B1111;
- display_table[8] = B0000;
- display_table[4] = B0000;
- display_table[0] = B0000;
- Cube_display(display_table,7);
-
- display_table[12] = B0000;
- display_table[13] = B1111;
- Cube_display(display_table,7);
-
- display_table[13] = B0000;
- display_table[14] = B1111;
- Cube_display(display_table,7);
-
- display_table[14] = B0000;
- display_table[15] = B1111;
- Cube_display(display_table,7);
-
- display_table[15] = B0000;
- display_table[11] = B1111;
- Cube_display(display_table,7);
-
- display_table[11] = B0000;
- display_table[7] = B1111;
- Cube_display(display_table,7);
-
- display_table[7] = B0000;
- display_table[3] = B1111;
- Cube_display(display_table,7);
-
- display_table[3] = B0000;
- display_table[2] = B1111;
- Cube_display(display_table,7);
-
- display_table[2] = B0000;
- display_table[1] = B1111;
- Cube_display(display_table,7);
-
- display_table[1] = B0000;
- display_table[0] = B1111;
- Cube_display(display_table,7);
- }
-
- for(table_num = 1;table_num < 4;table_num++)
- {
- display_table[table_num] = B1111;
- Cube_display(display_table,7);
- }
- for(i1 = B1111 ;i1 <= B0000 ;i1--)
- {
- display_table[0] = i1;
- Cube_display(display_table,7);
- }
-
- display_table[3] = B0000;
- Cube_display(display_table,4);
-
- display_table[0] = B0000;
- Cube_display(display_table,4);
- for(i1 = 0;i1<=5;i1++)
- {
- display_table[5] = B1111;
- display_table[6] = B1111;
- Cube_display(display_table,9);
-
- display_table[9] = B1111;
- display_table[10] = B1111;
- Cube_display(display_table,9);
-
- display_table[13] = B1111;
- display_table[14] = B1111;
- Cube_display(display_table,9);
-
- display_table[13] = B0000;
- display_table[14] = B0000;
- Cube_display(display_table,7);
-
- display_table[9] = B0000;
- display_table[10] = B0000;
- Cube_display(display_table,7);
-
- display_table[5] = B0000;
- display_table[6] = B0000;
- Cube_display(display_table,7);
-
- display_table[5] = B1111;
- display_table[6] = B1111;
- Cube_display(display_table,5);
-
- display_table[9] = B1111;
- display_table[10] = B1111;
- Cube_display(display_table,5);
-
- display_table[13] = B1111;
- display_table[14] = B1111;
- Cube_display(display_table,5);
- }
- for(i1 = 0; i1 <=8; i1++)
- {
- display_table[0]=B0001;
- display_table[1]=B0111;
- display_table[2]=B1110;
- display_table[3]=B1000;
-
- Cube_display(display_table,8);
-
- display_table[4]=B0001;
- display_table[5]=B0111;
- display_table[6]=B1110;
- display_table[7]=B1000;
- Cube_display(display_table,8);
-
- display_table[8]=B0001;
- display_table[9]=B0111;
- display_table[10]=B1110;
- display_table[11]=B1000;
- Cube_display(display_table,8);
-
- display_table[12]=B0001;
- display_table[13]=B0111;
- display_table[14]=B1110;
- display_table[15]=B1000;
- Cube_display(display_table,8);
-
-
- display_table[0]=B0011;
- display_table[1]=B0110;
- display_table[2]=B0110;
- display_table[3]=B1100;
-
- display_table[4]=B0011;
- display_table[5]=B0110;
- display_table[6]=B0110;
- display_table[7]=B1100;
-
- display_table[8]=B0011;
- display_table[9]=B0110;
- display_table[10]=B0110;
- display_table[11]=B1100;
-
- display_table[12]=B0011;
- display_table[13]=B0110;
- display_table[14]=B0110;
- display_table[15]=B1100;
-
- Cube_display(display_table,8);
-
- display_table[0]=B0110;
- display_table[1]=B0110;
- display_table[2]=B0110;
- display_table[3]=B0110;
-
- display_table[4]=B0110;
- display_table[5]=B0110;
- display_table[6]=B0110;
- display_table[7]=B0110;
-
- display_table[8]=B0110;
- display_table[9]=B0110;
- display_table[10]=B0110;
- display_table[11]=B0110;
-
- display_table[12]=B0110;
- display_table[13]=B0110;
- display_table[14]=B0110;
- display_table[15]=B0110;
-
- Cube_display(display_table,8);
-
-
- display_table[0]=B1100;
- display_table[1]=B0110;
- display_table[2]=B0110;
- display_table[3]=B0011;
-
- display_table[4]=B1100;
- display_table[5]=B0110;
- display_table[6]=B0110;
- display_table[7]=B0011;
-
- display_table[8]=B1100;
- display_table[9]=B0110;
- display_table[10]=B0110;
- display_table[11]=B0011;
-
- display_table[12]=B1100;
- display_table[13]=B0110;
- display_table[14]=B0110;
- display_table[15]=B0011;
-
- Cube_display(display_table,8);
-
-
- display_table[0]=B1000;
- display_table[1]=B1110;
- display_table[2]=B0111;
- display_table[3]=B0001;
-
- display_table[4]=B1000;
- display_table[5]=B1110;
- display_table[6]=B0111;
- display_table[7]=B0001;
-
- display_table[8]=B1000;
- display_table[9]=B1110;
- display_table[10]=B0111;
- display_table[11]=B0001;
-
- display_table[12]=B1000;
- display_table[13]=B1110;
- display_table[14]=B0111;
- display_table[15]=B0001;
-
- Cube_display(display_table,8);
-
- display_table[0]=B0000;
- display_table[1]=B1111;
- display_table[2]=B1111;
- display_table[3]=B0000;
-
- display_table[4]=B0000;
- display_table[5]=B1111;
- display_table[6]=B1111;
- display_table[7]=B0000;
-
- display_table[8]=B0000;
- display_table[9]=B1111;
- display_table[10]=B1111;
- display_table[11]=B0000;
-
- display_table[12]=B0000;
- display_table[13]=B1111;
- display_table[14]=B1111;
- display_table[15]=B0000;
-
- Cube_display(display_table,8);
- }
- clr_display(display_table);
- //圖像1結(jié)束
- for(i1 = 0;i1<4;i1++)
- {
- display_table[0]=B0100;
- display_table[1]=B0100;
- display_table[2]=B0100;
- display_table[3]=B0100;
- Cube_display(display_table,10);
- display_table[0]=B0010;
- display_table[1]=B0010;
- display_table[2]=B0010;
- display_table[3]=B0010;
- display_table[4]=B0100;
- display_table[5]=B0100;
- display_table[6]=B0100;
- display_table[7]=B0100;
- Cube_display(display_table,10);
- display_table[0]=B0001;
- display_table[1]=B0001;
- display_table[2]=B0001;
- display_table[3]=B0001;
- display_table[4]=B0010;
- display_table[5]=B0010;
- display_table[6]=B0010;
- display_table[7]=B0010;
- display_table[8]=B0100;
- display_table[9]=B0100;
- display_table[10]=B0100;
- display_table[11]=B0100;
- Cube_display(display_table,10);
- display_table[12]=B1100;
- display_table[13]=B1100;
- display_table[14]=B1100;
- display_table[15]=B1100;
- display_table[8]=B0010;
- display_table[9]=B0010;
- display_table[10]=B0010;
- display_table[11]=B0010;
- display_table[4]=B0001;
- display_table[5]=B0001;
- display_table[6]=B0001;
- display_table[7]=B0001;
- display_table[0]=B0000;
- display_table[1]=B0000;
- display_table[2]=B0000;
- display_table[3]=B0000;
- Cube_display(display_table,10);
- display_table[12]=B1110;
- display_table[13]=B1110;
- display_table[14]=B1110;
- display_table[15]=B1110;
- display_table[8]=B0001;
- display_table[9]=B0001;
- display_table[10]=B0001;
- display_table[11]=B0001;
- display_table[4]=B0000;
- display_table[5]=B0000;
- display_table[6]=B0000;
- display_table[7]=B0000;
- Cube_display(display_table,10);
- display_table[12]=B1111;
- display_table[13]=B1111;
- display_table[14]=B1111;
- display_table[15]=B1111;
- display_table[8]=B0000;
- display_table[9]=B0000;
- display_table[10]=B0000;
- display_table[11]=B0000;
- Cube_display(display_table,10);
- }
- }
- }
復(fù)制代碼
|
-
-
源文件.rar
2016-9-8 01:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
3 KB, 下載次數(shù): 48, 下載積分: 黑幣 -5
|