MCS-51系列单片机的典型芯片有8031、8051、8751、89S51等。除具有不同的ROM外,它们的内部结构及引脚完全相同。这里以8051为例,说明该系列单片机的内部组成及信号引脚,具体分析MCS-51单片机的内部结构和工作原理。
前面已经提到单片机是在一块芯片集成了CPU、RAM、ROM、定时/计数器、多功能I/O接口及串行通信接口等基本功能部件的一个完整的单片微型计算机,如图2-1所示,下面介绍各部分功能的作用。
图2-1 8051单片机的功能结构图
(1)中央处理器(CPU)
中央处理器是单片机的核心,是计算机的控制和指挥中心,它由运算器和控制器等部件组成。
运算器由8位算术运算和逻辑运算的单元(ALU)、8位的暂存器、8位的累加器(ACC)、寄存器(B)和程序状态寄存器(PSW)及布尔处理机组成了整个运算器的逻辑电路。
控制器是CPU的大脑中枢,包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、地址指针(DPTR)、堆栈指针(SP)、振荡器及定时电路等。
(2)内部数据存储器(又称为内部RAM)
8051单片机内部集成了256字节的RAM单元,其中前128个单元作为寄存器供用户使用,用于存放可读/写的数据。后128个单元被专用寄存器占用。因此通常所说的内部存储器就是指前128个单元。
(3)为内部程序存储器(内部ROM)
8051共有4KB字节的ROM,用于存放程序、原始数据或表格,称之为程序存储器。
(4)定时/计数器
8051内部有两个16位可编程的定时/计数器(T0和T1),可实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
(5)并行I/O口
8051共有4个8位的I/O口(P0、P1、P2、P3),可实现数据的并行输入/输出,用于单片机内外信息的交换与控制。
(6)串行口
8051单片机有一个全双工的串行口,可实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用、也可作为同步移位器使用。
(7)中断控制系统
8051单片机的中断功能较强,可满足控制应用的需要。8051共有5个中断源,即外部中断源两个、定时/计数中断两个、串行口中断一个。中断分为高级和低级两个优先级别。
(8)时钟电路
8051芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6MHz和12MHz。
从8051单片机的内部结构可以看出,作为计算机应该具有的基本部件它都包括了,因此,它实际上已经是一个简单的微型计算机系统了。
8051单片机芯片采用40引脚双列直插封装DIP(Double In line Package)方式,还采用方型封装PLCC(Plastic Leaded Chip Carrier)方式。图2-2(a)为PLCC封装引脚排列图,图2-2(b)为DIP封装引脚排列图,图2-2(c)为逻辑符号图。
MCS-51是高性能单片机,因为受到集成电路芯片引脚数目的限制,所以有许多引脚具有双功能。它们的功能简要说明如下:
(1)主电源引脚
V CC :芯片电源端,+5V电源。
V SS :接地端。
图2-2 MCS-51引脚图
(2)时钟振荡电路引脚XTAL1和XTAL2
XTAL1和XTAL2外接晶体引线端。当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。这两个引脚连接的电路称为时钟电路,用来产生单片机正常工作时所需的时钟脉冲信号。
(3)控制总线 :外部程序存储器ROM读选通信号。当需要从外部程序存储器取指令(或数据)时, 有效(低电平)时,可实现对外部ROM单元的读操作。
ALE/PROG:地址锁存控制信号。当系统扩展时,ALE用于将P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振的1/6固定频率输出的正脉冲,因此它可作为外部时钟或外部定时脉冲使用。
;访问程序存储控制信号。当EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当EA信号为高电平时,对ROM的读操作是从内部程序存储器的0~4KB(0000H~0FFFH)开始,并可延至外部程序存储器。
RST/VPD:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。在进行单片机应用系统设计时,这个引脚一定要连接相应的电路,即复位电路。8051单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。
(4)输入/输出引脚(I/O口)
P0口(P0.0~P0.7)是一个8位漏极开路的双向I/O口。第二功能是在访问外部存储器时,它分时作为低8位地址线和8位双向数据线,当P0口作为普通输入口使用时,应先向口锁存器写入“l”。
P1口(P1.0~P1.7)是一个内部带上拉电阻的8位准双向I/O口。当P1口作为普通输入口使用时,应先向口锁存器写入“1”。
P2口(P2.0~P2.7)也是一个内部带上拉电阻的8位准双向I/O口。第二功能是在访问外部存储器时,作为高8位地址线。
P3口(P3.0~P3.7)也是一个内部带上拉电阻的8位准双向I/O口。P3口除了作为一般准双向口使用外,每个引脚还有其第二功能,见表2-1。
表2-1 P3口各位的第二功能
以上分别介绍了8051单片机的第一功能和第二功能引脚。对于MCS-51其他型号的芯片,其引脚的第一功能信号是相同的,所不同的只是引脚的第二功能信号。
对于9、30和31这三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能信号的身份做数据位的输入/输出使用。