功能:让8个LED灯顺序点亮,然后在逆向点亮;

代码如下:

#include<reg52.h>

#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);

main()
{  

uchar aa;   uint count=0;while(1){

aa=0xfe;P0=aa;delay(100);while(1){

aa=_crol_(aa,1);//aa左移一位,P0=aa;delay(1000);

        count++;

if(count>=7)        //判断8个LED灯是否已被全部点亮一次{

for(;count>0;)//逆向点亮8个LED灯

{aa=_cror_(aa,1);//aa右移一位P0=aa;delay(1000);//调用延时程序,延时1S;count--;}break;}

 }

}

}
void delay(uint z)
{

uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);

}

贴出一张图片:

流水灯51单片机最小系统,顺序、反向点亮,从左到右再从右到左点亮_逆序