单片机中,P1口用作输入时,为什么必须先将该口锁存器置1?

“在读引脚前,先将锁存器置1,否则总是读到0。”------书上是这么写的,不知道why。附图一张:

请解答,最好从电路方面,谢谢

书上都有的啊……
P1~P3在进行读操作之前必须写1,这样才能关断输出驱动的FET管。于是对外管脚只有一个弱上拉作用,管脚上的高低电平才能被正确读到。
否则,FET管导通的状况下,不论外部信号是高电平还是低电平,都会被导通的FET管拉低的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-21
P1.0 引脚内部,上方,是一个很大的电阻。

这就决定了,引脚输出高电平的能力,极差。

输出高电平时,很容易就能被外设改成低电平。

利用这个特点,就可以用来输入外设送来的信号。
----
P1.0 引脚内部,下方,是一个场效应管。

这就决定了,引脚输出低电平的能力,很强。

输出低电平时,就是低电平,不可改变。

这就不能当输入接口来使用。
第2个回答  2014-06-21
CP写0时, MOS管导通, P1.0对地短路。 你无论读P1.0的引脚还是读锁存信号,此时都为0。本回答被提问者采纳
相似回答