51单片机的P1~P3端口
51单片机的其他三个端口的内部结构如图 23所示,与P0相比简单了很多,没有了顶部的MOS管,也没有了地址/数据信号的选项。作为输出时是带有上拉电阻的的开漏输出,作为输入时是有上拉电阻存在的,于是输入端口对外不是高阻。这就解释了为什么P1~P3只能是准双向端口。
图 23
- 这种情况的发生也说明了:信号前后两级传递,为什么需要输出阻抗小,输入阻抗大的原因。在这个例子中,外围驱动电路的输出阻抗很大,达到了100Kohm;而输入端的阻抗又不够大,只有10Kohm,于是就出现了问题。如果输入端的输入阻抗真正做到高阻(无穷大),如下所示,就不会出现问题。哈哈。一开始认为作者这段话错了。仔细又思考下。作者应该是对的。信号传递确实需要发送信号的设备的输出阻抗小,接收设备的输入阻抗大。但在作者的论述中,所谓的"外围驱动电路"是作为发送信号的设备,而"单片机输入端"是作为接收信号的设备。所以需要外围的设备输出阻抗小(这个例子达到了100k,相比10k属于大了),单片机的输入阻抗又不够大(没有达到高阻抗,只有10k),于是出现了传输错误。我犯的错误是看到“外围设备”就认为是接收设备,看到“单片机的输入端”就认为是发送设备。
|