(1) 并行I/O端口
MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个LSTTL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL电路。
1) P0端口功能(P0.0~P0.7、32~39脚)
图5 P0口位结构
图5是P0口位结构,包括:1个输出锁存器,2个三态缓冲器,1个输出驱动电路和1个输出控制端。输出驱动电路是由一对场效应管组成的,其工作状态由输出端控制,输出控制端包括:1个与门、1个反相器和1个转换开关MUX。对8051/8优尔来说P0口既能作为输入输出口,又能作为地址/数据总线使用,
2) P1口(P1.0~P1.7、1~8脚)端口功能
P1口为准双向口,作通用I/O端口使用。P1口是一个有内部上拉电阻的准双向口,位结构入图4所示,P1口的每一位口线能独立用作输入线或输出线。作输出时,将“0”写入锁存器,场效应管导通,输出为“0”。所以在作输入时,须先将“1”写入锁存器,使场效应管截止。由内部上拉电阻作用形成成高电平,同时也能被外部输入源拉成低电平,即当外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。P1口作输入时,可被任何电路驱动,包括TTL电路和MOS电路。由于内部具有上拉电阻,也可以直接被集电极度开路和漏极开路电路驱动,不必外加上拉电阻。P1口能驱动4个LSTTL门电路。
3) P2口(P2.0~P2.7,21~28脚)端口功能
P2口也为准双向口,P2口的结构如图7所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。
图7 P2口位结构
① P2口作通用I/O端口使用
当P2口作通用I/O端口使用时,是一个准双向口,此时转换开关MUX倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。
② P2口作地址总线口使用
当系统中接有外部存储器时,P2口用于输出高8位地址A15~A8。这时在CPU的控制下,转换开关MUX倒向右边,接通内部地址总线。P2口的口线状态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。在外接程序存储器的系统中,由于访问外部存储器的操作连续不断,P2口不断送出地址高8位。在不接外部程序存储器而接有外部数据存储器的系统中,情况有所不同。若外接数据存储器容量为256B,则可使用MOVX A,@Ri类指令由PO口送出8位地址,P2口上引脚的信号不会改变,这时P2口仍可作通用I/O端口使用。如果外接存储器容量很大,则MOVX A,@DPTR类指令就派上了用场。P2口也可以驱动4个LSTTL门电路。
4) P3口(P3.0~P3.7、10~17脚)双功能口
P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口,P3口的结构如图8。
当作第二功能使用时,每一位功能定义如表1所示。P3口的第二功能实际上就是系统所具有的控制功能。此时相应的锁存器必须为高电平,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。在P3口的引脚信号输入通道中有两个三态缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。P3口可以驱动4个LSTTL门电路。
图8 P3口位结构 51单片机的智能空调温度控制系统的设计+仿真图+源码(4):http://www.youerw.com/zidonghua/lunwen_806.html