本人最近才涉足AVR单片机,在icc环境下简单得写了一个程序,就是让PC口间断输出高低电平,代码如下#include<iom32v.h>
#include <macros.h>
#define uint unsigned int
void main()
{
uint i;
DDRC=0xff;
PORTC=0x00;
while(1)
{
PORTC=0xf0;
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
PORTC=0x0f;
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
i=50000;
while(i--);
}
}
但是结果却很意外,烧写进单片机之后,PC口中只有PC1,PC2,PC6,PC7这四个I/O口可以测出明显的高低电平变化,而另外的四个口只稳定在0.69V左右并保持不变,开始我以为单片机坏了,换了一片新的,结果还是同上。然后我又在PA和PB上试了一下,结果又是正常的。想知道,这PC口的使用难到和其它I/O口有不一样的地方,希望哪位高手可以帮忙解答一下,先谢了! |