《例说8051:单片机程序设计案例教程》——1-2 8051基本知识

1-2 8051基本知识

“8051”源自Intel公司的MCS-51系列,而目前所使用的8051并不是都采用Intel公司所生产的芯片,而多采用其他厂商所推出的兼容芯片,如Atmel公司的89C51/89S51系列,其价格低廉,质量稳定,开发工具齐全,广为学校或培训机构所欢迎。

在此,先介绍8051的基本结构,包括基本结构、引脚、基本电路及51系列等,其中很多知识最好要“记”在脑中,本书也会提供很多快速记忆的技巧,让读者能在极短的时间里记住40个引脚、基本电路等。

1-2-1 8051的结构

8051单片机发展至今,虽然有许多厂商各自开发不同的兼容芯片,但其基本结构并没有多大的变动,标准的8051结构图如图1-3所示。现说明如下:

上述结构中,最好能把加波浪线的知识“记忆”下来。

1 8位指的是微处理器内部数据总线、寄存器的宽度是8位。比如计算机(PC)所用的CPU:第一代PC的CPU 8088/8086到第二代PC的CPU 80286都是16位CPU,而从80386到Pentium 4都是32位的CPU。尽管如此,目前所采用的单片机仍是以8位为主,只有在特殊场合才会采用16位的单片机,如8096等。

2 通常存储器的操作是以字节(B)为单位,“可位寻址”是访问存储器、寄存器或输入/输出端口时,可指定其中的一个位,例如要指定P0输入/输出口中的bit 1,则指定为P0.1即可,如图1-4所示。

1-2-2 89C51/89S51的封装与引脚

89C51的封装方式有3种,除了这3种外,89S51的封装方式还有PDIP42封装,说明如下。

QFP封装

89C51/89S51的PQFP或TQFP(Thin Plastic Gull Wing Quad Flatpack)封装为扁平的44个引脚表面贴片式封装,这种封装的体积很小,成本较低,是目前主流的商用芯片;但不适合学校或培训机构使用。如图1-5所示,在俯视图中,左上方有个圆形记号“○”的是第1脚,然后按逆时针排序,分别为2~44脚,其中包括3个空脚,而相邻两个引脚的间距为0.8mm,芯片厚度为1.2mm。

PLCC封装

PLCC(Plastic J-Leaded Chip Carrier)封装也是89C51/89S51常用的封装方式,这也是一个44个表面贴片式引脚(SMT)的封装,其中包括4个空引脚,其引脚编号与QFP封装非常类似(兼容),如图1-6所示,在俯视图里,上面中间有个圆形记号“○”的是第1脚,然后按逆时针排列,分别为2~44脚,相邻两引脚的间距为0.05英寸(即1.270mm),芯片高度(含引脚)为4.572mm。

一般来说,采用这种面贴片式封装的部件可直接贴装于电路板上,而不必钻孔(其引脚如图1-7所示)。在研发、实验或教学时,可利用插座,以缩短开发与生产的时间。

直插式封装PDIP42

89S51的直插式封装有两种,第一种是42个引脚双列直插式的封装(Plastic Dual Inline Package),简称PDIP42。第二种是40个引脚双列直插式封装,与89C51、MCS51兼容,稍后说明。如图1-8所示,在双列直插式封装里,俯视图左上方有个三角形记号“△”是第1脚,然后按逆时针排列,分别为2~42脚。相邻两引脚的间距为1.588mm,长度为36.96mm,而两排引脚的间距为13.97mm,芯片厚度为4.826mm(不含引脚),与一般的面包板或IC插座不符。

直插式封装PDIP40

89C51/89S51的第二种直插式封装为40个引脚双列直插式的PDIP40,这种封装与MCS-51完全兼容。PDIP40与PDIP42除引脚数量不同外,尺寸差异也很大,PDIP40刚好可插在面板或40个引脚的插座上,如图1-9所示,俯视图左上方有个三角形记号“△”是第1脚,然后按逆时针排列,分别为2~40脚。相邻两引脚的间距为0.1英寸(即2.540mm),长度为52.578mm,而两排引脚的间距为0.6英寸(即15.875mm),芯片厚度为4.826mm(不含引脚),特别适合学校、培训机构使用。不过,由于直插式封装体积较大,电路板制作成本较高,已很少用作商用芯片。

本书将以采用PDIP40封装的89S51为探讨对象,当然,要学习8051,笔者强烈建议先将其引脚“背”下来,而要背40个引脚却有点伤脑筋,所以在此提供一些技巧,让大家轻松记住这40个引脚。

电源引脚

几乎所有IC都需要接电源,而8051的电源引脚与大部分数字IC的电源引脚类似,右上角接VCC,左下角接GND。所以8051的40脚为VCC引脚,连接5V10%的电源;20脚为GND引脚,必须接地。

输入/输出口

有了电源之后,再来看看8051的主要部分,也就是输入/输出口。紧接于刚才介绍的VCC引脚下的是第39脚,为Port 0的开始引脚,即39脚到32脚等8个引脚为Port 0;Port 0的对面就是Port 1,也就是第1脚到第8脚。Port 1从第1脚开始,所以Port 2从其斜对角第21脚开始,也就是在右下方,21脚到28脚就是Port 2。同样地,Port 2的斜对面就是Prot 3,第10脚到第17脚就是Port 3。39、1、21、10就是这四个Port的开始引脚,我们可通过图1-10来记住这4个输入/输出口。

复位引脚

几乎所有微处理器都需要复位(Reset)的操作,对于8051而言,只要复位引脚接高电平超过2个机器周期(约2ms),即可产生复位的动作。而8051的复位引脚在Port 1与Port 3之间,即第9脚,辅助记忆的方法是“系统久久不动,就要按一下Reset按钮,以复位系统”,这久久就是第9脚的谐音。

时钟引脚

微处理器都需要时钟脉冲,而在接地引脚的上方两个引脚,即19、18脚,就是时钟脉冲引脚,分别是XTAL1、XTAL2。

存储器引脚

8051内部有存储器,外部也可接存储器,至于使用内部存储器还是外部存储器,则必须视31脚(Port 0下面那个引脚)而定。31脚就是引脚,即外部存储器访问使能(External Access Enable)引脚。当=1时,系统使用内部存储器;当=0时,系统使用外部存储器。对于简单的程序,大多只使用内部存储器,所以就把31脚直接接到VCC。若使用无内部存储器的8031/8032,则31脚接到GND。

外部存储器控制引脚

现在只剩下引脚下面的两个引脚,而这两个引脚与引脚有点类似,都是针对存储器的控制,说明如下:

● 30脚为地址锁存允许信号ALE(Address Latch Enable),其功能是在访问外部存储器时,送出一个将原本在Port 0的地址信号(A0~A7)锁存到外部锁存IC(如74373),让Port 0空出来,以便传输数据。

● 29脚为程序存储器使能(Program Store ENable),其功能也是访问外部存储器。通常此引脚连接到外部程序存储器(ROM)的引脚,当8051要读取外部存储器的数据时,此引脚就会输出一个低电平信号。

相对于前面的38个引脚,29、30脚比较难以理解,所幸的是,只要不动用到外部存储器,就可当它们不存在!具体将留到外部存储器的章节再作说明。

根据上述要诀可以很轻松地记住这些引脚。

或许有人会质疑,“有这么简单吗?”当然没这么容易!8051的40个引脚里,其中有很多是多任务引脚,简单讲就是多用途的引脚,以39~32脚为例,平时为Port 0;若是连接外部存储器时,则当成AD0~AD7引脚,而AD0~AD7就是地址引脚与数据引脚复用的多任务引脚,好像有点复杂,但如果不接外部存储器时,就可当它不存在。

1-2-3 8051的基本电路

所谓“基本电路”是指若要8051电路工作不可缺少的基本连接线路,所以,这是必要的!当然,在此我们也有熟记基本电路的方法,基本电路包括四部分,说明如下。

先接电源

电路都需要电源,8051电路也是如此。首先将40脚接VCC,也就是+5V、20脚接地GND,如图1-11所示。

再接时钟脉冲

8051内部已具备振荡电路,只要将GND引脚上方的两个引脚(即19、18脚)连接简单的石英振荡晶体(Crystal)即可。至于8051的时钟脉冲频率,目前的MCS-51芯片的工作频率已大为提升,例如Atmel公司的89C51的工作频率为0~24MHz,而华邦电子(Winbond)更提供了40MHz的版本,未来必然还会有更高频率的版本。尽管如此,目前还是采用12MHz时钟脉冲。如果懒得再设计一个振荡电路,则可按图1-11连接即可。如果非得自行设计一个振荡电路不可,则可按图1-12连接。

复位电路

8051的复位引脚(Reset)是第9脚,当此引脚连接高电平超过2个机器周期(1个机器周期包含12个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1/12s,2个机器周期为2s,因此,我们可在第9脚上连接一个可让该引脚上产生一个2s以上的高电平脉冲,即可产生复位的动作,如图1-13(a)所示。

电源接上瞬间,电容C上没有电荷,相当于短路,所以第9脚直接连接到VCC,即8051执行复位动作。随着时间的增加,电容上的电压逐渐增加,而第9脚上的电压逐渐下降,当第9脚上的电压降至低电平时,8051即恢复正常状态,称为“Power On Reset”(加电复位)。在此使用10k电阻、10F电容,其时间常数为1ms,所以第9脚上的电压可保持2s以上的高电平,足以使系统复位。而约1ms(一个时间常数)的时间系统是处于复位状态。

通常,我们还会在电容两端并接一个按钮开关,如图1-13(b)所示,此按钮开关就是一个手动的Reset(复位)开关。

存储器设置电路

基本电路的最后一个部分是存储器的设置,如果把31脚()接地,则使用外部存储器;如果把31脚()接VCC,则使用内部存储器。在本书里大多采用内部存储器,所以把31脚与40脚及VCC相连接。整个基本电路如图1-14所示。

其中的元件如表1-1所示。

1-2-4 MCS-51系列

一般来说,MCS-51系列(Micro Controller System,MCS)可分为51与52两大类,52类是51类的增强型,其最大的特色就是内部存储器加倍,增加了一个定时器/计数器,但价格更加昂贵。

若按芯片内的ROM来区分,可分为无ROM型(8031/8032)、Mask ROM型(8051/8052)、EPROM型(8751/8752),及EEPROM型(89C51/89C52、89S51/89S52),如表1-2所示。

表1-2 MCS-51系列芯片的分类

以下简要介绍这几种8051。

无ROM型

8031/8032为无ROM型单片机,如图1-15左图所示。使用这种单片机必须外接程序存储器。由于其封装成本与含ROM型的单片机很接近,且必须外接程序存储器,反而使电路成本大增;目前除了程序太大,无法完全存入单片机外,已很少人采用此类单片机。

Mask ROM型

8051/8052为Mask ROM型单片机,如图1-15右图所示。这种单片机直接将程序放入芯片中的程序存储器,所以不必“烧录”程序(也不能烧录),价格低廉。但由于这种芯片必须要制作其独有的掩膜(Mask),必须大批量生产。例如键盘里所用的单片机(8048,是8051的前一代)就是Mask ROM型单片机。

EPROM型

8751/8752为EPROM型单片机,如图1-16左图所示。这种单片机是可将程序烧录到芯片中的程序存储器,也可以紫外线擦除程序存储器里的数据,所以可重复使用不同的程序。IC上面有一个窗口,可看到内部的芯片与连接线,通常在烧录完毕后,在窗口上贴黑色胶布,以防止数据消失。如果要擦除ROM里的数据,则使用紫外线照射窗口,15~30min即可。由于这种封装成本较高,再加上其擦除动作麻烦且费时,目前几乎不再生产这种芯片了。

EEPROM型

89C51/89C52、89S51/89S52为EEPROM型单片机,如图1-16右图所示。这种单片机可以将程序“下载”到芯片中的程序存储器,只要施以5V或12V电压,即可轻松、快速擦除程序存储器里的数据,已成为目前的主流。在厂商的技术数据手册中亦称,这种芯片可重复写入与擦除达1000次。根据经验,如果不是操作上的失误,或者是引脚折断,就算是经常烧写,的确是很难把它烧坏!

1-2-5 关于Atmel的51系列

Atmel半导体公司所提供的89C51系列已成为MCS-51兼容单片机中的主流。在89C51系列中,当然是以停产的89C51最具代表性,取而代之的是更强劲的89S51,这两种单片机的结构比较如表1-3所示。

由上可知,只要89C51/52有的,89S51/52都有。而其中比较特别的是89S51/52新增了一个14位看门狗计数器(Watchdog Timer,WDT)。虽然,89S51/52的工作频率提升为0~33MHz,但实质帮助不大。就像0~24MHz的89C51/52一样,还是会使用12MHz的工作频率,这样就可以直接延用原有的程序设计;另外,设计程序时也比较容易计算,且耗用的资源也比较少。

虽然89C51停产了,但其核心仍存在于89S51及许多89C51的高级版本中,例如:

● AT89C51RC单片机具有32KB程序存储器、512B数据存储器、WDT等,除存储器比较多外,其他都和89S51相同。

● AT89C51CC001、AT89C51CC002、AT89C51CC003等单片机以89C51为核心,并扩展外围设备,除配置更多的存储器外,增加了10位的ADC1、CAN2控制器等,而其重复数据烧录/擦除的次数更可达到10万次。

1 ADC为Analog to Digital Converter的缩写,也就是将模拟信号转换成数字信号的转换器。

2 CAN为Controller Area Network的缩写,这是一种微处理器与CAN总线的接口,而CAN控制器应用BOSCH CAN 2.0B Data Link Layer Protocal通信协议。

时间: 2024-11-03 17:52:21

《例说8051:单片机程序设计案例教程》——1-2 8051基本知识的相关文章

《例说8051:单片机程序设计案例教程》——2-1 认识MCS-51的存储器结构

2-1 认识MCS-51的存储器结构 例说8051:单片机程序设计案例教程除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032还是8x52,其外部扩展的程序存储器或数据存储器最多为64KB,如表2-1所示. 近年来许多半导体厂商所推出的MCS

《例说8051:单片机程序设计案例教程》——2-6 数据传送指令

2-6 数据传送指令 例说8051:单片机程序设计案例教程数据转移指令的功能是将源操作数的数据复制到目的操作数里:或将指定的操作数内容交换.数据转移指令属于8051指令里的最大的一类,包括28条指令,在此将它们分为5大类来介绍. 圓 数据传送指令数据传送指令的功能是将源(source)操作数的数据复制到目的(destination)操作数,如下所示: 其中的源操作数可为存储器(RAM)地址direct的数据.寄存器Rn的内容.以间接寄存器Ri内容为地址(@Ri)的数据.立即数#data.ACC的

《例说8051:单片机程序设计案例教程》——第 1 章 轻松看8051

第 1 章 轻松看8051 例说8051:单片机程序设计案例教程本章内容丰富,主要包括3部分: anniu 8051部分 8051的基本认识,包括结构.引脚.封装.MCS-51系列,以及8051的基本电路等. anniu 开发工具部分 8051软硬件的开发流程,包括源程序的编写.汇编.连接,以及软硬件模拟等. anniu 程序与实作部分 闪烁灯的程序设计及其汇编.连接与软件仿真.

《例说8051:单片机程序设计案例教程》——2-8 实时练习

2-8 实时练习 例说8051:单片机程序设计案例教程在本章里,介绍了8051的存储器结构.输入/输出端口.输出电路的设计等硬件部分:在软件方面,则介绍了指令格式.寻址方式,以及数据转移指令,这些都是学习8051不可或缺的相关知识.在此试着回答下列问题,以验证学习成效. 1.8051内部的程序存储器与数据存储器容量各为多少?而外部扩展的程序存储器与数据存储器最多容量各为多少? 2.在8051电路里,若要使用外部程序存储器,应如何连接?而访问外部数据存储器必须使用哪个指令? 3.8051内部有多少

《例说8051:单片机程序设计案例教程》——2-4 指令格式

2-4 指令格式 例说8051:单片机程序设计案例教程8051源程序的指令格式包括四个字段,最左边字段为标号字段(label),第二个字段是指令操作码字段(mnemonic),第三个字段是操作数字段(operand),第四个字段是注释字段(comment),如下所示: 标号字段的功能是放置标号,作为子程序的起始标志或跳转指令的参考位置.若不放置标号,则标号字段必须为空.而第二个字段就是放置指令操作码,如MOV.ADDC等. 在第三个字段里放置操作数,随着指令的不同,就有不同个数的操作数,某些指令

《例说8051:单片机程序设计案例教程》——导读

前言 例说8051:单片机程序设计案例教程单片机,单片机,还是单片机 从8048开始,"单片机"即成为广受欢迎的代名词,8051更成为电机.电子类专业必修的课程.当然,应用单片机制作电子系统项目,既简单又经济实惠,早已成为学生的最爱.在电路设计方面,需求量较大.电路较复杂的系统可采用为客户专用而设计的IC(即ASIC),如芯片组.控制芯片等,虽然ASIC的单位成本不高,但总体成本很高.开发时间也比较长.需求量不是很大,而电路变化较多的系统则多采用可编程逻辑器件(如CPLD.FPGA).

《例说8051:单片机程序设计案例教程》——1-1 微型计算机与单片机

1-1 微型计算机与单片机 例说8051:单片机程序设计案例教程一般来说,微型计算机包括中央处理单元(CPU).存储器(Memory)及输入/输出单元(I/O)三大部分如图1-1所示.CPU就像是人的大脑一样,主宰整个系统的运行:Memory则是存放系统运行所需的程序及数据,包括只读存储器(Read Only Memory,ROM)及随机存取存储器(Randon Access Memory,RAM),通常ROM用来存储程序或永久性的数据,称为程序存储器,RAM则是用来存储程序执行时的临时数据,称

《例说8051:单片机程序设计案例教程》——1-3 8051的开发流程与工具

1-3 8051的开发流程与工具 8051系统的开发流程与一般单片机的开发流程类似,其基本开发流程可分为软件与硬件两部分,而这两部分是并行开发.在硬件开发方面,主要是设计原型电路板(prototype),也就是目标板(target board).在软件开发方面,则是编写源程序(可使用C语言或汇编语言).再经过编译.汇编成为可执行代码,然后进行排错/仿真.当完成软件设计后,即可应用在线仿真器(In-Circuit Emulator,ICE),下载该可执行代码,然后在目标板上进行在线仿真.若软.硬件

《例说8051:单片机程序设计案例教程》——第 2 章 输出口的应用 2-1 认识MCS-51的存储器结构

第 2 章 输出口的应用 本章内容丰富,主要包括3部分: 2-1 认识MCS-51的存储器结构 除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032还是8x52,其外部扩展的程序存储器或数据存储器最多为64KB,如表2-1所示. 近年来许多半