![](https://csdnimg.cn/release/download_crawler_static/87985343/bg5.jpg)
算的中间结果、数据暂存以及数据缓冲等。
在这 128B 的 RAM 中,有 32 个字节单元可指定为工作寄存器,这同一般微处理
器不同。89C51 的片内 RAM 和工作寄存器排在一个队列里统一编址。
由图 1 可见,89C51 单片机内部还有 SP,DPTR,PCON,…,IE,IP 等特殊功
能寄存器,它们也同 128 字节 RAM 在一个队列编址,地址为 80H~FFH。在这 128
字节 RAM 单元中有 21 个特殊功能寄存器(SFR),在这些特殊功能寄存器中还包
括 P0~P3 口锁存器。
3.3 、I/O 接口
89C51 有四个 8 位并行接口,即 P0-P3。它们都是双向端口,每个端口有 8
条 I/O 线,均可输入/输出。P0-P3 口四个锁存器同 RAM 统一编址,可以把 I/O 口
当作一般特殊功能寄存器来寻址。
4、管脚说明
VCC:供电电压。
GND:接地。
P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当
P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储
器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入
口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。
P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接
收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口
被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程
和校验时,P1 口作为第八位地址接收。
P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,
输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作
为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于
内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行
存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,
当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。
P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。