深入浅出玩转51单片机——学习笔记:Led流水灯
实现功能:用左移和右移实现流水灯由右向左,然后由左向右循环移动
硬件接线:Led 接P1口
晶振频率:11.0592Mhz
程序代码:
#include<reg52.h>
#define uint unsigned int
void delay(uint z); //函数声明
void main(void)
{ uint i;
while(1)
{ P1=0XFF;
for(i=0;i<17;i++)//本来左右循环一遍共需要16次,但是因为在i=8时 P1=0XFF没有右移所以写i<17不是16
{ if(i<=8)
{ if(i<8) //左移的过程
{ P1<<=1;
delay(1000);
}
else
P1=0XFF;//为右移赋初值
}
else
{ P1>>=1;//右移的过程
delay(1000);
}
}
}
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<113;y++);
}
为了方便大家更好的学习,您还可以关注畅学电子和EDA的公众号,每天推送相关知识,希望能对你的学习有所帮助!