|
新手!刚接触单片机,望大神不要拍砖!希望能激发青年对电子的兴趣!不是很完美,见笑
单片机心形流水灯视频:
心形流水灯实物图
背面电路图
仿真电路图
单片机源程序:
- #include<reg52.h>
- #define uint unsigned int
- void delayms(uint ms)
- {
- uint i;
- while(ms--)
- {
- for(i=0;i<120;i++);
- }
- }
- unsigned char code tab0[]={0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc};
- unsigned char code tab1[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f};
- unsigned char code tab2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
- unsigned char code tab3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
- unsigned char code tab4[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
- unsigned char code tab5[]={0xfa,0xf6,0xee,0xde,0xbe,0x7e};
- unsigned char code tab6[]={0x5f,0x6f,0x77,0x7b,0x7d,0x7e};
- unsigned char code tab7[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- unsigned char code tab8[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
- unsigned char code tab9[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
- unsigned char code tab10[]={0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff};
- void main(void)
- {
- unsigned char j;unsigned char a;
- /***************************************
- ****************************************/
- for(a=0;a<2;a++)
- {
- for(j=0;j<7;j++)
- {
- P2=tab0[j];
- delayms(50);
- }
- P2=0xff;
- for(j=0;j<7;j++)
- {
- P3=tab0[j];
- delayms(50);
- }
- P3=0xff;
- for(j=0;j<7;j++)
- {
- P1=tab0[j];
- delayms(50);
- }
- P1=0xff;
-
- for(j=0;j<7;j++)
- {
- P0=tab1[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- }
- /**********************************
- ***********************************/
- for(j=0;j<8;j++)
- {
- P2=tab3[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P3=tab3[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P1=tab3[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P0=tab2[j];
- delayms(50);
- }
-
- for(j=0;j<8;j++)
- {
- P2=tab8[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P3=tab8[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P1=tab8[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P0=tab9[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;delayms(70);
- P0=P1=P2=P3=0;delayms(70);
- P0=P1=P2=P3=0xff;delayms(70);
- P0=P1=P2=P3=0;delayms(70);
- P0=P1=P2=P3=0xff;
- /***********************************
- ************************************/
- for(a=0;a<3;a++)
- {
- for(j=0;j<7;j++)
- {
- P1=P2=P3=tab0[j];
- delayms(50);
- P0=tab1[j];
- delayms(50);
- }
- }
- for(a=0;a<3;a++)
- {
- for(j=0;j<7;j++)
- {
- P1=P2=P3=tab1[j];
- delayms(50);
- P0=tab0[j];
- delayms(50);
- }
- }
- /************************************
- ************************************/
- for(j=0;j<8;j++)
- {
- P1=P2=P3=tab3[j];
- delayms(50);
- P0=tab2[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P1=P2=P3=tab2[j];
- delayms(50);
- P0=tab3[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- /**********************************
- ************************************/
- for(j=0;j<7;j++)
- {
- P2=P0=tab0[j];
- delayms(50);
- P2=P0=0xff;
- }
-
- for(j=0;j<7;j++)
- {
- P3=tab0[j];
- P1=tab1[j];
- delayms(50);
- }
-
- for(j=0;j<6;j++)
- {
- P3=tab5[j];
- P1=tab6[j];
- delayms(50);
- }
- P1=0x7f;
- P3=0xfe;
- for(j=0;j<8;j++)
- {
- P2=P0=tab7[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- delayms(50);
- /**********************************
- ***********************************/
- for(j=0;j<8;j++)
- {
- P2=P0=tab3[j];
- delayms(50);
- }
- P0=P2=0;
- for(j=0;j<8;j++)
- {
- P3=tab3[j];P1=tab2[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- /**************************************
- ***************************************/
- for(a=0;a<10;a++)
- {
- P2=P3=P1=0x55;P0=0xaa;
- delayms(100);
- P2=P3=P1=0xaa;P0=0x55;
- delayms(100);
- }
- P0=P1=P2=P3=0xff;
- /****************************************
- *****************************************/
- for(a=0;a<5;a++)
- {
- P0=P1=P2=P3=0;delayms(80);
- P0=P1=P2=P3=0xff;delayms(80);
- }
- /********************************************
- ********************************************/
- for(j=0;j<8;j++)
- {
- P2=tab2[j];P3=tab3[j];
- delayms(50);
- }
- for(j=0;j<8;j++)
- {
- P0=P1=tab3[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- /***********************************************
- ***********************************************/
- for(j=0;j<8;j++)
- {
- P0=P2=tab10[j];P1=tab3[j];P3=tab2[j];
- delayms(200);
- }
- for(j=0;j<8;j++)
- {
- P0=P2=tab3[j];
- delayms(50);
- }
- P0=P1=P2=P3=0xff;
- for(a=0;a<3;a++)
- {
- P1=P3=0;delayms(100);P1=P3=0xff;P0=P2=0;delayms(100);P0=P2=0xff;delayms(100);
- }
- /************************************************
- *************************************************/
- for(a=0;a<5;a++)
- {
- for(j=0;j<7;j++)
- {
- P0=tab0[j];P2=tab0[j];
- delayms(20);
- }
- P0=P2=0xff;
- for(j=0;j<7;j++)
- {
- P1=tab1[j];P3=tab0[j];
- delayms(20);
- }
- }
-
- for(a=0;a<5;a++)
- {
- for(j=0;j<7;j++)
- {
- P0=tab0[j];P2=tab0[j];
- delayms(10);
- }
- P0=P2=0xff;
- for(j=0;j<7;j++)
- {
- P1=tab1[j];P3=tab0[j];
- delayms(10);
- }
- }
-
- for(a=0;a<10;a++)
- {
- for(j=0;j<7;j++)
- {
- P0=tab0[j];P2=tab0[j];
- delayms(8);
- }
- P0=P2=0xff;
- for(j=0;j<7;j++)
- {
- P1=tab1[j];P3=tab0[j];
- delayms(8);
- }
- }
-
- for(a=0;a<5;a++)
- {
- for(j=0;j<7;j++)
- {
- P0=tab0[j];P2=tab0[j];
- delayms(30);
- }
- P0=P2=0xff;
- for(j=0;j<7;j++)
- {
- P1=tab1[j];P3=tab0[j];
- delayms(30);
- }
- }
- P1=P3=0xff;
- }
复制代码
|
评分
-
查看全部评分
|