代码:
#include <reg52.h> //不再赘述
#define LED P2 //宏定义P2端口,偏于直接操作
void delay(unsigned int u16) //不再赘述
{
while(u16--);
}
void main(void)
{
int i; //定义一个变量
while(1)
{
for(i=0;i<8;i++) //循环执行八次
{
LED=~(0x01<<i);
//第一次执行的时候左移一位,第二次左移两位,第三次左移三位,以此类推
delay(50000); //不再赘述
}
for(i=0;i<6;i++) //循环执行六次
{
LED=~(0x40>>i); //第一次执行右移一次,第二次右移两次,以此类推。
delay(50000); //不再赘述
}
}
}
//这个流水灯用左移右移实现,效果还是可以的。
运行结果:
LED从左往右逐个亮灭,再逐个从右往左亮灭。