huangxiaolpbany 发表于 2014-9-4 17:56:52

请教端口读取问题

今天被端口读取的问题难倒了,做了实验,用PD5的端口来控制一个LED灯
程序非常简单,PD5端口为1时,PG1输出1;PD5输入为0时,PG1输出0

最终结果是,PD5没有输入时,PG1也输出了;用仿真器看,PIND5为“1”,但千真万确的PD5引脚是0V。
因为使用的128A的片子,所以已经将M103C的兼容模式去掉了。

请各位前辈指教!


void main()
{
   unsigned char di_pd5;
   
   DDRD&=~BIT(5);
   PORTD&=~BIT(5);

   DDRG|=BIT(1);
   PORTG&=~BIT(1);

   while(1)
   {          
          di_pd5=PIND;
          di_pd5=di_pd5&0b00100000; //0b0010 0000          

          if(di_pd5)
             PORTG|=BIT(1);
          else
             PORTG&=~BIT(1);
   }

}

一往无前 发表于 2014-9-4 20:55:47

请问楼主0b是什么意思?

一往无前 发表于 2014-9-4 20:56:23

请问楼主0b00100000是什么意思?

huangxiaolpbany 发表于 2014-9-4 21:00:36

一往无前 发表于 2014-9-4 20:56
请问楼主0b00100000是什么意思?

只取第5位。PD5
页: [1]
查看完整版本: 请教端口读取问题