#include <REGX52.H>
void Delayms(unsigned int time) //@12.000MHz
{
while(time)
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
time--;
}
}
void main()
{
unsigned int loc[]={0xfe,0xfd,0xfb}; //we
unsigned int num[]={0x6,0x5b,0x4f}; //du
unsigned int i;
while(1)
{
for(i=0;i<3;i++)
{
P0=loc[i];
WE=1;
WE=0;
P0=0X00;//消影
Delayms(500);
P0=num[i];
DU=1;
DU=0;
}
}
}
想要的效果是从WE1上开始显示1,we2上显示2,we3上显示3。但是执行结果却是we2上显示1,we3上显示2,we1上显示3。这是为什么啊各位大佬们!!!!