MCS-51系列单片机读口操作有什么特殊性?

如题所述

第1个回答  2019-12-18
51单片机有4组8位I/O口:P0、P1、P2和P3口,其中P1、P2和P3为准双向口,P0口则为双向三态输入输出口。由于准双向口和双向口在电路结构上不同,所以造成两种I/O口的读操作不同。
对于双向的P0口,其电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路,作为通用的I/O口时,必须外接上拉电阻;然而,对于P1、P1、P2和P3的准双向口其电路只包含有一个数据输出锁存器、一个三态数据输入缓冲器、一个数据输出的驱动电路。
这种结构上的差异造成了P口作为通用I/O口时读取外部数据时操作不同,即对于双向口,可以直接读取外部数据,而对于准双向口,读之前需先向口写1,再去读取读取外部数据。
例如:从P1口的低四位输入数据
MOV
P1,#00001111b
;先给P1口底四位写1
MOV
A,P1
;再读P1口的底四位
这方面的问题,在实际操作中可以体验到,应该不需要了解到太清楚,知道这种现象不影响实际使用就OK了。当然了解清楚了,有助于记忆。
相似回答
大家正在搜