怎么让他在这个程序之后所有的LED灯全部闪烁闪 烁间隔500ms

#include<REGX52.H>
#include<INTRINS.H>
voidDelay500ms()

unsigned chari,j,k;
nop();
i=4;
j=129;
k=119;
do

do

while(--k);
}while(--j);
}while (- i);

void main ()

char i= 2;
while(i--){
P1=0XFE;
Delay500ms();
P1=0XFD;
Delay500ms();
P1=0XFB;
Delay500ms();
P1=0XF7;
Delay500ms ();
P1=0XEF;
Delay500ms();
P1=OXDF;
Delay500ms();
P1=0XBE;
Delay500ms();
P1=0X7F;
Delay500ms();
}
while(1){}

是要全部的灯都闪烁吗?
需要每个灯交替闪烁还是同时闪烁?根据P1的赋值,一共8位,不知道你这个0亮还是1亮
如果是1亮,那么P1=0X00就是全灭,P1=0XFF就是全亮中间只要加延迟就可实现同时的亮灭闪烁
关键是要搞清楚,FF从何而来?表示的是二进制的11111111,如果1表示亮,那么赋值给P1=0XFF,则全亮
赋值P1=0XFE那么会有一盏灯灭,具体是哪盏灯需要看硬件结构图,你可以看到的是必然有盏灯灭,要么P的0号口,要么P的7号口什么原因要仔细考虑清楚

while(1){}改为
while(1){
P1=0Xff;
Delay500ms();
P1=0X00;
Delay500ms();
}


while(1){
static i=0; 
if(i  != 4)
{
P1=0Xff;
Delay500ms();
P1=0X00;
Delay500ms();
}
}

这个可以

建议问问题要把一些前提条件,硬件连接关系等描述清楚,别让人猜