P1口的输入输出

51的P1口可输入可输出。
那么哪条指令让它作为输入口,怎么样才能让它作为输入口呢?
每个口上都有一个锁存器,锁住之前写的值。
比如,口上只是接一个上拉电阻,这个口作为输入应该是高电平吧。
那你往口里写一个0,口会输出0,这个口就成了低电平了。此时,你读这个IO口,也会是低电平。
如果不改写为1,锁存器内就一直是0,也就是输出0 ,程序读这个口上的电平也是0。
改写为1后,这个口上的电平才会1,或者说,不会把这个口拉低。
作为输入口时,要事先写1,也可以不用每次都写,只要里面不是0就成。

简单的来说就是:因为单片机的构造(上拉了电阻),需要将P1口写1,使之成为高电平,能够作为输入口。

猜你喜欢

转载自blog.csdn.net/qq_41912133/article/details/80339108