c51LED灯从左到右依次点亮至全亮,再从左到左依次熄灭至全灭

#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit leda=P0;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
void delay(u16 i)
{
while(i--);
}
void main()
{

while(1)
{
                     leda=1
                   led1=0;   
               delay(50000);
                  led2=0;
               delay(50000);
                  led3=0;
               delay(50000);
                  led4=0;
               delay(50000);
                  led5=0;
               delay(50000);
                  led6=0;
               delay(50000);
                  led7=0;
               delay(50000);
                  led8=0;
               delay(100000);

                   led8=1; 
               delay(50000);
                  led7=1;
               delay(50000);
                  led6=1;
               delay(50000);
                  led5=1;
               delay(50000);
                  led4=1;
               delay(50000);
                   led3=1;
               delay(50000);
                  led2=1;
               delay(50000);
                  led1=1;
               delay(50000);

                  leda=1;
            
            }        

}