|
試做的花樣流水小玩意
proteus仿真原理圖:
0.png (30.53 KB, 下載次數(shù): 73)
下載附件
2017-4-7 00:13 上傳
20LED眼形流水單片機(jī)源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- void down_off();
-
- #define uchar unsigned char
- int i,j,a,c,d,m,num=0,e,f,j,k,l,q;
- void p1_p3_on();
- uchar mm,nn,kk;
- void both_top_fill();
- void time(int m);
- void both_down_fill();
-
- void fill();
- void love();
-
- void odd_even();
- void on();
- void off();
- void both_down();
- void sc();
- void replace();
- void turn_top();
- void deplay();
- void loved();
- void main()
- {
-
- while(1)
- {
-
- fill();
- on();
- time(100);
- off();
- time(500);
- down_off();
- time(500);
- both_top_fill();
-
- time(500);
- turn_top();
- time(500);
- both_down_fill();
- time(500);
- for(f=0;f<5;f++)
- replace();
- time(80);
- for(f=0;f<20;f++)
- {
- odd_even();
- time(100);
- }
- for(d=0;d<2;d++)
- {
- love();
- time(200);
- }
- for(q=0;q<1000;q++)
- {
- loved();
- }
- }
- }
- void time(int m)
- {
- for(i=m;i>0;i--)
- for(j=200;j>0;j--);
- }
-
- //全亮
- void on()
- {
- P0=0x00;
- P1=0x00;
- P3=0x00;
- }
- //全滅
- void off()
- {
- P0=0xff;
- P1=0xff;
- P3=0xff;
- }
- //雙向點(diǎn)亮(從下到上)
- void both_down()
- {
- P0=0xfb;
- time(50);
- P0=0xf5;
- time(50);
-
- P0=0xee;
- time(50);
-
- P1=0x7f;
- P0=0xdf;
- time(50);
-
- P1=0xbf;
- P0=0xbf;
- time(50);
- P1=0xdf;
- P0=0x7f;
- time(50);P0=0xff;
- P1=0xef;
- P3=0xfe;
- time(50);
- P1=0xf7;
- P3=0xfd;
- time(50);
- P1=0xfb;
- P3=0xfb;
- time(50);
- P1=0xfd;
- P3=0xf7;
- time(50);
- P1=0xfe;
- time(50);
- off();
- }
-
- //雙向點(diǎn)亮(從上到下)
- void turn_top()
- {
-
- P1=0xfe;
-
- time(50);
- P1=0xfd;
- P3=0xf7;
- time(50);
- P1=0xfb;
- P3=0xfb;
- time(50);
- P1=0xf7;
- P3=0xfd;
- time(50);
- P1=0xef;
- P3=0xfe;
- time(50);P3=0xff;
- P0=0x7f;
- P1=0xdf;
- time(50);P3=0xff;
- P1=0xbf;
- P0=0xbf;
- time(50);
- P1=0x7f;
- P0=0xdf;
- time(50);P1=0xff;
- P0=0xee;
- time(50);
- P0=0xf5;
- time(50);
- P0=0xfb;
- off();
- }
- //交替閃爍
- void replace()
- {
- on();
- time(180);
- off();
- time(180);
- }
-
- //奇數(shù)和偶數(shù)交替閃爍
- void odd_even()
- {
- P3=0x55;
- P1=0x55;
- P0=0x55;
- time(80);
- P3=0xaa;
- P1=0xaa;
- P0=0xaa;
- }
-
- //顯示LOVE
- void love()
- {
- uchar array1[]={0x1f,0x2f,0x4f,0x8f};
-
- uchar array2[]={0xc7,0xc0,0xc1,0x86};
- P1=0xff;
- P0=0xff;
- time(200);
- for(c=0;c<4;c++)
- {
- P3=array1[c];//共陰
- P2=array2[c];//共陽
- time(200);
- }
- P2=0xff;
- P3=0xff;
- }
-
- void deplay()
- {
- int e=0;
- for(e=0;e<100;e++);
- }
- //一直顯示LOVE
- void loved()
- {
- uchar array1[]={0x1f,0x2f,0x4f,0x8f};
-
- uchar array2[]={0xc7,0xc0,0xc1,0x86};
- int k=0;
- for(k=0;k<4;k++)
- {
- P3=array1[k];//共陰
- P2=array2[k];//共陽
- deplay();
- }
- }
- void fill()//從上到下依次填充
- {
- uchar array3[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
-
- for(d=0;d<8;d++)
- {
- P1=array3[d];
- time(150);
- }
- for(num=0;num<8;num++)
- {
- P1=0x00;
- P0=array3[num];
- time(150);
- }
- for(e=0;e<4;e++)
- {
- P1=0x00;
- P0=0x00;
- P3=array3[e];
- time(150);
- }
- off();
- }
-
- void both_down_fill()
- {
- time(200);
- P0=0xfb;
- time(200);
- P0=0xf1;
- time(200);
- P0=0xe0;
- time(200);
- P1=0x7f;
- P0=0xc0;
- time(200);
- P0=0x80;
- P1=0x3f;
- time(200);
- P0=0x00;
- P1=0x1f;
- time(200);
- P1=0x0f;
- P0=0x00;
- P3=0xfe;
- time(200);
- P0=0x00;
- P1=0x07;
- P3=0xfc;
- time(200);
- P0=0x00;
- P1=0x03;
- P3=0xf8;
- time(200);
- P0=0x00;
- P1=0x01;
- P3=0xf0;
- time(200);
- on();
- time(200);
- off();
- time(200);
- }
-
- void both_top_fill()//兩邊從上到下依次填充
- {
- time(200);
- P1=0xfe;
- time(200);
- P1=0xfc;
- P3=0xf7;
- time(200);
- P1=0xf8;
- P3=0xf3;
- time(200);
- P1=0xf0;
- P3=0xf1;
- time(200);
- P1=0xe0;
- P3=0xf0;
- time(200);
- P1=0xc0;
- P3=0xf0;
- P0=0x7f;
- time(200);
- P1=0x80;
- P3=0xf0;
- P0=0x3f;
- time(200);
- P1=0x00;
- P3=0xf0;
- P0=0x1f;
- time(200);
- P1=0x00;
- P3=0xf0;
- P0=0x0e;
- time(200);
- P1=0x00;
- P3=0xf0;
- P0=0x04;
- time(200);
- on();
- time(200);
- off();
- time(200);
-
- }
-
- void down_off()//從下到上兩邊熄滅
- {
-
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.png (56.9 KB, 下載次數(shù): 87)
下載附件
2017-4-7 00:13 上傳
下載:
20LED眼形流水.zip
(61.02 KB, 下載次數(shù): 13)
2017-4-6 08:57 上傳
點(diǎn)擊文件名下載附件
51 下載積分: 黑幣 -5
|
|