P3口的内部逻辑结构如下图所示,由1个输出锁存器、3个输入缓冲器(其中2个为三态缓冲器)、1个与非门和输出驱动电路组成。输出驱动电路与P1、P2口相同,内部有上拉电阻。
P3口的内部逻辑结构
P3口具备以下两种功能:
1. 作为通用I/O口(可字节或位寻址)
内部硬件自动将第二功能输出线W上的电平置“1”。这个时候:
当口线用作输出时,内部总线上的电平状态与输出引脚状态相同;
当口线用作输入时,先要向锁存器写入“1”,使与非门的输出为低电平,进而使MOS管T截止,引脚处于高阻状态。引脚上的数据在“读引脚”信号有效时,通过2个输入缓冲器进入内部数据总线。
从以下分析可知,P3口在用作通用I/O口时,也是准双向口。
2. 作为第二功能口(不进行字节或位寻址)
内部硬件自动将锁存器的Q端电平置“1”。P3口各引脚的第二功能定义如下:
(1) 输出
与非门对第二功能是畅通的,引脚状态与第二功能输出相同。
P3.1 :TXD(串行口输出)
P3.6 :WR(片外数据存储器“写”选通控制输出)
P3.7 :RD(片外数据存储器“读”选通控制输出)
(2) 输入
锁存器的Q端电平和第二功能输出线W电平都被内存硬件自动置“1”。与非门输出为低电平,进而使MOS管T截止,引脚处于高阻状态。引脚信号经输入缓冲器(非三态缓冲器)进入内部第二功能输入线。
P3.0 :RXD(串行口输入)
P3.2 :INT0(外部中断0输入)
P3.3 :INT1(外部中断1输入)
P3.4 :T0(定时器0的外部输入)
P3.5 :T1(定时器1的外部输入)
P3口第二功能的具体用法将在后期相关功能学习时进行介绍。请保持关注。