1.1 单片机概述

课件 单片机概述

视频 单片机概述

单片机虽然体积微小,但它具备了一般计算机的特征,在单片机内部同样存在CPU、存储器和各种接口电路等。虽然单片机号称是最小的计算机,但它与普通的微型计算机相比,还是有很多的不同。它的CPU比普通微型计算机的CPU要简单许多且运算能力上相差也很大。但“尺有所短,寸有所长”,相比普通计算机,单片机更加轻巧,功耗更低,在完成专项的控制功能上优势更明显,也更加适用。另外,单片机也不能独立地拿来就用,它的外观仅是一块芯片而已,需要为它搭建合适的环境,才能发挥其特点正常工作。

1.单片机的由来与发展历程

最早的单片机是美国Fairchild公司于1974年推出的F8系列机,1976年Intel公司推出了影响巨大、应用广泛的MCS-51系列单片机,完善了单片机的体系结构,由此开始了一个单片机的时代。

单片机的发展大体经历了这样几个时期:

(1)起步时期(1974—1976年):这个时期生产的单片机制造工艺落后,集成度较低,而且采用双片形式,典型的代表产品有Fairchild公司的F8系列机和Intel公司的3870系列机。

(2)完善时期(1977—1978年):这个阶段已经将各类接口、存储器和CPU等集成到一块芯片上。但性能较低,产品数量和品种较少,典型产品是Intel公司的MCS-48系列机。

(3)成熟时期(1979—1982年):以Intel公司的MCS-51系列机和Motorola公司的MC6801系列机为代表,是8位单片机技术的成熟阶段。MCS-51系列单片机是8位单片机,其体系结构完善,成了事实上的单片机结构标准。

(4)发展时期(1983年以后):随着单片机在各个领域的广泛应用,出现了高速度、大寻址范围、强运算能力的8位、16位、32位通用型单片机。不断扩展满足嵌入式应用对象系统要求的各种外围电路和接口电路,提高智能化控制能力。针对应用对象的不同,各大厂商相继推出了应用于不同领域的专门化、智能化的单片机,如空调、冰箱、电子游戏、汽车控制等的专用单片机。

2.单片机的封装形式

单片机内部的CPU、存储器和各种接口都集成在一片芯片上,从表现形式上看,就是一个芯片而已。使用单片机的场合众多,凡是与自动控制和逻辑运算有关的电子设备中,都有其身影。根据使用场合的不同,单片机的外观形式也千变万化,如图1-1所示。这种不同的外观形式,主要是呈现出来的引脚数量、外观形状、大小的不同,即不同的封装形式。单片机常见的封装形式主要有:DIP(直插封装)形式、PLCC(贴片,引脚向内折起)形式、TQFP(贴片,引脚向外侧伸展)形式等,此外,还有很多其他封装形式,这里不一一列举。

图1-1 常见的单片机封装形式

其中,DIP形式封装的单片机是日常学习当中最常见到的形式。一般的实验板、开发板上应用的多是这种DIP形式封装的单片机。下面来认识一下DIP封装的单片机。首先在外壳的正中央印有字(型号)的一面是单片机的正面,在单片机外壳的正面的一侧边缘上有一个半月形的凹陷,同时还有一个圆形的小坑在旁边。将半月形凹陷向上,此时离圆形小坑最近的左边的引脚为芯片的1号引脚(或者把单片机印有型号的一面朝上并使文字正立,1号引脚就是左手边下侧一排最左边的第一个引脚),然后按逆时针顺序依次为2、3、4……40号引脚。这样数的引脚号与电路图上所标的引脚号是一一对应的。对于其他封装的器件,方法与此类似,可以参考实际的器件使用手册来找到引脚的排列顺序。

3.51单片机

单片机优秀的特点使其非常适合于各种控制设备,自出现以后,就得到了非常广泛的应用。世界上有许多厂家生产各种不同用途、型号的单片机,在众多的单片机中又以51单片机最为风靡,使用最为广泛。

何为51单片机呢?所谓的51单片机是对所有兼容Intel 8031指令系统的单片机的统称。尽管这类单片机型号繁多,但根据它们的构架及指令系统,都可以归为MCS-51。这一系列的单片机始祖是Intel的8004单片机。随着Flash ROM技术的发展,8004单片机取得了长足的进展,成为应用最为广泛的8位单片机之一。

在众多的单片机厂家中,Atmel是非常有名的公司,其生产的AT89系列单片机,广泛应用于工业测控系统之中,是51单片机中最为优秀的代表之一,因此也被国内外很多教材选择为教学范例。我国生产的STC89系列、STC12系列、STC15系列,也都属于51芯片,其性能优越,在生产和教学当中应用广泛。我们日常使用的学习板、开发板等标配都是STC单片机。表1-1列出了世界上主要的51单片机厂商及其产品。供大家在今后的学习工作中选择使用。

表1-1 世界上主要的51单片机厂商及其产品

表1-1中列举了部分厂商的部分产品,实际上生产51系列单片机的企业还有很多,产品种类也很多,不可能一一列出来。但由于这些企业生产的都是51内核的单片机,所以只要学会了一种51单片机的操作,这些单片机就都可以拿来使用,它们的操作具有共通性。

4.单片机的命名规则

Atmel公司是第一家将Flash EEPROM存储器用于51单片机的生产商,其典型产品有AT89C51、AT89C52,与之对应的低功耗产品为AT89LV51和AT89LV52。下面就以Atmel公司产品AT89C51-12PI为例,简单说明一下单片机的命名规则

AT:前缀,表示芯片的生产厂商是Atmel公司。

8:表示该芯片为8051内核芯片,即这是一个51单片机。

9:表示内部含有Flash EEPROM存储器。

C:表示该芯片为CMOS产品。LV、LE表示该芯片为低电压产品,S表示该芯片具有可以串行下载功能的Flash存储器,即具有ISP在线编程功能。

5:固定不变。

1:表示该芯片内部存储空间的大小。1为4KB,2为8KB,3为12KB,即该数字×4KB。

“-”以后的部分为后缀,这部分用来标明该芯片的晶振频率、产品级别(商用、工业、军用等)、封装形式等。

12:表示该芯片的晶振频率是12MHz,如果为16就表示16MHz等。

P:表示该芯片的封装形式为塑料双列直插DIP封装。D表示陶瓷封装、Q表示PQFP封装、J表示PLCC封装、A表示TQFP封装、W表示裸芯片、S表示SOIC封装。

I:表示该芯片工作的温度范围,或者说是产品级别。C表示商用产品(温度范围为0~70℃),I表示工业用产品(温度范围为-40~+85℃),A表示汽车用产品(温度范围为-40~+125℃),M表示军用产品(温度范围为-55~+150℃)。

通过观察上面的单片机型号AT89C51-12PI,就可以知道该单片机是Atmel公司生产的带有Flash EEPROM的51单片机,采用CMOS技术,晶振为12MHz,封装形式为塑封双列直插式,按工业用品标准工艺生产。

不同的厂家对自己产品命名的方法稍有不同。具体的产品命名规则要参看厂家提供的文档说明材料。

5.单片机的引脚及功能

较为常见的是40引脚DIP形式封装的51单片机,也有20、28、32、44等不同引脚数的51单片机。本书以较为常见的40引脚DIP封装的单片机AT89C51为例介绍单片机的引脚与功能。

AT89C51的引脚按功能大致可分为4类:电源、时钟、控制和I/O引脚。其引脚分布情况如图1-2所示。

图1-2 AT89C51单片机的引脚

下面分类说明各引脚的功能:

1)电源引脚

①VCC:芯片电源引脚,接+5V电源。

②GND:芯片接地引脚。

2)时钟引脚

有两个引脚XTAL1、XTAL2,分别为晶体振荡电路的反相输入端和输出端。

3)控制信号引脚

:地址锁存允许/片内EPROM编程脉冲引脚。

ALE:用于指示当前在复用的P0引脚上输出的是地址信号,并使外部锁存器将其锁存为低8位地址。另外,即使单片机不访问外部存储器,ALE引脚仍会周期性地输出正脉冲信号,其频率为振荡频率的1/6,这一频率可以用作系统中其他电路的时钟信号。

:片内有EPROM芯片,在EPROM编程期间,此引脚输入编程脉冲。

:程序存储器允许信号或者作为外部ROM的读选通信号。

③RST:复位信号。复位信号输入功能。当该引脚上出现两个机器周期的高电平,将使单片机复位。

:内外ROM选择/片内EPROM编程电源。

:内外ROM选择端。当为低电平时,此时只能访问外部程序存储器,而不管内部是否具有程序存储器;当此引脚为高电平时,表示访问的是内部程序存储器。对于Intel的8031/8032芯片,由于其内部没有程序存储器,所以其引脚必须为低电平。

VPP:片内有EPROM的芯片,在EPROM编程期间,用于施加21V的编程电源。

4)I/O引脚

51单片机共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。单片机的输入/输出接口具有多种功能,是单片机与外界进行交互实现控制的主要途径。其中一种功能是连接成“三总线”形式,即数据总线DB(使用P0口)、地址总线AB(使用P2口作为地址的高8位,复用P0口作为地址的低8位)和控制总线CB(使用P3口),如图1-3所示。由于现在大部分系统都不采用“三总线”结构,故不详述,感兴趣的读者可以自行查找“三总线”的相关资料。

6.单片机的内部逻辑结构

因为单片机有特定的应用方式,所以它的内部结构和普通计算机相比有很大的差别。单片机内部含有大量的CPU辅助电路和接口电路以及片内存储器,这些特点使得用单片机构建的计算机系统既简单又高效。图1-4是典型的单片机内部结构框图。

51单片机内部由内部总线将CPU、程序存储器(这里为只读存储器ROM)、数据存储器(这里为随机存储器RAM)、定时/计数器、串并行口、中断系统等连接在一起,构成了一个功能齐全的计算机硬件系统。下面逐一介绍各主要部件:

图1-3 单片机引脚“三总线”结构图

图1-4 典型的单片机内部结构框图

1)CPU

CPU是单片机的核心部件,主要由运算器、控制器和寄存器阵列构成。运算器用来完成算术运算和逻辑运算功能。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。控制器是单片机内部的控制核心,主要用来分析和执行指令,并使单片机按一定时序协调工作的部件。控制器主要由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)和定时控制逻辑电路等构成。

2)ROM

ROM可以用来存放程序、常数或表格等。通俗地说,ROM就是程序和数据的存放空间,不同的单片机其内部ROM的大小也不尽相同。8052单片机内部的ROM为8KB,8051单片机内部的ROM为4KB。而8031/8032等单片机则不提供内部ROM,只能通过外部存储器存储程序。通常单片机的ROM一般在4~64KB之间。

3)RAM

RAM用来保存程序运行期间产生的临时数据等,通俗地讲,就是程序运行时的内存空间。单片机中RAM普遍较小,51系列单片机中的RAM只有256B。即使如此,这256B也不能全部使用,只有低128B可以作为内部的随机存储器进行访问,剩余的高128B作为特殊功能寄存器被占用。特殊功能寄存器对应单片机内部各个接口电路的控制、状态和数据寄存器。

4)定时/计数器

定时/计数器可以周期性地产生定时或计数信号,完成精确定时、外部事件计数等功能,还可以为串行接口提供时钟。51系列单片机中提供2个16位的定时/计数器;而52系列单片机内部有3个定时/计数器。

5)并行接口

51系列单片机有4个8位并行接口,分别命名为P0口、P1口、P2口和P3口。除P0口外,其余都是8位准双向口,每次可以并行输入或输出8位二进制信息。也可以按位操作进行输入或输出信息。每个并行I/O接口内部都有1个8位数据锁存器、1个输出驱动器和1个8位输入缓冲器。因此,CPU进行数据输出时可以将数据锁存,进行数据输入时可以得到缓冲。除P1口外,其余3个接口均有第二项功能。

6)串行接口

51系列单片机的串行接口主要用于与远程设备进行全双工的异步串行通信,也可用于同步移位寄存器来扩展I/O接口。典型的51单片机只有1个串行接口,复用P3口的P3.0和P3.1引脚。现在很多单片机也扩展出了多个串行接口,如STC的15系列单片机都具有2~3个串行接口。

7)中断系统

单片机中的中断是指CPU暂停正在执行的原程序转而为中断源服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理上述中断过程所需要的那部分接口电路。51系列单片机的中断系统可以管理5个中断源,这5个中断源又可分为2个优先级,而且利用外部芯片也可将中断系统进行扩充。

8)时钟电路

时钟电路主要产生单片机运行需要的时钟信号。51系列单片机的时钟产生有两种方式:一种是使用片内的时钟振荡方式,需要在两个引脚(XTAL1、XTAL2)上外接石英振荡晶体和电容(一般取10~30pF);另一种是使用外部时钟的方式,直接使用外部时钟输入(XTAL2接入)。