基于51单片机心形流水灯C语言源程序.docx
《基于51单片机心形流水灯C语言源程序.docx》由会员分享,可在线阅读,更多相关《基于51单片机心形流水灯C语言源程序.docx(13页珍藏版)》请在冰豆网上搜索。
基于51单片机心形流水灯C语言源程序
#include
unsignedintx,y;
voiddelayms(unsignedintz)//延时
{
unsignedinti,j;
for(i=z;i>0;i--)
for(j=150;j>0;j--);
}
voidOn_all()//开启所有灯
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
}
voidOff_all()//关闭所有灯
{
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
voidls()//正向流水灯
{
P0=0x00;delayms(400);
P2=0x00;delayms(400);
P3=0x00;delayms(400);
P1=0x00;delayms(400);
P0=0x01;delayms(50);
P0=0x02;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=0x02;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=0xfd;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=0xfd;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);
}
voidfan_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=0x02;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=0x02;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=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=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();
}
voidban_shan()//半边交替闪
{
Off_all();
P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);
P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);
P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);
P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);
P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);
P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);
P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);
P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);
P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);
P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);
}
voidshangxia_shan()//上下交替闪
{
On_all();
Off_all();
P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);
P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);
P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);
P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);
P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);
P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);
P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);
P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);
P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);
P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);
}
voidhuayang_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);
}
voidmain()
{
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();//花样闪烁
}