C语言编程流水灯,为什么只有一个灯亮,求大神指教,下面是源程序

#include <at89x52.h> //Keil 的库函数, 包括声明的寄存器
#include <intrins.h>
void Delay500ms(); //声明一个延时函数
main()
{
unsigned char data j;
while(1)
{
P1 = 0XFE;
for(j=8; j>0; j--)
{

Delay500ms();
P1 =( P1<<=1) | 0X01;

//P1<<=1;
}
}

}
void Delay500ms() //延时子函数名字
{
unsigned char i, j, k;
for(i=200; i>0; i--)
for(j=20; j>0; j--)
for(k=250; k>0; k--);
}

第1个回答  2015-08-15
LZ 那 500ms 的延时函数 哪来的?以标准 51 ,12MHz晶振计算,这都上几十秒了。要不 LZ 等几分钟 再来看??追问

把延时注释掉,依然也是P1.0在不停的闪烁,而其他的灯不亮啊

追答

注释掉了,你能看到的,就只有 P1=0xFE 了,自然就是P10了。是让你调小时间,不是没有时间,不然,你就真等 几分钟 再看,就能看到 别的灯了

相似回答