。每位能驱动8个TTL逻辑门电路。当对管脚写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址的低8位和数据总线复用。在FIASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,此时P0外部须接上拉电阻。РP1口:P1口是一个带内部提供上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。P1口管脚写入1后,通过内部的上拉电阻把端口拉到高电平,此时可用作输入口,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉电阻的缘故。在FLASH编程和校验时,P1口接收低八位地址。РP2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2口的输出缓冲级可驱动4个TTL逻辑门电路,当P2口被写入“1”时,其管脚被内部上拉电阻拉高,此时可作为输入口。作为输入口时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉电阻的缘故。当P2口访问外部程序存储器或外部数据存储器时,P2口输出地址的高八位。在访问8位地址的外部数据存储器时,P2口线上的内容,在整个访问期间不改变。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。РP3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动4个TTL逻辑门电路。当P3口写入“1”后,它们被内部上拉电阻拉为高电平,并可作为输入端口。作输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉电阻的缘故。РP3口除了作为一般的I/O口线外,更重要的用途是它的第二功能可作为AT89S51的一些特殊功能口:РP3.0 RXD(串行输入口)РP3.1 TXD(串行输出口)РP3.2 (外部中断0)РP3.3 (外部中断1)РP3.4 T0(定时器0)РP3.5 T1(定时器1)РP3.6 (外部数据存储器写选通)РP3.7 (外部数据存储器读选通)