基于51单片机心形流水灯C语言源程序#include<reg51.h>unsigned int x,y;void delayms(unsigned int z) //延时{unsigned int i,j;for(i=z;i>0;i--)for(j=150;j>0;j--);}void On_all() //开启所有灯{P0=0x00; P1=0x00; P2=0x00; P3=0x00; }void Off_all()//关闭所有灯{P0=0xff; P1=0xff; P2=0xff; P3=0xff; }void ls()//正向流水灯{P0=0x00; delayms(400);P2=0x00; delayms(400);P3=0x00; delayms(400);P1=0x00; delayms(400);P0=0x01; delayms(50);P0=0x04; delayms(50);P0=0x08; delayms(50);P0=0x10; delayms(50); P0=0x20; delayms(50);P0=0x40; delayms(50); P0=0x80; delayms(50);P0=0x00;P2=0x01; delayms(50);P2=0x02; delayms(50);P2=0x04; delayms(50); P2=0x08; delayms(50);P2=0x10; delayms(50); P2=0x20; delayms(50);P2=0x40; delayms(50); P2=0x80; delayms(50);P2=0x00;P3=0x80; delayms(50);P3=0x40; delayms(50); P3=0x20; delayms(50);P3=0x10; delayms(50);P3=0x08; delayms(50); P3=0x04; delayms(50);P3=0x01; delayms(50); P3=0x00;P1=0x80; delayms(50); P1=0x40; delayms(50); P1=0x20; delayms(50); P1=0x10; delayms(50); P1=0x08; delayms(50); P1=0x04; delayms(50); P1=0x02; delayms(50); P1=0x01; delayms(50); P1=0x00;Off_all();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=0xfe; delayms(50);P2=0xfb; delayms(50);P2=0xf7; delayms(50);P2=0xef; delayms(50);P2=0xdf; delayms(50);P2=0xbf; delayms(50);P2=0x7f; 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=0xfd; 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=0xfe; delayms(50); P1=0xff;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=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); 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);}void fan_ls()//反向流水灯{Off_all(); delayms(300);On_all(); delayms(300);Off_all(); delayms(300);P1=0x00;delayms(400);P3=0x00;delayms(400);P2=0x00;delayms(400);P0=0x00;delayms(400);P1=0x01;delayms(50);P1=0x04;delayms(50); P1=0x08;delayms(50); P1=0x10;delayms(50); P1=0x20;delayms(50); P1=0x40;delayms(50); P1=0x80;delayms(50);P1=0x00;P3=0x01;delayms(50); P3=0x02;delayms(50); P3=0x04;delayms(50); P3=0x08;delayms(50); P3=0x10;delayms(50); P3=0x20;delayms(50); P3=0x40;delayms(50); P3=0x80;delayms(50);P3=0x00;P2=0x80;delayms(50);P2=0x40;delayms(50); P2=0x20;delayms(50); P2=0x10;delayms(50);P2=0x08;delayms(50); P2=0x04;delayms(50);P2=0x01;delayms(50);P2=0x00;P0=0x80;delayms(50);P0=0x40;delayms(50);P0=0x20;delayms(50);P0=0x10;delayms(50);P0=0x08;delayms(50);P0=0x04;delayms(50); P0=0x02;delayms(50);P0=0x01;delayms(50);P0=0x00;Off_all();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=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=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;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;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=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);P0=0x7f; delayms(50);P0=0x3f; delayms(50);P0=0x1f; delayms(50);P0=0x0f; delayms(50);P0=0x07; delayms(50);P0=0x03; delayms(50);P0=0x01; delayms(50);P0=0x00; delayms(50);Off_all();On_all();Off_all();On_all();Off_all();}void ban_shan()//半边交替闪{Off_all();P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;del ayms(50);ayms(50);P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;del ayms(50);P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;del ayms(50);P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;del ayms(50);P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;del ayms(50);P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;del ayms(50);P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;del ayms(50);P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;del ayms(50);P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;del ayms(50);}void shangxia_shan()//上下交替闪{On_all();Off_all();P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;del ayms(50);ayms(50);P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;del ayms(50);P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;del ayms(50);P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;del ayms(50);P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;del ayms(50);P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;del ayms(50);P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;del ayms(50);P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;del ayms(50);P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;del ayms(50);}void huayang_shan()//花样闪烁{On_all();delayms(400);P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200);P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200);P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200);P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200); P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200); P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200); P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200); On_all();delayms(400);P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200); P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200); P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200); P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200); P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200); P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200); P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200); On_all();delayms(400);Off_all();delayms(400);P0=0x00;delayms(200);P3=0x00;delayms(200);P1=0x00;delayms(200);P2=0x00;delayms(200);On_all();delayms(400);Off_all();delayms(400);P1=0x00;delayms(200);P2=0x00;delayms(200);P0=0x00;delayms(200);P3=0x00;delayms(200);On_all();delayms(400);Off_all();delayms(50);On_all();delayms(50);Off_all();delayms(50);On_all();delayms(50);Off_all();delayms(50);}void main(){On_all(); delayms(300);Off_all(); delayms(300);On_all(); delayms(300);Off_all(); delayms(300);On_all(); delayms(300);Off_all(); delayms(300);ls(); //正向流水fan_ls(); //反向流水ban_shan(); //半边交替闪shangxia_shan(); //上下交替闪烁huayang_shan();// 花样闪烁}。