先看效果
51单片机入门教程(1.3)——流水灯的实现(二)
流程 1.闪烁3次
2.LED1到LED8
3.LED8到LED1
/*-----------------------------------------------------
程序功能:1.闪烁3次
2.LED1到LED8
3.LED8到LED1
------------------------------------------------------*/
#include<reg52.h> //包含52系列单片机头文件
unsigned int i,j,k,x,p; //声明全局变量i,j
void main() //主函数
{
while(1) //while大循环语句,使内部循环体始终在反复运行
{
for(p=0;p<3;p++) //全部指示灯闪烁3次
{
P1=0;
for(i=0;i<50000;i++); //延时
P1=0XFF;
for(i=0;i<50000;i++); //延时
}
if(p==2)
{
k=0;
}
for(k=0;k<8;k++)//8次循环
{
P1=~(1<<j++); //流水灯一个个熄灭
for(i=0;i<50000;i++); //延时
}
if(k==8)
{
j=0;
k=0;
}
for(k=0;k<8;k++) //8次循环
{
P1=~(0x80>>j++); //流水灯反方向流动(LED8到LED1)
for(i=0;i<50000;i++); //延时
}
if(k==8) //如果k等于8,给j,k重新赋值,让j,k等于0
{
j=0;
k=0;
}
}
}