心型流水灯的制作包括代码和电路图
心形流水灯课程设计之流水灯制作方法(含CD4017电路)

心形流水灯课程设计之流水灯制作方法(含CD4017电路)
此作品特别适合初学者制作,其本质就是用数字芯片CD4017构成的流水灯,显示方式根据自己的喜好、创意就OK。
动手制作这样的礼物,送给ta绝对会是再好不过了。
首先,我们了解一下该作品的五脏六腑:
1. 杜邦线(若干)
2. 万能板X2
3. 电位器X2
4. 470uF电容X1
5. 二极管X4
6. 变压器X1
7. 104电容(若干)
8. LM7809芯片X1
9. 散热片X1
10. 各色LED灯(若干)
11. 100uF电容X1
12.2K电阻X1
13. 680欧电阻(若干)
14. 共阴数码管X4
15. NE555和CD4017 (各一片)
16. 芯片底座X2(有利于芯片的二次利用)
17. 木板5块加包装纸2张(尺寸大小根据自己情况而定)
所需器件如下图所示:
我把作品电路分为3个部分,这3个部分都是以我的实物为依据的,你当然可以有更好的。
爱心流水灯程序

#define uint unsigned int #define uchar unsigned charsbit p0_1=P0^0;sbit p0_2=P0^1;sbit p0_3=P0^2;sbit p0_4=P0^3;sbit p0_5=P0^4;sbit p0_6=P0^5;sbit p0_7=P0^6;sbit p0_8=P0^7;sbit p1_1=P1^0;sbit p1_2=P1^1;sbit p1_3=P1^2;sbit p1_4=P1^3;sbit p1_5=P1^4;sbit p1_6=P1^5;sbit p1_7=P1^6;sbit p1_8=P1^7;sbit p2_1=P2^0;sbit p2_2=P2^1;sbit p2_3=P2^2;sbit p2_4=P2^3;sbit p2_5=P2^4;sbit p2_6=P2^5;sbit p2_7=P2^6;sbit p2_8=P2^7;sbit p3_1=P3^0;sbit p3_2=P3^1;sbit p3_3=P3^2;sbit p3_4=P3^3;sbit p3_5=P3^4;sbit p3_6=P3^5;sbit p3_7=P3^6;sbit p3_8=P3^7;void delay(uint);uchar temp0;uchar temp1;uchar temp3;uint k,s;void delay(uint j){uint i;for(j;j>0;j--)for(i=120;i>0;i--);}void main(){while(1){for(k=0;k<4;k++){P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(500);P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(500); }for(k=0;k<7;k++) {temp0=0x01;P0=temp0;delay(100);for(k=0;k<8;k++){s=temp0<<1;P0=s;delay(50);}P0=0xff;temp2=0x01;P2=temp0;delay(100);for(k=0;k<8;k++) {s=temp2<<1;P2=s;delay(50);}P2=0xff;temp3=0x01;P3=temp0;delay(100);for(k=0;k<8;k++) {s=temp3<<1;P3=s;delay(50);}P3=0xff;temp1=0x01;P1=temp0;delay(100);for(k=0;k<8;k++) {s=temp1<<1;P1=s;delay(50);}delay(500);temp1=0x01;P1=temp1;delay(100);for(k=0;k<7;k++) {s=temp1>>1;P1=s;delay(50);}P1=0xff;temp3=0x01;P3=temp3;delay(50);for(k=0;k<8;k++){s=temp3<<1;P3=s;delay(50);}P3=0xff;temp2=0x01;P2=temp2;delay(50);for(k=0;k<8;k++){s=temp2<<1;P2=s;delay(50);}P2=0xff;temp0=0x01;P0=temp0;delay(50);for(k=0;k<8;k++){s=temp0>>1;P0=s;delay(50);}P0=0xff;}delay(1000);for(k=0;k<2;k++){p1_1=0;delay(50);p1_2=0;delay(50);p1_3=0;delay(50);p1_4=0;delay(50);p1_5=0; delay(50); p1_6=0; delay(50); p1_7=0; delay(50); p1_8=0; delay(50);p3_1=0; delay(50); p3_2=0; delay(50); p3_3=0; delay(50); p3_4=0; delay(50); p3_5=0; delay(50); p3_6=0; delay(50); p3_7=0; delay(50); p3_8=0; delay(50);p2_1=0; delay(50); p2_2=0; delay(50); p2_3=0; delay(50); p2_4=0; delay(50); p2_5=0; delay(50); p2_6=0; delay(50); p2_7=0; delay(50); p2_8=0; delay(50);p0_8=0;delay(50);p0_7=0;delay(50);p0_6=0;delay(50);p0_5=0;delay(50);p0_4=0;delay(50);p0_3=0;delay(50);p0_2=0;delay(50);p0_1=0;delay(50);/*......*/p1_1=1;delay(50);p1_2=1;delay(50);p1_3=1;delay(50);p1_4=1;delay(50);p1_5=1;delay(50);p1_6=1;delay(50);p1_7=1;delay(50);p1_8=1;delay(50);p3_1=1;delay(50);p3_2=1;delay(50);p3_3=1; delay(50); p3_4=1; delay(50); p3_5=1; delay(50); p3_6=1; delay(50); p3_7=1; delay(50); p3_8=1;delay(50);p2_1=1; delay(50); p2_2=1; delay(50); p2_3=1; delay(50); p2_4=1; delay(50); p2_5=1; delay(50); p2_6=1; delay(50); p2_7=1; delay(50); p2_8=1;delay(50);p0_8=1; delay(50); p0_7=1; delay(50); p0_6=1; delay(50); p0_5=1; delay(50); p0_4=1; delay(50); p0_3=1;delay(50); p0_2=1; delay(50); p0_1=1; delay(50);/*......*/p0_1=0; delay(50); p0_2=0; delay(50); p0_3=0; delay(50); p0_4=0; delay(50); p0_5=0; delay(50); p0_6=0; delay(50); p0_7=0; delay(50); p0_8=0; delay(50);p2_8=0; delay(50); p2_7=0; delay(50); p2_6=0; delay(50); p2_5=0; delay(50); p2_4=0; delay(50); p2_3=0; delay(50); p2_2=0; delay(50); p2_1=0; delay(50);delay(50); p3_7=0; delay(50); p3_6=0; delay(50); p3_5=0; delay(50); p3_4=0; delay(50); p3_3=0; delay(50); p3_2=0; delay(50); p3_1=0; delay(50);p1_8=0; delay(50); p1_7=0; delay(50); p1_6=0; delay(50); p1_5=0; delay(50); p1_4=0; delay(50); p1_3=0; delay(50); p1_2=0; delay(50); p1_1=0; delay(50);/*......*/p0_1=1; delay(50); p0_2=1; delay(50); p0_3=1; delay(50);delay(50); p0_5=1; delay(50); p0_6=1; delay(50); p0_7=1; delay(50); p0_8=1; delay(50);p2_8=1; delay(50); p2_7=1; delay(50); p2_6=1; delay(50); p2_5=1; delay(50); p2_4=1; delay(50); p2_3=1; delay(50); p2_2=1; delay(50); p2_1=1;delay(50);p3_8=1; delay(50); p3_7=1; delay(50); p3_6=1; delay(50); p3_5=1; delay(50); p3_4=1; delay(50); p3_3=1; delay(50); p3_2=1; delay(50);delay(50);p1_8=1;delay(50);p1_7=1;delay(50);p1_6=1;delay(50);p1_5=1;delay(50);p1_4=1;delay(50);p1_3=1;delay(50);p1_2=1;delay(1);p1_1=1;delay(50);/*..........*/for(k=0;k<3;k++){p1_1=0;delay(50);p1_2=0;p0_1=0;delay(50);p1_3=0;p0_2=0;delay(50);p1_4=0;p0_3=0;delay(40);p1_5=0;p0_4=0;delay(50);p1_6=0;p0_5=0;delay(50);p1_7=0;p0_6=0;delay(50);p0_7=0;delay(50);p3_1=0;p0_8=0;delay(50);p3_2=0;p2_8=0;delay(50);p3_3=0;p2_7=0;delay(50);p3_4=0;p2_6=0;delay(50);p3_5=0;p2_5=0;delay(50);p3_6=0;p2_4=0;delay(50);p3_7=0;p2_3=0;delay(50);p3_8=0;p2_2=0;delay(50);p2_1=0;delay(50);/*......*/p2_1=1;delay(50); p3_8=1;p2_2=1;delay(35);p3_7=1;p2_3=1;delay(50); p3_6=1;p2_4=1;delay(50); p3_5=1;p2_5=1;delay(50); p3_4=1;p2_6=1;delay(35); p3_3=1;p2_7=1;delay(50); p3_2=1;p2_8=1;delay(50); p3_1=1;p0_8=1;delay(35); p1_8=1;p0_7=1;delay(50); p1_7=1;p0_6=1;delay(50); p1_6=1;p0_5=1;delay(50); p1_5=1;p0_4=1;delay(50); p1_4=1;p0_3=1;delay(50); p1_3=1;p0_2=1;delay(50); p1_2=1;p0_1=1;delay(50); p1_1=1;delay(50);}}/***********/delay(400);P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(400);for(k=0;k<4;k++){P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(200);P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(200); }for(k=0;k<72;k++) {P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay(100);P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa;delay(100); }P1=0xff;P2=0xff;P3=0xff;delay(500);/*.......*/for(k=0;k<4;k++){P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(200);P0=0xf0;delay(20);P0=0x00;delay(20);P2=0xf0;delay(20);P2=0x00;delay(300);P0=0xff;P2=0xff; delay(300);P3=0x00f;delay(20);P3=0x00;delay(20);P1=0x00f;delay(20);P1=0x00;delay(300);}for(k=0;k<7;k++){temp1=0x01;delay(100);for(k=0;k<7;k++) {s=temp1>>1;P1=s;delay(50);}P1=0xff;temp3=0x01;P3=temp3;delay(100);for(k=0;k<8;k++) {s=temp3<<1;P3=s;delay(50);}P3=0xff;temp2=0x01;P2=temp2;delay(100);for(k=0;k<8;k++) {s=temp2<<1;P2=s;delay(50);}P2=0xff;temp0=0x01;P0=temp0;delay(100);for(k=0;k<8;k++) {s=temp0>>1;P0=s;delay(50);}P0=0xff;delay(500);temp0=0x01;P0=temp0;for(k=0;k<8;k++) {s=temp0<<1;P0=s;delay(50);}P0=0xff;temp2=0x01;P2=temp0;delay(100);for(k=0;k<8;k++) {s=temp2<<1;P2=s;delay(50);}P2=0xff;temp3=0x01;P3=temp0;delay(100);for(k=0;k<8;k++) {s=temp3<<1;P3=s;delay(50);}P3=0xff;temp1=0x01;P1=temp0;delay(100);for(k=0;k<8;k++) {s=temp1<<1;P1=s;delay(50);}}for(k=0;k<3;k++) {P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(100);P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(100);}delay(400);temp0=0x0f; temp2=0xf0; temp3=0x0f; temp1=0x0f;for(k;k<240;k++){P0=temp0;P2=temp2;P3=temp3;P1=temp1;temp0=_crol_(temp0,1);delay(10);temp2=_cror_(temp2,1);delay(10);temp3=_cror_(temp3,1);delay(10);temp1=_cror_(temp1,1);delay(10);}delay(500);P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(1000);temp0=0x7f; temp2=0xfe; temp3=0xfe; temp1=0xfe;for(k;k<240;k++){P0=temp0;P2=temp2;P3=temp3;P1=temp1;temp0=_cror_(temp0,1);delay(70);temp2=_crol_(temp2,1);delay(700);temp3=_crol_(temp3,1);delay(70);temp1=_crol_(temp1,1);delay(70);}delay(400);P1=0xf0;delay(500);P1=0xff;P1=0x00;delay(500);P1=0xff;P3=0xf0;delay(500);P3=0xff;P3=0x0f;delay(500);P3=0xff;P2=0xf0;delay(500);P2=0xff;P2=0x0f;delay(500);P2=0xff;P0=0x0f;delay(500);P0=0xff;P0=0xf0;delay(500);P0=0xff;delay(500);for(k=0;k<49;k++){P1=0xf0;delay(20);P1=0xff;P1=0x00;delay(20);P1=0xff;P3=0xf0;delay(20);P3=0xff;P3=0x0f;delay(20);P3=0xff;P2=0xf0;delay(20);P2=0xff;P2=0x0f;delay(20);P2=0xff;P0=0x0f;delay(20);P0=0xff;P0=0xf0;delay(20);P0=0xff;}delay(1000);for(k=0;k<2;k++){P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(200);P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay(400); }delay(5000);}}。
心形流水灯STC89C52电子制作焊接套件单片机程序设计0资料

x9 =0; delay2ms();
x10 =0; delay2ms();
x11 =0; delay2ms();
x12 =0; delay2ms();
x13 =0; delay2ms();
x14 =0; delay2ms();
x15 =0; delay2ms();
x16 =0; delay2ms();
x31 =0; delay2ms();
x3elay2ms();
x28 =0; delay2ms();
x27 =0; delay2ms();
x26 =0; delay2ms();
x25 =0; delay2ms();
x13 =0;
x20 =0; delay2ms();
x21 =0;
x12 =0; delay2ms();
x11 =0;
x22 =0; delay2ms();
x23 =0;
x10 =0; delay2ms();
x9 =0;
x24 =0; delay2ms();
x8 =0;
x25 =0; delay2ms();
P1=0xff;
P2=0xff;
P3=0xff;
delay2ms();
x1 =0; delay2ms();
x2 =0; delay2ms();
x3 =0; delay2ms();
x4 =0; delay2ms();
x5 =0; delay2ms();
x6 =0; delay2ms();
x7 =0; delay2ms();
x24 =0; delay2ms();
x23 =0; delay2ms();
51芯片超炫爱心流水程序灯代码

#include<reg52.h>sbit P00=P0^0;sbit P01=P0^1;sbit P02=P0^2;sbit P03=P0^3;sbit P04=P0^4;sbit P05=P0^5;sbit P06=P0^6;sbit P07=P0^7;sbit P10=P1^0;sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P20=P2^0;sbit P21=P2^1;sbit P22=P2^2;sbit P23=P2^3;sbit P24=P2^4;sbit P25=P2^5;sbit P26=P2^6;sbit P27=P2^7;sbit P30=P3^0;sbit P31=P3^1;sbit P32=P3^2;sbit P33=P3^3;sbit P34=P3^4;sbit P35=P3^5;sbit P36=P3^6;sbit P37=P3^7;unsigned int x,y;void rzmzy(); //红色走马左移声明void rzmyy(); //红色走马右移声明void rzmnwyd(); //红色走马内外移动声明void rtbyd(); //红色跳变移动声明void rjl(); //红色渐亮声明void rja(); //红色渐暗声明void rP0ja();//P0渐暗void zkb(unsigned char d);void delayms(int z)//延时声明,修改s的数值,就可以改变时间{int i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void Onall() //开启所有灯{P0=0x00;P1=0x00;P2=0x00;P3=0x00;}void Offall()//关闭所有灯{P0=0xff;P1=0xff;P2=0xff;P3=0xff;}//void fxls()//逆时针逐个等时流水灯//{// P0=0xfe;delayms(50);// P0=0xfd;delayms(50);// P0=0xfb;delayms(50);// P0=0xf7;delayms(50);// P0=0xef;delayms(50);// P0=0xdf;delayms(50);// P0=0xbf;delayms(50);// P0=0x7f;delayms(50);// P0=0xff;//// P2=0x7f;delayms(50);// P2=0xbf;delayms(50);// P2=0xdf;delayms(50);// P2=0xef;delayms(50);// P2=0xf7;delayms(50);// P2=0xfb;delayms(50);// P2=0xfd;delayms(50);// P2=0xfe;delayms(50);// P2=0xff;//// P3=0x7f;delayms(50);// P3=0xbf;delayms(50);// P3=0xdf;delayms(50);// P3=0xef;delayms(50);// P3=0xf7;delayms(50);// P3=0xfb;delayms(50);// P3=0xfe;delayms(50);// P3=0xff;//// P1=0x7f;delayms(50);// P1=0xbf;delayms(50);// P1=0xdf;delayms(50);// P1=0xef;delayms(50);// P1=0xf7;delayms(50);// P1=0xfb;delayms(50);// P1=0xfd;delayms(50);// P1=0xfe;delayms(50);// P1=0xff;//}//void ls()//顺时针逐个等时流水灯//{// Offall();// P1=0xfe;delayms(50);// P1=0xfd;delayms(50);// P1=0xfb;delayms(50);// P1=0xf7;delayms(50);// P1=0xef;delayms(50);// P1=0xdf;delayms(50);// P1=0xbf;delayms(50);// P1=0x7f;delayms(50);// P1=0xff;//// P3=0xfe;delayms(50);// P3=0xfd;delayms(50);// P3=0xfb;delayms(50);// P3=0xf7;delayms(50);// P3=0xef;delayms(50);// P3=0xdf;delayms(50);// P3=0xbf;delayms(50);// P3=0x7f;delayms(50);// P3=0xff;;//// P2=0xfe;delayms(50);// P2=0xfd;delayms(50);// P2=0xfb;delayms(50);// P2=0xf7;delayms(50);// P2=0xef;delayms(50);// P2=0xdf;delayms(50);// P2=0xbf;delayms(50);// P2=0xff;;//// P0=0x7f;delayms(50);// P0=0xbf;delayms(50);// P0=0xdf;delayms(50);// P0=0xef;delayms(50);// P0=0xf7;delayms(50);// P0=0xfb;delayms(50);// P0=0xfd;delayms(50);// P0=0xfe;delayms(50);// P0=0xff;//}void bsb()//双边同时流水由上至下{Offall();delayms(50);P0=0xfe;delayms(50);P0=0xfd;P1=0xfe;delayms(50);P0=0xfb;P1=0xfd;delayms(50);P0=0xf7;P1=0xfb;delayms(50);P0=0xef;P1=0xf7;delayms(50);P0=0xdf;P1=0xef;delayms(50);P0=0xbf;P1=0xdf;delayms(50);P0=0x7f;P1=0xbf;delayms(50);P0=0xff;P2=0x7f;P1=0x7f;delayms(50);P1=0xff;P2=0xbf;P3=0xfe;delayms(50);P2=0xdf;P3=0xfd;delayms(50);P2=0xef;P3=0xfb;delayms(50);P2=0xf7;P3=0xf7;delayms(50);P2=0xfb;P3=0xef;delayms(50);P2=0xfd;P3=0xdf;delayms(50);P2=0xfe;P3=0xbf;delayms(50);P2=0xff;P3=0x7f;delayms(50);P3=0xff;}//void fbsb() //半双边流水由下至上//{// Offall();// P3=0x7f;delayms(80);// P2=0xfe;P3=0xbf;delayms(80);// P2=0xfd;P3=0xdf;delayms(80);// P2=0xfb;P3=0xef;delayms(80);// P2=0xf7;P3=0xf7;delayms(80);// P2=0xef;P3=0xfb;delayms(80);// P2=0xdf;P3=0xfd;delayms(80);// P2=0xbf;P3=0xfe;delayms(80);Offall(); // P2=0x7f;P1=0x7f;delayms(80);Offall(); //// P0=0x7f;P1=0xbf;delayms(80);// P0=0xbf;P1=0xdf;delayms(80);// P0=0xdf;P1=0xef;delayms(80);// P0=0xef;P1=0xf7;delayms(80);// P0=0xf7;P1=0xfb;delayms(80);// P0=0xfb;P1=0xfd;delayms(80);// P0=0xfd;P1=0xfe;delayms(80);// P0=0xfe;P1=0xff;delayms(80);//}void ss(y)//闪烁(y为闪烁间隔时间){Onall();delayms(y);Offall();delayms(y);}//void fxsz() //反向生长//{// Offall();// P0=0xfe;delayms(50);// P0=0xfc;delayms(50);// P0=0xf8;delayms(50);// P0=0xf0;delayms(50);// P0=0xe0;delayms(50);// P0=0xc0;delayms(50);// P0=0x80;delayms(50);// P0=0x00;delayms(50);//// P2=0x7f;delayms(50);// P2=0x3f;delayms(50);// P2=0x1f;delayms(50);// P2=0x0f;delayms(50);// P2=0x07;delayms(50);// P2=0x03;delayms(50);// P2=0x01;delayms(50);// P2=0x00;delayms(50);//// P3=0x7f;delayms(50);// P3=0x3f;delayms(50);// P3=0x1f;delayms(50);// P3=0x0f;delayms(50);// P3=0x07;delayms(50); // P3=0x03;delayms(50); // P3=0x01;delayms(50); // P3=0x00;delayms(50); //// P1=0x7f;delayms(50);// P1=0x3f;delayms(50);// P1=0x1f;delayms(50);// P1=0x0f;delayms(50);// P1=0x07;delayms(50); // P1=0x03;delayms(50); // P1=0x01;delayms(50); // P1=0x00;delayms(50); //// Offall();delayms(100);// Onall();delayms(100);// Offall();delayms(100);// Onall();delayms(500);// Offall();delayms(50);//}void zxsz() //正向生长{Offall();P0=0xfe;delayms(50);P1=0xfe;delayms(50);P1=0xfc;delayms(50);P1=0xf8;delayms(50);P1=0xf0;delayms(50);P1=0xe0;delayms(50);P1=0xc0;delayms(50);P1=0x80;delayms(50);P1=0x00;delayms(50);P3=0xfe;delayms(50);P3=0xfc;delayms(50);P3=0xf8;delayms(50);P3=0xf0;delayms(50);P3=0xe0;delayms(50);P3=0xc0;delayms(50);P3=0x80;delayms(50);P3=0x00;delayms(50);P2=0xfe;delayms(50);P2=0xfc;delayms(50);P2=0xf8;delayms(50);P2=0xf0;delayms(50);P2=0xe0;delayms(50);P2=0xc0;delayms(50);P2=0x80;delayms(50);P2=0x00;delayms(50);P0=0x7e;delayms(50);P0=0x3e;delayms(50);P0=0x1e;delayms(50);P0=0x0e;delayms(50);P0=0x06;delayms(50);P0=0x02;delayms(50);P0=0x00;delayms(50);Offall();delayms(100);Onall();delayms(100);Offall();delayms(100);Onall();delayms(500);Offall();delayms(100);}//void fxsw() //反向死亡//{// Onall();// P0=0x01;delayms(50); // P0=0x03;delayms(50); // P0=0x07;delayms(50); // P0=0x0f;delayms(50);// P0=0x1f;delayms(50);// P0=0x3f;delayms(50);// P0=0x7f;delayms(50);// P0=0xff;delayms(50);//// P2=0x80;delayms(50); // P2=0xc0;delayms(50); // P2=0xe0;delayms(50); // P2=0xf0;delayms(50);// P2=0xf8;delayms(50);// P2=0xfc;delayms(50);// P2=0xff;delayms(50);//// P3=0x80;delayms(50);// P3=0xc0;delayms(50);// P3=0xe0;delayms(50);// P3=0xf0;delayms(50);// P3=0xf8;delayms(50);// P3=0xfc;delayms(50);// P3=0xfe;delayms(50);// P3=0xff;delayms(50);//// P1=0x80;delayms(50);// P1=0xc0;delayms(50);// P1=0xe0;delayms(50);// P1=0xf0;delayms(50);// P1=0xf8;delayms(50);// P1=0xfc;delayms(50);// P1=0xfe;delayms(50);// P1=0xff;delayms(50);//}void c(x) //间隔闪烁x为闪烁间隔时间{Offall();P0=0xaa;P2=0x55;P3=0x55;P1=0x55;delayms(x);P0=0x55;P2=0xaa;P3=0xaa;P1=0xaa;delayms(x);}/*----------------------------------------------------------*/void cx() //出现一点点{Offall();delayms(500);P0=0xff;P2=0xff;P1=0xbf;P3=0xff;delayms(500);P0=0xdf;P2=0xbf;P1=0xbf;P3=0xff;delayms(500);P0=0xdb;P2=0xbd;P1=0xbf;P3=0xfb;delayms(500);P0=0x59;P2=0xa5;P1=0x5d;P3=0x9a;delayms(500);P0=0x11;P2=0x20;P1=0x24;P3=0x10;delayms(500);P0=0x00;P2=0x00;P1=0x00;P3=0x00;delayms(500); }//void df() //单飞//{// P0=0xfe;delayms(50);// P0=0xfc;delayms(50);// P0=0xf0;delayms(50);// P0=0xe0;delayms(50);// P0=0xc0;delayms(50);// P0=0x80;delayms(50);// P0=0x00;delayms(50);//先引出单飞//// P0=0x01;delayms(50);// P0=0x03;delayms(50);// P0=0x07;delayms(50);// P0=0x0f;delayms(50);// P0=0x1f;delayms(50);// P0=0x3f;delayms(50);// P0=0x7f;delayms(50);// P0=0xff;delayms(50);//// P2=0x7f;delayms(50);// P2=0x3f;delayms(50);// P2=0x1f;delayms(50);// P2=0x0f;delayms(50);// P2=0xf7;delayms(50);// P2=0xf3;delayms(50);// P2=0xf1;delayms(50);// P2=0xf0;delayms(50);//// P3=0x7f;delayms(50);// P2=0x80;delayms(50);// P2=0xc0;delayms(50);// P2=0xe0;delayms(50);// P2=0xf0;delayms(50);// P2=0xf8;delayms(50);// P2=0xfc;delayms(50);// P2=0xfe;delayms(50);// P2=0xff;delayms(50);//// P3=0x7f;delayms(50);// P3=0x3f;delayms(50);// P3=0x1f;delayms(50);// P3=0x0f;delayms(50);// P3=0x07;delayms(50);// P3=0x03;delayms(50);// P3=0x01;delayms(50);// P3=0x00;delayms(50);//// P3=0xc0;delayms(50);// P3=0xe0;delayms(50);// P3=0xf0;delayms(50);// P3=0xf8;delayms(50);// P3=0xfc;delayms(50);// P3=0xfe;delayms(50);// P3=0xff;delayms(50);//// P1=0x7f;delayms(50);// P1=0x3f;delayms(50);// P1=0x1f;delayms(50);// P1=0x0f;delayms(50);// P1=0x07;delayms(50);// P1=0x03;delayms(50);// P1=0x01;delayms(50);// P1=0x00;delayms(50);//// P0=0x01;delayms(50);// P1=0x80;delayms(50);// P1=0xc0;delayms(50);// P1=0xe0;delayms(50);// P1=0xf0;delayms(50);// P1=0xf8;delayms(50);// P1=0xfc;delayms(50);// P1=0xfe;delayms(50);// P1=0xff;delayms(50);////}/*----------------------------------------------------------*/ void cdP00() //沉淀语句{P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0xff;P0=0x7f;delayms(30);P0=0xbf;delayms(30);P0=0xef;delayms(30);P0=0xf7;delayms(30);P0=0xfb;delayms(30);P0=0xfd;delayms(30);P0=0xfe;delayms(30);}//P00void cdP01(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x7e;delayms(30);P0=0xbe;delayms(30);P0=0xde;delayms(30);P0=0xee;delayms(30);P0=0xf6;delayms(30);P0=0xfa;delayms(30);P0=0xfc;delayms(30);}//P01void cdP02(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x7c;delayms(30);P0=0xbc;delayms(30);P0=0xdc;delayms(30);P0=0xf4;delayms(30);P0=0xf8;delayms(30);}//P02void cdP03(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x78;delayms(30);P0=0xb8;delayms(30);P0=0xd8;delayms(30);P0=0xe8;delayms(30);P0=0xf0;delayms(30);}//P03void cdP04(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x70;delayms(30);P0=0xb0;delayms(30);P0=0xd0;delayms(30);P0=0xe0;delayms(30);}//P04void cdP05(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x60;delayms(30);P0=0xa0;delayms(30);P0=0xc0;delayms(30);}//P05void cdP06(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x40;delayms(30);P0=0x80;delayms(30);}//P06void cdP07(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);P2=0xff;P0=0x00;delayms(30);}//P07void cdP27(){P3=0x7f;delayms(30);P3=0xff;P2=0xfe;delayms(30);P2=0xfd;delayms(30);P2=0xfb;delayms(30);P2=0xf7;delayms(30);P2=0xef;delayms(30);P2=0xdf;delayms(30);P2=0xbf;delayms(30);P2=0x7f;delayms(30);}//P27void cdP26(){P3=0x7e;delayms(30);//P3=0xff;P2=0x7e;delayms(30);P2=0x7d;delayms(30);P2=0x7b;delayms(30);P2=0x77;delayms(30);P2=0x6f;delayms(30);P2=0x5f;delayms(30);P2=0x3f;delayms(30);}//P26void cdP25(){P3=0x7c;delayms(30);//P3=0xff;P2=0x3e;delayms(30);P2=0x3d;delayms(30);P2=0x3b;delayms(30);P2=0x37;delayms(30);P2=0x2f;delayms(30);P2=0x1f;delayms(30);}//P25void cdP24(){P3=0x78;delayms(30);//P3=0xff;P2=0x1e;delayms(30);P2=0x1d;delayms(30);P2=0x1b;delayms(30);P2=0x17;delayms(30);P2=0x0f;delayms(30);}//P24void cdP23(){P3=0x70;delayms(30);//P3=0xff;P2=0x0e;delayms(30);P2=0x0d;delayms(30);P2=0x0b;delayms(30);P2=0x07;delayms(30);}//P23void cdP22(){P3=0x60;delayms(30);//P3=0xff;P2=0x06;delayms(30);P2=0x05;delayms(30);P2=0x03;delayms(30);}//P22void cdP21(){P3=0x20;delayms(30);//P3=0xff;P2=0x02;delayms(30);P2=0x01;delayms(30);}//P21void cdP20(){P3=0x00;delayms(30);//P3=0xff;P2=0x00;delayms(30);}//P20void cdP10(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30) ;P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0xff;P1=0x7f;delayms(30);P1=0xbf;delayms(30);P1=0xdf;delayms(30);P1=0xef;delayms(30);P1=0xf7;delayms(30);P1=0xfb;delayms(30);P1=0xfd;delayms(30);P1=0xfe;delayms(30);}//P10void cdP11(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x7e;delayms(30);P1=0xbe;delayms(30);P1=0xde;delayms(30);P1=0xee;delayms(30);P1=0xf6;delayms(30);P1=0xfa;delayms(30);P1=0xfc;delayms(30);}//P11void cdP12(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x7c;delayms(30);P1=0xbc;delayms(30);P1=0xdc;delayms(30);P1=0xec;delayms(30);P1=0xf4;delayms(30);P1=0xf8;delayms(30);}//P12void cdP13(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x78;delayms(30);P1=0xb8;delayms(30);P1=0xd8;delayms(30);P1=0xe8;delayms(30);P1=0xf0;delayms(30);}//P13void cdP14(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x70;delayms(30);P1=0xb0;delayms(30);P1=0xd0;delayms(30);P1=0xe0;delayms(30);}//P14void cdP15(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x60;delayms(30);P1=0xa0;delayms(30);P1=0xc0;delayms(30);}//P15void cdP16(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x40;delayms(30);P1=0x80;delayms(30);}//P16void cdP17(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);P3=0xff;P1=0x00;delayms(30);}//P17void cdP30(){P3=0x7f;delayms(30);P3=0xbf;delayms(30);P3=0xdf;delayms(30);P3=0xef;delayms(30);P3=0xf7;delayms(30);P3=0xfb;delayms(30);P3=0xfd;delayms(30);P3=0xfe;delayms(30);}//P30void cdP31(){P3=0x7e;delayms(30);P3=0xbe;delayms(30);P3=0xde;delayms(30);P3=0xee;delayms(30);P3=0xf6;delayms(30);P3=0xfa;delayms(30);P3=0xfc;delayms(30); }//P31void cdP32(){P3=0x7c;delayms(30);P3=0xbc;delayms(30);P3=0xdc;delayms(30);P3=0xec;delayms(30);P3=0xf4;delayms(30);P3=0xfb;delayms(30); }//P32void cdP33(){P3=0x78;delayms(30);P3=0xb8;delayms(30);P3=0xd8;delayms(30);P3=0xe8;delayms(30);P3=0xf0;delayms(30); }//P33void cdP34(){P3=0x70;delayms(30);P3=0xb0;delayms(30);P3=0xd0;delayms(30);P3=0xe0;delayms(30); }//P34void cdP35(){P3=0x60;delayms(30);P3=0xa0;delayms(30);P3=0xc0;delayms(30);}//P35void cdP36(){P3=0x40;delayms(30);P3=0x80;delayms(30);}//P36void cdP37(){P3=0x00;delayms(30);}//P37/*----------------------------------------------------------*/ void cd() //由下至上沉淀{cdP00();cdP10();cdP01();cdP11();cdP02();cdP12();cdP03();cdP13();cdP04();cdP14();cdP05();cdP15();cdP06();cdP16();cdP07();cdP17();cdP27();cdP30();cdP26();cdP31();cdP25();cdP32();cdP24();cdP33();cdP23();cdP34();cdP22();cdP35();cdP21();cdP36();cdP20();cdP37();delayms(500);Offall();delayms(300);Onall();delayms(300);Offall();delayms(300);Onall();delayms(300);}/*----------------------------------------------------------*/ void szsx() //左右同时生长(由上至下){Offall();P0=0xfe;delayms(50);P0=0xfc;delayms(50);P1=0xfe;delayms(50);P0=0xf8;delayms(50);P1=0xfc;delayms(50);P0=0xf0;delayms(50);P1=0xf8;delayms(50);P0=0xe0;delayms(50);P1=0xf0;delayms(50);P0=0xc0;delayms(50);P1=0xe0;delayms(50);P0=0x80;delayms(50);P1=0xc0;delayms(50);P0=0x00;delayms(50);P1=0x80;delayms(50);P2=0x7f;delayms(50);P1=0x00;delayms(50);P2=0x3f;delayms(50);P3=0xfe;delayms(50);P2=0x1f;delayms(50);P3=0xfc;delayms(50);P2=0x0f;delayms(50);P3=0xf8;delayms(50);P2=0x07;delayms(50);P3=0xf0;delayms(50);P2=0x03;delayms(50);P3=0xe0;delayms(50);P2=0x01;delayms(50);P3=0xc0;delayms(50);P2=0x00;delayms(50);P3=0x80;delayms(50);P3=0x00;delayms(50);}/*----------------------------------------------------------*/void szxs() //左右同时生长(由下至上){Offall();P3=0x7f;delayms(50);P2=0xfe;delayms(50);P3=0x3f;delayms(50);P2=0xfc;delayms(50);P3=0x1f;delayms(50);P2=0xf8;delayms(50);P3=0x0f;delayms(50);P2=0xf0;delayms(50);P3=0x07;delayms(50);P2=0xe0;delayms(50);P3=0x03;delayms(50);P2=0xc0;delayms(50);P3=0x01;delayms(50);P2=0x80;delayms(50);P3=0x00;delayms(50);P2=0x00;delayms(50);P1=0x7f;delayms(50);P0=0x7f;delayms(50);P1=0x3f;delayms(50);P0=0x3f;delayms(50);P1=0x1f;delayms(50);P0=0x1f;delayms(50);P1=0x0f;delayms(50);P0=0x0f;delayms(50);P1=0x07;delayms(50);P0=0x07;delayms(50);P1=0x03;delayms(50);P0=0x03;delayms(50);P1=0x01;delayms(50);P0=0x01;delayms(50);P1=0x00;delayms(50);P0=0x00;delayms(50);}/*----------------------------------------------------------*/void l1d() //1个灯转{P0=0xfe,P2=0x7f,P3=0x7f,P1=0x7f;delayms(50);P0=0xfd,P2=0xbf,P3=0xbf,P1=0xbf;delayms(50);P0=0xfb,P2=0xdf,P3=0xdf,P1=0xdf;delayms(50);P0=0xf7,P2=0xef,P3=0xef,P1=0xef;delayms(50);P0=0xef,P2=0xf7,P3=0xf7,P1=0xf7;delayms(50);P0=0xdf,P2=0xfb,P3=0xfb,P1=0xfb;delayms(50);P0=0xbf,P2=0xfd,P3=0xfd,P1=0xfd;delayms(50);P0=0x7f,P2=0xfe,P3=0xfe,P1=0xfe;delayms(50); }/*----------------------------------------------------------*/ void l2d() //2个灯转{P0=0xfc,P2=0x3f,P3=0x3f,P1=0x3f;delayms(50);P0=0xf9,P2=0x9f,P3=0x9f,P1=0x9f;delayms(50);P0=0xf3,P2=0xcf,P3=0xcf,P1=0xcf;delayms(50);P0=0xe7,P2=0xe7,P3=0xe7,P1=0xe7;delayms(50);P0=0xcf,P2=0xf3,P3=0xf3,P1=0xf3;delayms(50);P0=0x9f,P2=0xf9,P3=0xf9,P1=0xf9;delayms(50);P0=0x3f,P2=0xfc,P3=0xfc,P1=0xfc;delayms(50);P0=0x7e,P2=0x7e,P3=0x7e,P1=0x7e;delayms(50); }/*----------------------------------------------------------*/ void l3d() //3个灯转{P0=0xf8,P2=0x1f,P3=0x1f,P1=0x1f;delayms(50);P0=0xf1,P2=0x8f,P3=0x8f,P1=0x8f;delayms(50);P0=0xe3,P2=0xc7,P3=0xc7,P1=0xc7;delayms(50);P0=0xc7,P2=0xe3,P3=0xe3,P1=0xe3;delayms(50);P0=0x8f,P2=0xf1,P3=0xf1,P1=0xf1;delayms(50);P0=0x1f,P2=0xf8,P3=0xf8,P1=0xf8;delayms(50);P0=0x3e,P2=0x7c,P3=0x7c,P1=0x7c;delayms(50);P0=0x7c,P2=0x3e,P3=0x3e,P1=0x3e;delayms(50);}/*----------------------------------------------------------*/ void l4d() //4个灯转{P0=0xf0,P2=0x0f,P3=0x0f,P1=0x0f;delayms(50);P0=0xe1,P2=0x87,P3=0x87,P1=0x87;delayms(50);P0=0xc3,P2=0xc3,P3=0xc3,P1=0xc3;delayms(50);P0=0x87,P2=0xe1,P3=0xe1,P1=0xe1;delayms(50);P0=0xaf,P2=0xf0,P3=0xf0,P1=0xf0;delayms(50);P0=0x1e,P2=0x78,P3=0x78,P1=0x78;delayms(50);P0=0x3c,P2=0x3c,P3=0x3c,P1=0x3c;delayms(50);P0=0x78,P2=0x1e,P3=0x1e,P1=0x1e;delayms(50);}/*----------------------------------------------------------*/void l5d() //5个灯转{P0=0xe0,P2=0x07,P3=0x07,P1=0x07;delayms(50);P0=0xc1,P2=0x83,P3=0x83,P1=0x83;delayms(50);P0=0x83,P2=0xc1,P3=0xc1,P1=0xc1;delayms(50);P0=0x87,P2=0xe0,P3=0xe0,P1=0xe0;delayms(50);P0=0x0e,P2=0x70,P3=0x70,P1=0x70;delayms(50);P0=0x1c,P2=0x38,P3=0x38,P1=0x38;delayms(50);P0=0x38,P2=0x1c,P3=0x1c,P1=0x1c;delayms(50);P0=0x70,P2=0x0e,P3=0x0e,P1=0x0e;delayms(50);}/*----------------------------------------------------------*/void l6d() //6个灯转{P0=0xc0,P2=0x03,P3=0x03,P1=0x03;delayms(50);P0=0x81,P2=0x81,P3=0x81,P1=0x81;delayms(50);P0=0x03,P2=0xc0,P3=0xc0,P1=0xc0;delayms(50);P0=0x06,P2=0x60,P3=0x60,P1=0x60;delayms(50);P0=0x0c,P2=0x30,P3=0x30,P1=0x30;delayms(50);P0=0x18,P2=0x18,P3=0x18,P1=0x18;delayms(50);P0=0x30,P2=0x0c,P3=0x0c,P1=0x0c;delayms(50);P0=0x60,P2=0x06,P3=0x06,P1=0x06;delayms(50);}void main() //主函数,由于模块化设计,只要修改下面各模块的排列顺序和时间,就可以实现各种变化模式{while(1) //无限循环{cx();//一点点出现rja(); //渐暗Onall();delayms(100);Offall();delayms(100);Onall();delayms(180);Offall();delayms(180);Onall();delayms(180);Offall();delayms(300);Onall();delayms(300);rja(); //渐暗delayms(300);// for(x=10;x>0;x--)// ss(100);/* 闪烁20次,50ms */// //ls(); /* 正向流水*/rjl();Offall();delayms(100);zxsz(); /* 正向生长*/delayms(500);rja();//渐暗rzmzy(); //拖尾从上到下rzmyy(); //拖尾从下到上for(x=6;x>0;x--) /*P00闪烁6次50ms*/{P0=0xfe,delayms(50);P0=0xff,delayms(50);}szsx(); /* 半双边生长,由上至下*/rja();//渐暗for(x=10;x>0;x--)ss(100);/* 闪烁20次,50ms */Offall();rzmnwyd();delayms(100);//走马内外移动函数//l1d(),l2d(),l3d(),l4d(),l5d(),l6d(),Onall(),delayms(50);//1至6个灯转rja();//渐暗for(x=6;x>0;x--) /*P00闪烁6次50ms*/{P0=0xfe,delayms(50);P0=0xff,delayms(50);}bsb();//双边同时流水由上至下szxs(); /* 半双边生长,由下至上*/rja();//渐暗ss(100); /* 闪烁10次*/l1d(),l2d(),l3d(),l4d(),l5d(),l6d(),Onall(),delayms(50);//1至6个灯转l1d(),l2d(),l3d(),l4d(),l5d(),l6d(),Onall(),delayms(50);//1至6个灯转Onall();delayms(200);c(700),c(600),c(500);//间隔闪烁c(400),c(300),c(200);c(100),c(100),c(100),c(100);c(50),c(50),c(50),c(50);Offall();for(x=10;x>0;x--){ss(100);}/* 闪烁*/rzmzy(); //拖尾从上到下szxs();/* 半双边生长,由下至上*/szsx(); /* 半双边生长,由上至下*/rja(); //渐暗delayms(100);rzmzy(); //拖尾从上到下//fbsb();/* 半双边流水由下至上*/for(x=10;x>0;x--){P3=0x7f;delayms(50);Offall();delayms(50); /* P37闪烁6次,50ms */ }cd(); /* 由下至上沉淀*///fxsw(); /* 反向死亡*/rja(); //渐暗rzmyy(); //拖尾从下到上bsb();//双边同时流水由上至下// fxsz();Offall(); /* 反向生长*/szsx();/* 左右同时生长由上至下*/rja();delayms(200);for(x=20;x>0;x--){ss(100);} /* 闪烁20次*/rjl(); //渐亮delayms(500);rja(); //渐暗rzmyy(); //拖尾从下到上szsx(); /* 半双边生长,由上至下*/Offall();delayms(100);rjl(); //渐亮Offall();delayms(500); //开启所有灯2sfor(x=20;x>0;x--){c(100);} /* 闪烁20次*/l1d(),l2d(),l3d(),l4d(),l5d(),l6d(),Onall(),delayms(50);//1至6个灯转l1d(),l2d(),l3d(),l4d(),l5d(),l6d(),Onall(),delayms(50);//1至6个灯转for(x=3;x>0;x--){Onall();delayms(200);Offall();delayms(200);}Onall();delayms(500);rja(); //渐暗delayms(100);rzmzy(); //拖尾从上到下rzmyy(); //拖尾从下到上szsx();/* 左右同时生长由上至下*/delayms(300);rja(); //渐暗rjl(); //渐亮delayms(300);rzmnwyd(); //走马内外移动delayms(300);rja(); //渐暗delayms(300);rtbyd(); //眨眼rtbyd(); //眨眼Onall();delayms(180);Offall();delayms(180);Onall();delayms(180);Offall();delayms(180);Onall();delayms(500);Offall();delayms(300);szsx();/* 左右同时生长由上至下*/delayms(300);szsx();/* 左右同时生长由上至下*/rja();delayms(1000);Onall();delayms(2000);}}void rzmyy() //走马拖尾右移函数{Offall();delayms(200);P3=0x7f;delayms(60);P3=0xbf;P2=0xfe;if(P37==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P37 = 0;for(i = 0; i < 15; i++); //调节亮度高低P37 = 1;for(i = 0; i < 50; i++);}}P3=0xdf;P2=0xfd;if(P36==1 && P20==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P36 = 0;P20 = 0;for(i = 0; i < 15; i++); //调节亮度高低P37 = 0;for(i = 0; i < 1; i++); //调节亮度高低P36 = 1;P20 = 1;P37 = 1;for(i = 0; i < 50; i++);}}P3=0xef;P2=0xfb;if(P35==1 && P21 ==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P35 = 0;P21 = 0;for(i = 0; i < 15; i++); //调节亮度高低{P36 = 0;P20 = 0;}for(i = 0; i < 1; i++); //调节亮度高低P35 = 1;P21 = 1;P36 = 1;P20 = 1;for(i = 0; i < 50; i++);}}P3=0xf7;P2=0xf7;if(P34==1 && P22 == 1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P34 = 0;P22 = 0;for(i = 0; i < 15; i++); //调节亮度高低{P35 = 0;P21 = 0;}for(i = 0; i < 1; i++); //调节亮度高低P34 = 1;P22 = 1;P35 = 1;P21 = 1;for(i = 0; i < 50; i++);}}P3=0xfb;P2=0xef;if(P33==1 && P23==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P33 = 0;P23 = 0;for(i = 0; i < 15; i++); //调节亮度高低{P34 = 0;P22 = 0;for(i = 0; i < 1; i++); //调节亮度高低P33 = 1;P23 = 1;P34 = 1;P22 = 1;for(i = 0; i < 50; i++);}}P3=0xfd;P2=0xdf;if(P32==1 && P24==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P32 = 0;P24 = 0;for(i = 0; i < 15; i++); //调节亮度高低{P33 = 0;P24 = 0;}for(i = 0; i < 1; i++); //调节亮度高低P32 = 1;P24 = 1;P33 = 1;P23 = 1;for(i = 0; i < 50; i++);}}P3=0xfe;//P3^0P2=0xbf;//P2^6if(P31==1 && P25==1){unsigned int a;for(a=0;a<350;a++) //调节点亮时间{unsigned char i;P31 = 0;P25 = 0;for(i = 0; i < 15; i++); //调节亮度高低P32 = 0;。
51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作引言:在现代科技发展的背景下,电子产品已经成为我们生活中不可或者缺的一部份。
而作为电子制作的入门级项目,流水灯因其简单而受到泛博爱好者的爱慕。
本文将介绍使用51单片机制作爱心流水灯的原理及制作过程。
1. 原理介绍:爱心流水灯是一种特殊的流水灯效果,通过控制LED灯的亮灭顺序和时间间隔,形成一个爱心图案在LED灯带上流动的效果。
其原理基于51单片机的GPIO (通用输入输出)口控制LED灯的亮灭,通过改变LED灯的状态来实现流动效果。
2. 材料准备:制作爱心流水灯所需的材料如下:- 51单片机开辟板- LED灯带- 面包板- 杜邦线- 电阻- 电容- 电源适配器3. 硬件连接:首先,将51单片机开辟板和面包板连接起来。
然后,将LED灯带连接到面包板上,确保正极和负极正确连接。
接下来,通过杜邦线将51单片机的GPIO口与LED灯带连接起来。
最后,将电阻和电容连接到电路中,以保护电路免受过电流和过电压的伤害。
4. 软件编程:使用Keil C编译器进行软件编程。
首先,需要定义LED灯带的控制引脚,并初始化为输出模式。
然后,编写程序来控制LED灯的亮灭顺序和时间间隔。
在本例中,我们将使用循环语句和延时函数来实现流水灯效果。
通过改变LED灯的状态和延时时间,可以形成一个爱心图案在LED灯带上流动的效果。
5. 程序调试:将编写好的程序下载到51单片机开辟板上,并连接电源适配器。
打开开关,LED灯带上的爱心流水灯效果就会开始显示出来。
如果浮现问题,可以通过调试程序和检查硬件连接来解决。
6. 制作扩展:如果你对爱心流水灯的效果满意,你还可以进一步扩展你的制作。
例如,你可以添加一个按键来控制流水灯的启停,或者通过蓝牙模块和手机APP来远程控制流水灯的效果。
这些扩展可以增加你的制作的趣味性和创造性。
结论:通过本文的介绍,我们了解了51单片机爱心流水灯的原理及制作过程。
通过硬件连接和软件编程,我们可以制作出一个具有特殊效果的流水灯。
心形流水灯-电路说明

心形流水灯-电路说明心形闪灯套件一、电路说明本款套件含有18只红色LED,分成3租,排列组成一个心形的图案,并由三极管震荡电路驱动,使红色的心形图案不断的按顺时针方向旋转闪亮,特别是在夜间使用时,极富动感。
工作原理:从原理图上可以看出,18只LED 被分成3组,每当电源接通时,3只三极管会争先导通,但由于元器件存在差异,只会有1只三极管最先导通,这里假设Q1最先导通,则LED1这一组点亮,由于Q1导通,其集电极电压下降使得电容C2左端下降,接近0V,由于电容两端的电压不能突变,因此Q2的基极也被拉到近似0V,Q2截止,故接在其集电极的LED2这一组熄灭。
此时Q2的高电压通过电容C3使Q3集电极电压升高,Q3也将迅速导通,LED3这一组点亮。
因此在这段时间里,Q1、Q3的集电极均为低电平,LED1和LED3这两组被点亮,LED2这一组熄灭,但随着电源通过电阻R2对C2的充电,Q2的基极电压逐渐升高,当超过0.7V时,Q2由截至状态变为导通状态,集电极电压下降,LED2这一组点亮。
与此同时,Q2的集电极下降的电压通过电容C3使Q3的基极电压也降低,Q3由导通变为截至,其集电极电压升高,LED3这一组熄灭。
接下来,电路按照上面叙述的过程循环,3组18只LED便会被轮流点亮,同一时刻有2组共12只LED被点亮。
这些LED被交叉排列呈一个心形图案,不断的循环闪烁发光,达到流动显示的效果。
焊接组装好的心形循环灯最适合在夜间相对较黑的环境中使用,距离2米以外观看效果更加生动、有趣。
注意:本套LED的颜色为红发红,供电电压为直流3-6V。
二、元件清单三、电路原理图(电路元件参数做了调整)四、焊接好的成品图花样心形闪灯套件一、电路说明本套件含有20只高亮LED,分成4组,每组一种颜色,在电路板上排成心形图案;这4组LED分别由Q1、Q2、Q3、Q4驱动,通过闪灯芯片TC4008的控制,按照8种不同的方式闪烁。
电路通电后即可工作,8种闪烁方式依次循环,LED的颜色分组请参阅元件清单(LED 也可采用同种颜色)。
小型心形流水灯电路图大全(89c52-CD4017心形流水灯电路图)
小型心形流水灯电路图(一) 使用 89C52 做的,原理图如下: 总共有 32 个 LED 灯,4 个 I/O 全部用上了。我在这里不加有 LED 保护电 阻,用 200 的也可以晶振用 图如下: 小型心形流水灯电路图(二) DIY 酷炫的心型的 LED 灯 1)心原理图 图 1 心型 LED 灯原理图 说明:心型 LED 灯共用了 32 个灯,刚好接完 MCU 的 P0,P1,P2,P3
共 32 个端口。 注意:全部的 LED 灯正极分别连接 100 欧左右电阻后,并连 VCC,负极 分别连接 32 个端口即可。 说明:焊接前,先将全部的 LED 灯布局好后,看看效果,然后先焊接单 片机最小系统,后焊接 LED 灯。 图 3 心型 LED 焊接正面布局图 图 4 心型 LED 焊接电阻图 说明:本人用直插电阻直接在万能板背面焊接,同时晶振和瓷片电路都焊 接于单片机插座内,同时本人用的 LED 灯为红,黄,兰,绿相互焊接! 心型 LED 灯效果图
小型心形流水灯电路图(三) CD4017 流水灯制作的电路原理图 电路工作原理:NE555 组成脉冲信号发生器,脉冲信号从 NE555 的 3 脚 输出到 CD4017 的 14 脚。通过改变 R2 的阻值可以改变流水灯的流水速度。 电路上一共有 10 个 LED,电路图上是每个 LED 一个限流电阻,我在制作时 及 PCB 电路图上只使用了一个电阻器,其实效果是一样的。电阻阻值选用 1K 的就可以了。用 CD4017 可以制作各种流水灯电路,可以是圆形的、心形 的、多个 LED 组合在一起的等。 小型心形流水灯电路图(四) 小型心形流水灯电路图(五)
心形花样LED流水灯集成音乐灯
心形花样LED 流水灯(带程序)3、集成音乐芯片外形18.5mm*9.5mm迷你小片型,工作电压2.5V-4.5V,模块本身静态工作电流仅几uA此种音乐片为上电连续循环发声型,带有复位端,该端接通VCC可以复位从头播放音乐接上放大NPN型三极管可以推动16欧以上扬声器或有源蜂鸣器发声,不接放大可以输出内部音频信号,具体使用与工作原理见以下图示描述注意:有源蜂鸣器一般可以直接接入电路发声如接喇叭请保持负载阻抗大于32欧(可以串联电阻增大阻抗)才是最佳工作状态接不同类型的放声器件,其音质效果将会不同使用接口图示:不接复位电路、接放大三极管连接图示:接复位电路、接放大三极管连接图示:音乐片相关知识介绍:使用音乐集成电路,通过简单的外接电路即可获得简单的乐曲、语音或是各种模拟的声响。
音乐集成电路价格便宜,电路结构简单,工作稳定可靠,耗电省,所以用途广泛;在音乐门铃、音乐贺年卡、音乐报时钟、电话振铃电路中都可见它的踪影。
音乐集成电路是一种大规模的CMOS集成电路。
音乐集成电路内部结构框图大致如下:振荡电路产生的信号供各个电路使用;控制电路从存储器中读出代码,根据代码来控制节拍器和音调器协调工作,产生相应的音乐输出。
音乐集成电路一般采用“软封装”,也有的使用双列直插和单列直插封装,还有的做成晶体三极管外形,叫做“音乐三极管”。
工作电压一般用2.5~4.5伏直流电源。
输出常用压电陶瓷片或蜂鸣器作为电-声转换器件;也常用晶体三极管进行放大后送到喇叭放音,音质更好。
4、数码管电路采用四个一位共阴数码管,显示LOVE字样。
放在整个电路的中间,效果就更加炫。
其中“L”字分别把数码管D、E、F脚分别连上,“O”字样分别把数码管A、B、C、D、E、F分别连上;“V”字样分别把数码管B、C、D、E、F分另连上;“E”字样分别把数码管A、D、E、F分别连上。
最后把以上各个引脚串联接上一个100欧电阻连到+5V电源上,点亮。
LED心形灯程序源代码(包含仿真图)
{
P3=~temp;
delayms(70);
temp=temp<<1;
}
temp=0x01;
for(i=0;i<9;i++)
{
P1=~temp;
delayms(70);
temp=temp<<1;
}
P0=0X00;P1=0X00;P2=0X00; P3=0X00;//l->r
P1=temp1;
delayms(100);
temp1=temp1<<1;
}
P0=0Xff; //全灭
P1=0Xff;
P2=0xff;
P3=0Xff;
delayms(100);
}
for(j=3;j>0;j--)
{
temp1=0xfe;
for(i=0;i<8;i++)
{
P0=temp1;
P3=temp1;
delayms(70);
}
temp=0x01;temp1=0x80;
for(i=0;i<9;i++)
{
P1=~temp;
P0=~temp1;
temp=temp<<1;temp1=temp1>>1;
delayms(70);
}
}
k--;
}
}
void way3()
{
unsigned int i,sum,sum1,k,temp1;
temp1=0x80;
sum=0;sum1=0;
for(i=0;i<8;i++)
【单片机设计报告】LED点阵心形流水灯
//=============P2 口作为 74HC154 的选择控制数据输入=================
1.1 系统组成............................................................................................................ 1 1.1.1 AT89C51 单片机...................................................................................... 1 1.1.2 16 乘 16 点阵.......................................................................................... 2
图 1-2 SN74HC164 的逻辑功能图
2、 74HC595 有一个 8 位串行输入,并行输出的移位寄存器,该寄存器向一 个 8 位 D 型存储寄存器提供数据。74HC595N 的存储寄存器具备三态输出。移位 寄存器和存储寄存器分别有独立的时钟。74HC595N 的移位寄存器带有最高优先 级的直接清零端(SRCLR)、串行输入端(SER)和用于级联的串行输出端。当输 出使能端(OE)为高时,74HC595 的输出将处于高阻态。
本系统采用动态显示的模式,所谓的动态显示模式是指逐行轮流点亮。我 们把所有的同一行发光管的阳极连接在一起,把所有第一列发光管的阴极连接一 起,先送出对应第一行的发光管亮灭的数据并且锁存,然后选通第一行使其点亮 一定的时间然后熄灭;再送出第二行的数据并且锁存,然后宣统第二行使其点亮 同样的时间,然后熄灭;直到第第十六行显示完后再重新点亮第一行,这样反复 轮回。如图2所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
uchar i,j;
for (j=0;j<a;j++)
{
P0=P2=0x00;
P3=0x01;delay(t);
for(i=7;i>1;i--)
{
P1=table[i-1];P3=table1[i-2];
delay(t);
}
P1=0xfe;P3=0xff;delay(t);
P1=0xff;P2=0x01;delay(t);
/***********************************************************/
void delay(uint t);//延时
void zg(uint t,uchar a);//两边逐个亮
void qs(uint t,uchar a);//全部闪烁
void zgxh(uint t,uchar a); //逆时针逐个点亮
}
}
}
void hwzjm(uint t,uchar a) //横往中间灭
{
uchar i,j;
for (j=0;j<a;j++)
{
P0=P1=P2=P3=0x00;
for(i=0;i<8;i++)
{
P0=P2=P1=table3[i];
P3=table2[i];delay(t);
}
}
}
/*
void swzjl(uint t,uchar a) //竖往中间亮
}
for (i=0;i<8;i++)
{
P1=table2[i];delay(t);
}
for (i=0;i<8;i++)
{
P3=table2[i];delay(t);
}
for (i=0;i<8;i++)
{
P2=table2[i];delay(t);
}
}
}
/*
void zgxh1(uint t,uchar a) //顺时针逐个点亮
uchar code table1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; //逐个点亮7~0
uchar code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; //逐个灭0~7
uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; //逐个灭7~0
////////////////////////////////////////////
P1=P2=P3=0xff;
for(i=0;i<3;i++)
{
P0=0x00;delay(800);
P0=0xff;delay(800);
}
P0=0x00;
for(i=0;i<3;i++)
{
P1=0x00;delay(800);
#include<reg52.h>
#include <intrins.h>
#defineuint unsigned int
#defineuchar unsigned char
uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; //逐个点亮0~7
{
uchar i,j;
for (j=0;j<a;j++)
{
P0=P1=P2=P3=0xff;
for (i=0;i<8;i++)
{
P0=table1[i];
delay(t);
}
for(i=0;i<8;i++)
{
P1=table[i];
delay(t);
}
for(i=0;i<8;i++)
{
P3=table[i];
void sztl(uint t,uchar a);//顺时逐个同步亮
void nztl(uint t,uchar a);//逆时逐个同步亮
void sztm(uint t,uchar a);//顺时逐个同步灭
void nztm(uint t,uchar a);//逆时逐个同步灭
void hwzjl(uint t,uchar a); //横往中间亮
{
P0=P1=P2=P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
delay(t);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table[i];
delay(t);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table[i];
delay(t);
{
P2=table3[i];delay(t);
}
for (i=0;i<8;i++)
{
P3=table3[i];delay(t);
}
for (i=0;i<8;i++)
{
P1=table3[i];delay(t);
}
for (i=0;i<8;i++)
{
P0=table2[i];delay(t);
}
}
}
*/
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table[i];
delay(t);
}
P2=0xff;
}
}
void nzdgl(uint t,uchar a) //逆时逐段一个点亮
{
uchar i,j,k,l;
for (j=0;j<a;j++)
{
k=table1[0];
P0=k;l=table[0];
void hwzjm(uint t,uchar a); //横往中间灭
//void swzjl(uint t,uchar a); //竖往中间亮
//void swzjm(uint t,uchar a); //竖往中间灭
void nzdl(uint t,uchar a); //逆时逐段亮
void nzdgl(uint t,uchar a); //逆时逐段一个点亮
P0=0x7f;delay(t);
for(i=0;i<7;i++)
{
P0=table1[i+1];
P2=table1[i];
delay(t);
}
P2=0x00;P1=0xfe;
delay(t);
for(i=0;i<7;i++)
{
P1=table[i+1];
P3=table1[i];
delay(t);
{
uchar i,j;
for (j=0;j<a;j++)
{
P0=P1=P2=P3=0xff;
for(i=0;i<8;i++)
{
P0=P2=P1=table[i];
P3=table1[i];delay(t);
}
}
}
void swzjm(uint t,uchar a) //竖往中间灭
{
uchar i,j;
//void zgxh1(uint t,uchar a); //顺时针逐个点亮
void djs(uint t,uchar a); //对角闪
void lbzgm(uint t,uchar a);//两边逐个灭
//void sszgm(uint t,uchar a); //顺时针逐个灭
void nszgm(uint t,uchar a); //逆时针逐个灭
{
uchar i,j;
for (j=0;j<a;j++)
{
P0=P1=P2=P3=0xff;
for (i=0;i<8;i++)
{
P2=table1[i];
delay(t);
}
for(i=0;i<8;i++)
{
P3=table1[i];
delay(t);
}
for(i=0;i<8;i++)
{
P1=table1[i];
{
P0=0x55;P1=P2=P3=0xaa;
delay(t);
P0=0xaa;P1=P2=P3=0x55;
delay(t);
}
}
void main()
{
uchar i;
while(1)
{
zg(100,1);//两边逐个亮
lbzgm(100,1);//两边逐个灭
jgs(300,10);
djs(100,20); //对角闪
void jgs(uint t,uchar a); //间隔闪
/**********************************************************/
void zg(uint t,uchar a)//两边逐个亮
{
uchar i,j;
for(j=0;j<a;j++)