如何实现单片机8个灯依次点亮后再全亮再全灭

已经实现了8个灯依次点亮了#include
#include
void Delay800us() //@11.0592MHz
{
unsigned char i, j;

i = 2;
j = 107;
do
{
    while (--j);
} while (--i);

}

void main()
{

while(1)
{
    P2=0xFE;//1111 1110
    delay800ms();
    P2=0xFD;//1111 1101
    delay800ms();
    P2=0xFB;//1111 1011
    delay800ms();
    P2=0xF7;//1111 0111
    delay800ms();
    P2=0xEF;//1110 1111
    delay800ms();
    P2=0xDF;//1101 1111
    delay800ms()
P2=0xBF;//1011 1111
    delay800ms();
    P2=0x7F; //0111 1111
    delay800ms();
}

}但是不知道怎么接下来全亮后再全灭

//接着在while循环里写
P2 = 0;//全亮
delay800ms();
P2 = 0xff;//全灭
delay800ms();

接着依次写每个LED灭的情况呢?