三、P2口
2025年09月21日
三、P2口
P2口的口线逻辑电路如图2-18所示。
图2-18 P2口某位结构
P2口可以作为通用I/O口使用,当CPU对片内存储器和I/O口进行读/写(执行MOV指令或=1时执行MOVC指令)时,由内部硬件自动使多路转换开关MUX倒向锁存器的Q端。
P2口也可以作为高8位地址线使用。当CPU对片外存储器和I/O口进行读/写(执行MOVX指令或=0时执行MOVC指令)时,多路转换开关MUX倒向地址线(右)端,这时,P2口只输出高8位地址。
当系统扩展片外ROM和RAM时,由P2输出高8位地址(低8位地址由P0输出)。此时,在CPU的控制下,多路转换开关MUX转向内部地址线的一端。在P2口送高8位地址时,P2口无法再用作通用I/O口。
然而,在不需要外扩ROM(89C51/8751)而只需扩展256字节片外RAM的系统中,即使用“MOVX @Ri”类指令访问片外RAM时,由于寻址范围是256字节,只需低8位地址线就可以实现。因此,此时P2口不受该指令影响,仍可作为通用I/O口。
若扩展的RAM容量超过256字节,即使用“MOVX @DPTR”类指令,其寻址范围是64KB,此时,高8位地址总线要用P2口输出。在片外RAM读/写周期内,P2口锁存器仍保持原来端口的数据;在访问片外RAM周期结束后,多路转换开关MUX自动切换到锁存器Q端。因此,在这种情况下,当CPU不访问片外RAM或访问片外RAM周期结束后,P2口仍可用作通用I/O口。