DIY广州塔PCB和代码
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
单片机源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit EN_1=P3^5;
- sbit EN_2=P3^4;
- void delay(uint t) //@12.000MHz
- {
- while(--t)
- {
- unsigned char i, j;
- _nop_();
- _nop_();
- i = 12;
- j = 168;
- do
- {
- while (--j);
- } while (--i);
- }
- }
- void flash1()
- {
- uchar i;
- P3=0XFF;
- P0=0XFF;
- P2=0X00;
- P1=0x01;
- delay(100);
- for(i=0;i<7;i++)
- {
- P1<<=1;
- delay(100);
- }
- P1=0;
- P2=0X01;
- delay(100);
- for(i=0;i<7;i++)
- {
- P2<<=1;
- delay(100);
- }
- for(i=0;i<7;i++)
- {
- P2>>=1;
- delay(100);
- }
- P2=0X00;
- P1=0x80;
- delay(100);
- for(i=0;i<7;i++)
- {
- P1>>=1;
- delay(100);
- }
-
- }
- void flash2()
- {
- uchar i;
- P3=0XFF;
- P0=0XFF;
- P2=0X00;
- P1=0x00;
- for(i=0;i<8;i++)
- {
- P1<<=1;
- P1|=0X01;
- delay(100);
- }
- for(i=0;i<8;i++)
- {
- P2<<=1;
- P2|=0X01;
- delay(100);
-
- }
- for(i=0;i<8;i++)
- {
- P1<<=1;
- delay(100);
- }
- for(i=0;i<8;i++)
- {
- P2<<=1;
- delay(100);
-
- }
-
- for(i=0;i<8;i++)
- {
- P2|=0X80;
- delay(100);
- P2>>=1;
- }
- for(i=0;i<8;i++)
- {
- P1|=0X80;
- delay(100);
- P1>>=1;
- }
- P1=0XFF;
- for(i=0;i<8;i++)
- {
- P2&=0X7F;
- delay(100);
- P2>>=1;
- }
- for(i=0;i<8;i++)
- {
- P1&=0X7F;
- delay(100);
- P1>>=1;
- }
- }
- void flash3()
- {
- uchar i;
- uchar j=3;
- P0=0X00;
- P1=P2=0XFF;
- P3=0xFF;
- EN_1=1;
- P0=0X01;
- delay(200);
- for(i=0;i<39;i++)
- {
- P0=_crol_(P0,1);
- delay(80);
- }
- for(i=0;i<39;i++)
- {
- P0=_cror_(P0,1);
- delay(80);
- }
- P0=0X55;
- for(i=0;i<7;i++)
- {
- P0=_crol_(P0,1);
- delay(500);
- }
- for(i=0;i<7;i++)
- {
- P0=_cror_(P0,1);
- delay(500);
- }
- }
- void flash4()
- {
- uchar i;
- P1=P2=0XFF;
- P0=0X00;
- P3=0XFF;
- for(i=0;i<8;i++)
- {
- P0<<=1;
- P0|=0X01;
-
- delay(80);
- }
- for(i=0;i<8;i++)
- {
- P0=_crol_(P0,1);
- P0&=0Xfe;
-
- delay(80);
- }
- }
- void flash5()
- {
- uchar i;
- P3=P0=0XFF;
- P2=0x80;
- P1=0X01;
- for(i=0;i<7;i++)
- {
- P1=_crol_(P1,1);
- P2=_cror_(P2,1);
- delay(130);
- }
- for(i=0;i<7;i++)
- {
- P1=_cror_(P1,1);
- P2=_crol_(P2,1);
- delay(130);
- }
- for(i=0;i<7;i++)
- {
- P1=_crol_(P1,1);
- P2=_cror_(P2,1);
- P1|=0X01;
- P2|=0X80;
- delay(200);
- }
- for(i=0;i<7;i++)
- {
-
- P1=_crol_(P1,1);
- P2=_cror_(P2,1);
- P1&=0Xfe;
- P2&=0X7f;
- delay(200);
- }
- }
- void flash6()
- {
- uchar i;
- P3=P0=0XFF;
- P2=P1=0X00;
- for(i=0;i<8;i++)
- {
- P1<<=1;
- P1|=0X01;
- delay(100);
- }
- for(i=0;i<8;i++)
- {
- P2<<=1;
- P2|=0X01;
- delay(100);
- }
- delay(3000);
- P3=P0=0XFF;
- P2=P1=0X00;
- for(i=0;i<8;i++)
- {
- P1<<=1;
- P1|=0X01;
- delay(100);
- }
- for(i=0;i<8;i++)
- {
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
小蛮腰DIY.rar
(1.09 MB, 下载次数: 53)
|