没必要置1的,如果IO口驱动能力不足的时候才会用到上拉,一般也不需要上拉的,只有P0口没有上拉电阻,其他几个IO口内部都自带上拉电阻了。51单片机上电默认IO口就是高电平,用软件来完成最简单了,直接写1就行了。
单片机引脚作为输入和输出是由程序来决定的,与外围电路无关。
比如你想做输出,就直接给P3口赋值。P3 = 0xFE; MOV P3,#0FEH
如果你想让P3口做输入,直接读取P3口就行了 A=P3; MOV A,P3
最好把电路发上来,说清楚你想要完成的功能,才能更好的帮你解决。
如果是51单片机的话,P3口如果作为普通I/0口使用时,用法和P1口一样,输入时,要先对该口写1。上拉电阻的值一般是10K。如果只是做一般的控制,不需要上拉电阻的。p1-P3口内部有上拉电阻的。PO口为开漏输出,一般需要上拉。
一般应该不是置一的问题。请楼主描述下你的输入电路,呵呵。感觉可能是输入电路的问题。