基于51单片机的心形流水灯
- 格式:doc
- 大小:18.39 MB
- 文档页数:26
基于51单片机的心形流水灯视频地址/v_show/id_XNDgzNDI4NjQ4.html
新手焊接、技术有限。
振荡电路藏于单片机下。30个led灯并联未加电阻。供电采用移动电源内置的锂电池
从生日蜡烛上拆下来的电路。共用一个开关。
附源程序:
C语言
#include
unsigned int x,y;
void delayms(unsigned int z) //延时程序{
unsigned int i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
/*----------------------------------------------------------*/ void Offall() //开启所有灯
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
}
/*----------------------------------------------------------*/
void Onall()//关闭所有灯
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
}
/*----------------------------------------------------------*/ void ls()//等时流水灯
{
P0=0x00;
P0=0x01;
delayms(50);
P0=0x02;
delayms(50);
P0=0x04;
delayms(50) ;
P0=0x08;
delayms(50) ;
P0=0x10;
delayms(50) ;
P0=0x20;
P0=0x40; delayms(50) ;
P0=0x80; delayms(50);
P0=0x00;
P2=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;
P2=0x00;
P3=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=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;
P0=0x01;
delayms(50);
P0=0x00;
}
/*----------------------------------------------------------*/ void fxls()//反向等时流水灯
{
P0=0x00;
P0=0x01;
delayms(50);
P0=0x00;
P1=0x00;
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=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=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;
P0=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;
}
/*----------------------------------------------------------*/