因为51的IO口是准双向IO口 准双向IO在作为输入数据时 先要把IO口置全部置1 然后读取外部数据 ,外部数据某位为1,读进来就是1,某位为0,读进来和1相&就是0了,所以读进来是什么就是什么,但是做为输出就不用置1了 直接输出
只要你输入,不管你输入的是0还是1,都要对P3(P2P1P0也一样)的相应位置1,这是单片机的内部结构决定的。这是单片机最基本的知识,建议你先看下单片机的输入输出。你要是P3口输入的话就要先输出:P3=0xff;
还有不建议你使用P3口,P3口有很多特殊定义引脚,如果你其他口还没使用的话建议使用其他口。
单片机标准双向I/O口,只有先给置1读出来的数据才准确,如果I/O口送0的话,无论怎么读都是0
不用了吧 开发板初始都是外接高电平的 不用在置位了 ; 灯乱闪 是不是你程序出问题了俄
是在初始化的时候吧P3口置1,