main()
{
int i;
LED = 0xfe;
while(1)
{
for(i=0;i<7;i++)
{
delay(1000);
LED = (LED<<1)|0x01;
}
for(i=0;i<7;i++)
{
delay(1000);
LED = (LED>>1)|0x80;
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<124;j++);
}
debug时使用Logic Analyzer Window查看波形,发现使用P0(#define LED P0)为输出时,波形不正常,Parallel Port0显示P0和Pins的数据不一样,而把输出口换成其他端口例如是P1(#define LED P1)时时序正常,是不是作为输出时P0需要特别设置的,请高手解析一下这个现象,最好从原理上分析一下P0与其他三个端口在输入/输出的区别,谢谢