单片机经典流水灯效果,通过端口循环移位实现。
代码:
#include<reg51.h>
#include<intrins.h>
void delay(unsigned int a)
{ unsigned int i;
while( --a!=0)
{ for(i=0;i<125;i++);
}
}
/*void main(void)
{
while(1)
{ P1=0xff;
delay(200);
P1=0x00;
delay(200);
}
}
*/
void main(void)
{ unsigned i;
while(1)
{
P1=0x01;
for(i=0;i<8;i++){
delay(200);
P1=P1<<1; //左移
//P1=P1>>1; //右移
}
}
}
效果图:
led流水灯逐亮。
代码:
#include<reg51.h>
void delay(void)
{
unsigned int m;
for(m=0;m<36000;m++)
;
}
void main()
{
unsigned char i;
while(1)
{
P1=0xfE;
delay();
for(i=0;i<8;i++)
{
P1=P1<<1;
delay();
}
}
}
效果图: