51单片机(一)—— 51单片机简介

一、51单片机标识信息

        通常我们所说的51单片机是指以51内核扩展出的单片机。生产51单片机的厂商很多,51单片机的型号也很多。下表列出了一些51单片机的厂商和型号。

公司

产品

AT(Atmel)

AT89C51,AT89C52,AT8 9C53,AT89C55,AT89LV52,AT89S51,AT89S52,AT89S53等

Philips(飞利浦)

P80C54,P80C58,P87C54,P87C58,P87C524,P87C528等

Winbond(华邦)

W78C54,W78C58,W78E54,W78E58等

Intel(英特尔)

i87C54,i87C58,i87L54,i87L58,i87C51FB,i87C51FC等

Siemens(西门子)

C501-1R,C501-1E,C513A-H,C503-1R,C504-2R等

STC

STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC等

        以上提到的单片机都是51内核扩展出来的单片机,只要学会了51单片机的应用,这些单片机也就基本都能使用了。单片机都是相通的,不管是51单片机还是其它单片机,都是用户编程控制来实现一定的功能。

        接下来的一个系列的文章中以STC89C516RD+单片机为基础进行讲解。下面我们对这个单片机的标识进行解释:

       STC—前缀,表示芯片为STC公司生成的产品。

       8—表示该芯片为8051内核的芯片。

       9—表示内部含FLASH存储器,还有如80C51中的0表示内部含Mask ROM(掩模ROM)存储器;如87C51中7表示内部焊EPROM存储器(紫外线可擦除ROM)。

       C—表示该器件为CMOS产品。还有如89LV52和89LE58中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电);而89S52表示该芯片含有可串行下载功能的FLASH存储器,即具有ISP可在线编程功能。

        5—固定不变。

        16—表示该芯片内部程序存储空间的大小。16为63KB,还有如1为4KB,2为8KB,3为13KB,4为16KB,8为32KB。程序空间大小决定了一个芯片所能装入执行代码的多少。一般来说,程序存储空间越大芯片价格也越高,所以我们在选择芯片时要根据自己需要对单片机型号进行选择。只要程序能装的下,同类芯片的不同型号不会影响其功能。

        RD+—表示单片机内部RAM的代销,RD+表示内部RAM为1280B,还有如RC为512B。

二、 51单片机外部引脚介绍

        51单片机有多种封装,我们这个系列文章对应的单片机是40脚的PDIP封装。该封装的引脚图如下图所示。

    PDIP封装的单片机的实物图如下图所示。

另外,还有20,28,32,44等不同引脚数的51单片机。44脚PQFP/LQFP封装的单片机的引脚图如下图所示。

PQFP/LQFP封装的单片机的实物图如下图所示。

44引脚的单片机还有PLCC封装,引脚图如下图所示。

PLCC封装单片机的实物图如下图所示。

       虽然单片机的封装和引脚定义不同,但是其只是外在形式的不同,内部结构和使用方法是相同的,接下来我们以PDIP封装的单片机为例对单片机的引脚进行讲解。

        VCC(40脚)、VSS(20脚)—单片机的电源引脚,不同型号的单片机需要接入对应的电源电源电压。开发板上配带的单片机的供电电压为5V,低压单片机的电压为3.3V,用户在使用时要查看芯片手册,确保接入正确的电压。

        XTAL1(19脚)、XTAL2(18脚)—外部时钟引脚,XTAL1为内部振荡电路的输入端,XTAL2为内部振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,需要在这两个引脚上外接石英晶体和振荡电容,振荡电容的值一般为10pf~30pf;另一种是外部时钟方式,需要将XTAL1接地,外部时钟信号由XTAL2脚输入。

        RST(9脚)—单片机复位引脚。当输入连续两个机器周期以上为高电平时为有效,用来完成单片机的复位初始化操作,复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码,通俗的讲,就是单片机从头开始执行程序。

       PSEN(29脚)—程序存储器允许输出控制端。在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作,由于现在我们使用的单片机内部已经有足够大的ROM,所以几乎没有人再去扩展外部ROM,因此这个引脚大家只需了解即可。

       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中呢?实际上,我们是通过编程脉冲输入才写进去的,这个脉冲的输入端口就是PROG。现在有很多单片机都已经不需要编程脉冲引脚往内部写程序了,比如我们用的STC单片机,它可以直接通过串口往里面写程序,只需要三条线与计算机相连即可。而且现在的单片机内部都已经带有丰富的RAM,所以也不需要再扩展RAM了,因此ALE/PROG这个引脚的用处也已经不大。

        EA(31脚)— EA接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后自动读取外部ROM。EA接低电平时,单片机直接读取外部ROM。8031单片机内部是没有ROM的,所以在使用8031单片机时,这个引脚是一直接低电平的。8751单片机烧写内部EPROM时,利用此引脚输入21V的烧写电压。因为现在我们用的单片机都有内部ROM,所以一般在设计电路时此引脚始终接高电平。

        I/O口引脚—P0口、P1口、P2口和P3口。

        P0口(32脚~39脚)—双向8位三态I/O口,每个口可独立控制。51单片机P0口内部没有上拉电阻,为高阻状态,所以不能正常地输出高/低电平,因此该组I/O口在使用时务必要外接上拉电阻,一般我们选择接入10k欧的上拉电阻。

        P1口(1脚~8脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确读出外部信号,也就是要使其先有个“准”备过程,所以才称为准双向口。单片机P1.0引脚的第二功能为T2定时器/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。

        P2口(21脚~28脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。

        P3口(10脚~17脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,作为第一功能使用时就当做普通I/O口,与P1口相似,作为第二功能使用时,各引脚的定义如下表所示。值得强调的是,P3口的每一个引脚均可独立定义为第一功能的输入/输出或第二功能。
  

P3口的第二功能定义

标号

引脚

第二功能

说明

P3.0

10

RXD

串行输入口

P3.1

11

TXD

串行输出口

P3.2

12

INT0

外部中断0

P3.3

13

INT1

外部中断1

P3.4

14

T0

定时器/计数器0外部输入端

P3.5

15

T1

定时器/计数器1外部输入端

P3.6

16

WR

外部数据存储器写脉冲

P3.7

17

RD

外部数据存储器读脉冲

 

发布了78 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/bhniunan/article/details/104268443