winnie 发表于 2009-4-25 15:05:28

一个关于pic16f877的PORTD值的问题

我用picc编了段程序,其中的初始化是这样的:(pic16f877)
void INITIAL(void)
{
   ADCON1=0x87;      //设置PORTA口和PORTE口为数字I/O口
   PORTA=0;
   PORTE=0;                              
   PORTD=0;             //先清零A、E、D口,避免干扰
   TRISA0=0;
   TRISA1=0;
   TRISA2=0;
   TRISA4=0;
   TRISA5=0;
   TRISE=0x00;      
   TRISD=0xff;      //D口输入   
……
奇怪的是,在随后的程序执行中,我发现portd的值始终是oxff,我用MPLAB的view->watch观察也是,难道我那
句PORTD=0没起作用?我试了赋予portd其它值,发现无论怎么赋值,portd始终是oxff,

winnie 发表于 2009-4-25 15:05:37

先设成输出,再赋值.

TRISD = 0x00;

PORTD = 0x00;
页: [1]
查看完整版本: 一个关于pic16f877的PORTD值的问题