MCS51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。
mcs51单片机组成
运算器
运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示:
对用户来讲,最关心的是以下四位。
(1)进位标志CY(PSW.7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0[1] 。
(2)辅助进位标志AC(PSW.6)。又称半进位标志,它指两个八位数运算低四位是否有半进位,即低四位相加(或减)是否进位(或借位),如有AC为1,否则为0。
(3)溢出标志位OV(PSW.2)。反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
(4)奇偶标志P(PSW.0)。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
由于PSW存放程序执行中的状态,故又叫程序状态字。运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。
控制器
控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),PC才转到所需要的地方去。8051 CPU指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。
学习单片机的内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:
计算机的五个组成部份:
运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;
控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;
存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)
输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);
输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。
注:1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。
2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。
51单片机的内部分别的功能作用
下图就是我们要研究学习的对象,51单片机结构图了。大家看看图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第一节课时我们已跟大家讲述过,8051单片机是总线结构的。下面我们就51单片机内部的单个部件与大家进行讲解。
图片1
中央处理器(CPU):
刚跟大家讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码。CPU是单片机的主要核心部件,在CPU里面包含了运算器、控制器以及若干寄存器等部件给成。
内部数据存储器(RAM):
MCS-51单片机芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。
内部程序存储器(ROM):
在前面也已讲过,MCS-51内部有4KB/8KB字节的ROM(51系列为4KB,51系列为8KB),用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。
定时器/计数器
51系列共有2个16位的定时器/计数器(52系列共有3个16位的定时器/计数器),以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。
并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。
串行口
MCS-51有一个可编程的全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。
中断控制系统
MCS-51单片机的中断功能较强,以满足不同控制应用的需要。51系列有5个中断源(52系列有6个中断源),即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别,优先级别的设置我们也将在后面进行详细的讲解。
定时与控制部件
MCS-51单片机内部有一个高增益的反相放大器,基输入端为XTAL1输出端为XTAL2。MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。