51单片机实际有效的引脚为40个,主要有三种封装形式,其引脚图可参见图1-3:图1-3a为PDIP封装形式,这是普通40脚塑封双列直插形式;图1-3b为PLCC封装形式,这种形式是具有44个“J”形脚(其中有4个空脚)的方形芯片,使用时需要插入与其相配的方形插座中;图1-3c为TQFP封装形式,这种形式也具有44个“J”形脚(其中有3个空脚,2个接地端),但其体积更小、更薄,注意,它是一种不同封装形式的引脚,排列不一致,使用时一定要注意。
图1-3 51单片机的引脚图
a)PDIP40封装的51单片机 b)PLCC44封装的51单片机 c)TQFP44封装的51单片机
为了尽可能缩小体积,减少引脚数,51单片机/S52单片机的不少引脚还具有第二功能(也称为“复用功能”)。
1.电源及时钟引脚
VCC:电源端。
GND:接地端。
XTAL1:接外部晶振的一端。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部时钟时,外部时钟振荡信号直接送入此引脚作为驱动端,即把此信号直接接到内部时钟发生器的输入端,如图1-4所示。
XTAL2:接外部晶振的另一个端。在单片机内部,它是构成片内振荡器的反相放大器的输出端。当采用外部时钟信号时,此引脚应悬空,如图1-5所示。
图1-4 内部振荡器的接法
图1-5 外部振荡器的接法
2.控制引脚
RST:复位输入端。在振荡器运行时,在此引脚上出现两个机器周期以上的高电平将使单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平,也会使单片机复位。在AUXR寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出有效。
:地址锁存允许/编程脉冲信号。在访问外部存储器时,这个输出信号用于锁存低字节地址。在对Flash内存编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把AUXR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被启动。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。
:外部程序存储器的选通信号。它用于读外部程序存储器的选通信号,低电平有效。当AT89系列单片机在执行来自外部程序存储器的指令时,每一个机器周期 被启动2次。在对外部数据存储器的每次存取中, 不出现。
:外部程序存储器访问允许端/编程电源输入端。 接地时,单片机从地址为0000H~FFFFH的外部程序内存中读取代码。 接到VCC,单片机先从内部程序内存中读取代码,然后自动转向外部。在对Flash内存编程时,这条引脚用于接收12V编程电压VPP。
3.I/O口引脚
P0.X~P3.X是51单片机与外界联系的4个8位双向并行I/O端口,引脚分配如下:
P0.0~P0.7:P0口的8位漏极开路的双向I/O口。P0在当作I/O用时可以推动8个LS的TTL负载。如果当 引脚为低电平时(即取用外部程序代码或数据存储器),P0口就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁使其成为A0~A7地址,再配合P2口所送出的A8~A15地址合成一套完整的16位地址总线,而定址到64 KB的外部存储器空间。
P2.0~P2.7:P2口的8位内部接有上拉电阻的准双向I/O口。每一个引脚可以驱动4个LS的TTL负载,将P2口的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在51单片机扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
P1.0~P1.7:P1口的8位内部接有上拉电阻的准双向I/O口。其输出缓冲器可以驱动4个LS TTL负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。
P3.0~P3.7:P3口的8位内部接有上拉电阻的准双向I/O口。其输出缓冲器可以驱动4个TTL负载,同时还具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。