图1.2.1至图1.2.6三组图是51单片机芯片不同封装的引脚图和实物图,其中标有NC的是不连接(No Connect)的意思。当大家首次看见这些引脚时,一定会有又多又乱的感觉,而且难以记忆。千万不要着急,对于初学者来说,单纯地记忆引脚标号没有任何意义,最好的方法就是边学边记。
在讲解各个引脚含义之前,我们首先应该学会如何在实物上区分引脚序号,基于8051内核的单片机,若引脚数相同,或是封装相同,它们的引脚功能是相通的,其中用的较多的是40脚DIP封装的51单片机,也有20,28,32,44等不同引脚数的51单片机,这些大家也要了解,不能只见了40脚的芯片才认为它是51单片机。
知识点:区分芯片引脚序号
无论哪种芯片,单片机也好,其他不知名的芯片也好,当我们观察它的表面时,大都会找到一个凹进去的小圆坑,或是用颜色标识的一个小标记(圆点或三角或其他小图形),这个小圆坑或是小标记所对应的引脚就是这个芯片的第1引脚,然后逆时针方向数下去,即1到最后一个引脚。我们现在查看上面三组图中DIP封装的单片机,在左上角有一个小圆坑,并且下面还有一个白色小三角,那它的左边对应的引脚即为此单片机的第1引脚,逆时针数依次为2,3,…,40o对于PQFP/TQFP封装的小圆坑在左下角,对于PLCC/LCC封装的小圆坑在最上面的正中间,在实际焊接或是绘制电路板时,大家务必要注意它们的引脚标号,否则,若焊接错误,那完成的作品是绝对不可能正常工作的,
接下来我们以图1.2.1 PDIP封装引脚图为例介绍单片机各个引脚的功能,40个引脚我们按其功能类别将它们分成三类:
①电源和时钟引脚。如Vcc、GND、XTAL1、XTAL2(需掌握)。
②编程控制引脚。如RST、PSEN、ALE/PROG、EA/VPP(了解即可)。
③I/O口引脚。如P0、Pl、P2、P3,4组8位I/O口(需掌握)。
Vcc(40脚)、GND(20脚)一单片机电源引脚,不同型号单片机接入对应电压电源,常压为+5V,低压为+3.3V,大家在使用时要查看其芯片对应文档。
XTAL1(19脚)、XTAL2(18脚)一外接时钟引脚。XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,需在这两个脚外接石英晶体和振荡电容,振荡电容的值一般取10p〜30p;另一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。
RST(9脚)一单片机的复位引脚。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作,复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码,通俗地讲,就是单片机从头开始执行程序。
PSEN(29脚)一全称是程序存储器允许输出控制端。在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作,由于现在我们使用的单片机内部已经有足够大的ROM,所以几乎没有人再去扩展外部ROM,因此这个引脚大家只需了解即可。
①内部ROM读取时,PSEN不动作。
②外部ROM读取时,在每个机器周期会动作两次。
③外部RAM读取时,两个际丽脉冲被跳过不会输出。
④外接ROM时,与ROM的OE脚相接。
ALE/PROG(30脚)一在单片机扩展外部RAM时,ALE用于控制把P0口的输岀低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器;当ALE是低电平时,P0口上的内容和锁存器输出一致。关于锁存器的内容,我们后面会有详细介绍。在没有访问外部存储器期间,ALE以1/6振荡周期频率输岀(即6分频),当访问外部存储器时,以1/12振荡周期输出(12分频)。从这里可以看到,当系统没有进行扩展时,ALE会以1/6振荡周期的固定频率输岀,因此可以作为外部时钟,或作为外部定时脉冲使用。PROG为编程脉冲的输入端,单片机的内部有程序存储器(ROM),它的作用是用来存放用户需要执行的程序,那么我们怎样才能将写好的程序存入这个ROM中呢?实际上,我们是通过编程脉冲输入才写进去的,这个脉冲的输入端口就是丽C。现在有很多单片机都已经不需要编程脉冲引脚往内部写程序了,比如我们用的STC单片机,它可以直接通过串口往里面写程序,只需要三条线与计算机相连即可。而且现在的单片机内部都已经带有丰富的RAM,所以也不需要再扩展RAM了,因此ALE/丽否这个引脚的用处已经不太大。
EA/VPp(31脚)一京接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后自动读取外部ROMo EA接低电平时,单片机直接读取外部(ROM)。8031单片机内部是没有ROM的,所以在使用8031单片机时,这个引脚是一直接低电平的。8751单片机烧写内部EPROM时,利用此引脚输入21V的烧写电压。因为现在我们用的单片机都有内部ROM,所以在设计电路时此引脚始终接高电平。
I/O口引脚一P0口、P1口、P2口和P3口。
P0口(39脚〜32脚)一双向8位三态I/O口,每个口可独立控制。51单片机P0口内部没有上拉电阻,为高阻状态,所以不能正常地输出高/低电平,因此该组I/O口在使用时务必要外接上拉电阻,一般我们选择接入10KΩ的上拉电阻。
P1口(1脚~8脚)一准双向8位I/O口,每个口可独立控制,内带上拉电阻,这种口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确读出外部信号,也就是要使其先有个“准”备的过程,所以才称为准双向口。对52单片机PLO引脚的第二功能为T2定时器/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
P2口(21脚〜28脚)一准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。
P3口(10脚〜17脚)一准双向8位I/O口,每个口可独立控制,内带上拉电阻。作为第一功能使用时就当做普通I/O口,与P1口相似。作为第二功能使用时,各引脚的定义如表1.2.1所示。值得强调的是,P3口的每一个引脚均可独立定义为第一功能的输入/输出或第二功能。