该系列单芯片设计采用CMOS技术制造的高性能静态AT89C51,并配有非易失性闪存程序存储器,均可使用12个时钟和6个时钟操作[3]。
AT89C51共有4组8为I/O口,分别记作P0、P1、P2、P3。每个口都内有一个锁存器,一个输出驱动器和输入缓冲器,都有8条I/O口线,具有字节寻址和位寻址功能。
在无外片扩展时,这四个I/O口都可以作为特用I/O口使用。当存储器从内部延伸出来时,低位8位数据由P0端口传送,高8位数据由P2端口传递[4]。MCS-51微控制器的四个I/O是8位双向端口,结构和特性基本相同。
AT89C51引脚图如图3-2。
VCC:供电电压。GND:接地。
图3-2 AT89C51引脚图
P0端口:P0口是8位开漏双向I/O口,每个引脚可吸收8TTL栅极电流。当P1端口的引脚首次写入1时,它被用作高阻抗输出。P0可以与外部程序数据存储器一起使用,可以用作数据位的低位8位,在FIASH编程中,P0端口作为原始代码的输出端口,当FIASH检查时,P0输出的原始代码,P0必须拉出外部。
P1端口:P1端口是具有内部上拉电阻的8位双向I/O端口,P1端口缓冲器响应输入4TTL栅极电流。P1端口引脚写入1,内部上拉为高电平,可作为输入,P1端口外部拉低电源,通常会进入电流,这是由于内部拉电源的原因[5]。在FLASH编程和验证中,P1端口用作低8位响应。
P2端口:用于外部上拉电阻的P2端口8位双向I/O端口,P2端口缓冲器可以接收,输入4个TTL门限电流,当P2端口写入“1”时,其引脚被拉高通过内部上拉和作为输出。因此,作为输入,P2端口的引脚外部拉低,并输入电流。这是由于内部上拉。P2端口,当用于外部程序存储器或16位外部数据存储器访问时,P2输入高8位。当给出“1”时,它使用内部上拉。当外部8位数据存储器被读写时,P2端口进入其特殊功能寄存器。P2端口在FLASH编程和验证中,接收高8位并控制电流。
P3端口:P3端口引脚是8个双向I/O端口,带有可以接收4个TTL栅极电流的外部上拉电阻。当P3端口写入“1”时,它们被内部拉高并用作输入。作为输出,由于外部下拉电平低,P3端口将由于上拉而输入电流(ILL)。