第二章 MCS-51单片机
组成与工作原理
§ 2-1 MCS-51单片机结构及组成
§ 2-2 MCS-51单片机存储器组织
§ 2-1 MCS-51单片机结构及组成
一, 系统资源及主要性能特点
1,系统资源
MCS-51单片机是 Intel公司 1980推出的高档 8位单片机, 采
用 40脚双列直插封装或 44脚方形封装, 51,52系列功能兼容 。
8031内包括,
1个 8位 CPU;
128个字节 RAM;
21个特殊功能寄存器;
4个 8位并行 I/O口;
1个全双工串行口 ( 二根线 ) ;
2个 16位定时计数器器;
1个片内振荡器和时钟电路;
5个中断源 2个中断优先级;
8051/8751:带有 4KB ROM/EPROM
52子系列 的 RAM/ROM容量为,256B/8KB
2,性能特点
单片机为哈佛结构的计算机, 除上述基本资源外, 还具
有如下特点,
外部程序存储器:可扩展到 64KB;
外部数据存储器:可扩展到 64KB;
堆 栈:最深 128B/256B;
输入 / 输出口线,32根;
寄 存 器 区:划出 RAM中 32B作为通用寄存器;
具有位寻址功能;
单一, +5V”电源;
系统时钟 1~12 MHz,常用 12MHz,11.0592MHz 和 6MHz。
二, MCS-51单片机基本结构
1,内部结构框图
结构简图如图 2-1所示
包括,CPU,存储器 ( ROM,RAM), I/O接口 等计算机
的基本组成 。
2,外部引脚
共 40个引脚,大致可分为四类,其逻辑符号如图 2-2所示。
1)电源引脚 VCC和 VSS
VCC,40脚,电源端,+5V
VSS,20脚,接地端( GND)
2)时钟电路引脚
XTAL1,19脚,外接晶振输入引脚。
XTAL2,18脚,外接晶振输出引脚。
3)控制线引脚
共 4根,其中 3根为双功能
① RST/VPD, 9脚,复位 /备用电源。
RST---通过外接复位电路实现上电复位或按键复位。
VPD---可外接备用电源,在 VCC掉电时向 RAM供电。
② /VPP, 31脚,内外 ROM的选择 / EPROM编程电源。
=0:访问外部 ROM;
=1:访问内部 ROM;
PC值超过 0FFFH( 4KB)时,自动转向外 ROM。
VPP ---在 8751片内 EPROM编程期间,为 21V编程电源输入端。
③ ALE/, 30脚,地址锁存允许 /编程脉冲。
ALE---访问外 ROM或 RAM时,用来驱动地址锁存器锁存 P0口
分时送出的低 8位地址(下降沿有效)。
不访问外存储器时,该端以 1/6时钟频率输出正脉冲,
可用作为外部时钟。带 8个 LS型 TTL门电路。
--- 8751片内 EPROM编程期间,此引脚输入编程脉冲。
④, 29脚, 读外部 ROM选通信号, 即该脚有效时 ( 上升
沿 ), 外 ROM允许输出 。 每个机器周期 2次有效 。 从内部
ROM取指时不产生 。 可带 8个 LS型 TTL门电路 。
EA
EA
EA
PROG
PROG
PSEN
4) I/O引脚
P0口,P0.0~P0.7,39~32脚,外接存储器时作地址 /数据分时
使用口线;不接外部存储器时,可用作为 8位准双向
I/O口。
P1口,P1.0~P1.7,1~8脚,8位准双向 I/O口。
P2口,P2.0~P2.7,21~28脚,8位准双向 I/O口。外接存储器时
作为高 8位地址总线。
P3口,P3.0~P3.7,10~17脚,8位准双向 I/O口,出于芯片引脚
数的限制,P3口具有第二输出、输入功能。
三, 微处理器 ( CPU)
( 一 ) 运算器
组成,ALU,TMP1,TMP2,A,B,PSW,DA A和布尔处
理机等 。
DA A,BCD码十进制修正, 由专用电路实现 。
布尔处理机,进位位 CY,被称作“位累加器”,可

任何可寻址的位与 CY间进行逻辑运算操作。
与通用 CPU相比,增加了暂存寄存器和 B寄存器
(二)控制器
组成,PC,SP,DPTR,IR,ID,PLA等
1,时钟电路
( 1) 振荡源 ( oscillation)
MCS-51的 HMOS芯片内部时钟电路的振荡源有两
种方式提供, 即 内部自激振荡方式, 外部振荡脉冲源
方式 。
( 1) 振荡源 ( oscillation)
内部方式 在 XTAL1,XTAL2跨接 定时元件 和 两个电
容 就构成了自激振荡器 。 如图 2-3.1所示 。
C1,C2取 5~30PF,起微调和稳定作用 。
晶振频率,fosc=1.2~12MHZ
常用频率为 6,12,11.0592 MHz。
外部方式 外部振荡脉冲信号直接由 XTAL2端输入,
此时, XTAL1应接地, 而片内振荡电路不
起作用, 如图 2-3.2所示 。
常用于多块 8051同时工作, 以便同步, 要
求信号频率低于 12MHz。
( 2) 时序
振荡脉冲并不直接使用,由 XTAL2端送往内部 时钟电路,
经过 2分频, 向 CPU提供 2相时钟信号 P1和 P2;
再经 3分频,产生 ALE时序;
经过 12分频,成为机器周期信号,如图 2-3.3所示。
需要指出的是,CPU的运算操作在 P1期间,数据传送在 P2期间。
时钟周期,振荡器输出的 时钟脉冲频率的倒数 。 为单
片机中最小, 最基本的时间单位 。
状态周期,振荡信号经 2分频后获得的信号周期, 称 S,
显然, S为时钟周期的 2倍 。
机器周期,12个时钟周期为一个机器周期, 对应计算
机执行一个基本操作所需的时间 。
指令周期,执行一条指令所需的时间, 至少包含一个
机器周期 。
指令字节,指令占用存储空间的字节数, 有单字节,
双字节, 三字节三类 。
当时钟频率为 12MHz和 6MHz时, 时钟周期分别为
1/12us和 1/6us, 机器周期分别为 1us和 2us。
ALE时序,地址锁存信号,每个机器周期 2次有效,分别在 S1,
S4状态。每次出现,CPU进行一次取指操作。
2、复位电路
MCS-51单片机的复位信号, 高电平有效 。 电路结构如图 2-4,
RST/VPD引脚至少保持 2个机器周期的高电平, 才能复位 。
( 1) 复位工作状态
复位时, 各 SFR寄存器的状态为,
( PC) =0000H;
( SP) =07H;
( P0~ P3) =FFH;
其余 SFR寄存器内容均为 0;
RAM的内容保持不变;
外部引脚, ALE=0,=1。 PSEN
( 2) 复位电路
复位方式有 上电自动复位, 按键手动复位两种 。
如图 2-4所示 。 在按键手动电平复位电路中, 具有上
电和按键双重功能 。
3,指针
程序计数器 PC
16位计数器, 指向程序存储器中被执行的指令所在
的地址 。 本身没有地址, 在物理上独立 。
寻址范围 0000~ FFFFH的 64KB空间 。
数据指针 DPTR
16位地址指针, 可寻址范围 0000~ FFFFH 的 64KB空
间, 可指向程序, 数据存储器 。
堆栈指针 SP
8位地址寄存器, SP用来管理堆栈 。 它指向内部
RAM的一个存储单元, 且总是指向栈顶单元 。
MCS-51的堆栈是内部 RAM中的一个部分, 符合
,先进后出, 后进先出, 原则 。
四, 存储器
MCS-51的程序存储器与数据存储器是分开的, 地址空
间重迭, 最大可扩展到 64KB。
1,程序存储器 ROM
( 1) 8031内部无程序存储器
由于 8031无片内程序存储器, 需外接, 因此, 端必须
外接低电平, 如图 2-6所示 。
( 2) 8051,8751内部有 4KB ROM/EPROM
=0,使用外部程序存储器;
=1,使用内部程序存储器 4KB空间, 当 PC的值超过 4KB
范围时, 自动转向外部程序存储器 。
2,数据存储器 RAM
( 1) 内部 RAM中低 128B,00~ 7FH;
( 2) 外部 RAM,可扩至 64KB,0000~FFFFH
EA
EA
EA
五, 并行输入 /输出口
MCS-51单片机有 4个 8位并行 I/O口, P0~ P3,共 32根口线 。
每个端口都包括,锁存器 ( 即 SFR,P0-P3), 输出驱动器,
两个三态缓冲器 以及 控制电路 。 结构如下图所示 。
1,P1口 ( 90H)
特点,
( 1) 准双向口:作为 I/O输入时, 口锁存器必须置, 1”,使 T截
止, 输入信号通过, 读引脚, 三态缓冲器进入内部总线 。
( 2) 内部有上拉电阻 ( 20KΩ~ 40KΩ) ;
( 3) CPU读 P1口的二种情况,
① 读 P1口的锁存器状态值:, 读 ─改 ─写, 指令 。
例 ANL P1,#0FH;
② 读 P1口的引脚 ( 外部输入 ) 。 例 MOV A,P1;
2,P3口 ( B0H)
特点,
( 1) 准双向口:条件为第二功能输出端常, 1”,与门开锁;
( 2) 第二功能口:作为第二功能口使用时, ( P3) =FFH;某
位作为第二功能输入时, 第二功能输出也必须置, 1”。
第二功能输出,
P3.0— TXD,串行输出口;
P3.6—, 外部数据存储器写选通信号
P3.7—, 外部数据存储器读选通信号
第二功能输入,
P3.1— RXD,串行输入口;
P3.2—, 外部中断输入 0 ;
P3.3—, 外部中断输入 1;
P3.4— T0,外部计数输入 0
P3.5— T1,外部计数输入 1;
3,P2口 ( A0H)
特点,
( 1) 控制端高电平时, 作为高 8位地址输出口 。
( 2) 控制端低电平时, 最小系统 ( 8051,8751) 作准双向口 。
WR
RD
0INT
1INT
P2口结构
4,P0口 ( 80H)
特点,
( 1) 控制端高电平时, 作为低 8位地址和 8位数据分时使用
口, 供扩展时使用 。
( 2) 控制端低电平时, T1截止, 使 T2漏极开路, 输出, 1”
时须外接上拉电阻, 最小系统 ( 8051,8751) 作准双向 。
P0口结构
注意,
P0口作地址 /数据总线 输出时, 通过反相器, 与门工作 。
P0口作外部数据输入 时, CPU使 T1,T2均截止, 引脚浮空,
第三态, 数据经, 读引脚, 输入缓冲器进入内部

线 ----是真正的双向口 。
端口小结,
( 1)系统总线,
地址总线( 16位 ), P0(地址低 8位),P2口(地址高 8位)
数据总线( 8位 ), P0口(地址 /数据分时使用);
控制总线( 6根 ), P3口的第二功能、和 9,29,30,31脚;
( 2)供用户使用的端口,P1口、部分未作第二功能的 P3口;
( 3) P0口作地址 /数据时, 是真正的双向口, 三态, 负载能力
为 8个 LSTTL电路; P1~ P3是准双向口, 负载能力
为 4个 LSTTL电路 。
( 4) P0~ P3在用作输入之前必须先写, 1”,即,
( P0) =FFH ~( P3) =FFH 。
六, MCS-51单片机最小应用系统结构
1,8751/8051最小应用系统
外接时钟电路和复位电路, 即构成应用系统, 如图 2-6.1。
特点,
1) 不扩展外 ROM,外 RAM,接高电平, P0~P3口都可用
作 I/O口;
2) 128BRAM,4KBROM,容量有限;
3) 开发时, 应用时 P0,P2口的环境差异较大;
4) 8051系统应用软件需厂家置入, 一般用作为大批量产品 。
2,8031最小应用系统
外接时钟电路和复位电路, 需外扩一片程序存储器, 一
般为 EPROM,构成应用系统, 如图 2-6.2。
特点,
1) P0,P2口只能作总线用, 剩下 P1,P3口作 I/O口 。
2) 接地, ALE,作为地址锁存和读 ROM信号 。
EA
EA PSEN
§ 2-2 MCS-51单片机存储器组织
MCS-51存储器可分为五类,程序存储器, 内部数据存
储器, 特殊功能存储器, 位寻址区, 外部扩展的数据存储器和
扩展 I/O口 。 如图 2-7所示 。
一, 程序存储器
1,程序存储器作用及寻址范围
作 用:存放指令 ( 程序 ) 的存储器, 用 PC作地址指针 。
寻址范围,0000~ FFFFH,共 64KB;片内, 片外统一编址 。
片内,PC=0000~ 0FFFH;
片外,PC=1000~ FFFFH;
2,ROM低端的几个特殊入口地址
0000H,CPU开始执行指令时的第一个取指单元, 每次执行时
PC的内容总是 0000H;
0003H~002B:中断专用固定入口地址 ( 系统规定 ) ;
一般:我们总是从 ROM的 0030H单元 开始存放用户指令 。
二, 内部数据存储器
字节地址,00~ 7FH;有 128个 8位单元字节 。
按功能划分为三个部分,
1,工作寄存器区,00~ 1FH
( 1) 共分 4个区, 00~ 07,08~ 0F,10~ 17,18~ 1F;
( 2) 每区有 8个工作寄存器,R0~ R7;
( 3) 当前工作寄存器区:由 PSW中的第三, 第四位选择, 具
有快速保护现场数据的作用, 也可作为一般的数据缓冲器 。
PSW4( RS1) PSW3( RS0) 当前区 字节地址 工作寄存器
0 0 0 区 00~ 07H ( R0~R7)
0 1 1 区 08~ 0FH ( R0~R7)
1 0 2 区 10~ 17H ( R0~R7)
1 1 3 区 18~ 1FH ( R0~R7)
2,位寻址区,20H~ 2FH
共 16个字节, 16× 8=128个位, 位地址,00~ 7FH。
51系列整个位地址空间为,00~ FFH,共 211位 。
1) 00~ 7FH为片内 RAM中 20~ 2FH的 16个字节单元
中的 128个位 。
2) 80~ FFH中 11个 SFR的可寻址位, 83位 。 它们是,
A,B,PSW,P0~ P3,TCON,SCON,IE,IP
52系列的 SFR可寻址为 93位, 共 221位 。
3,数据缓冲区,30H~ 7FH
( 1) 作为通用的按字节操作的数据缓冲区 。
( 2) 常开辟为堆栈区 。
堆栈主要为子程序和中断操作而设立, 是一种数据结构,
它只允许在其一端进行数据的插入和删除操作, 又称为入栈和
出栈, MCS-51的堆栈是向上生长型的 。
堆栈的特点,
① 是一个符合, 先进后出, 后进先出, 的 RAM区域
② SP总是指向堆栈的顶部 ( 保存有数据 ) ;
③ 堆栈可以设在内部 RAM中的任意区域, 一般开辟
在 30~ 7FH中 。
堆栈的功能,
① 保护断点 ----保护从主程序转向子程序, 中断时的
断点, 发生转移时自动完成 。
② 保护现场 ----对子程序, 中断程序中要用到的, 现
场的某些寄存器的内容进行保护, 以保证返回
时确恢复 。 软件指令方式实现 。
③ 数据的临时存放 。
三, 特殊功能寄存器区,80~ FFH
即 SFR,包括 I/O锁存器, 定时器, 串行口, 中断, 状态,
控制寄存器等共 21个 。
离散地分布在 80~ FFH中 ( 不包括 PC) 。
如下所示,
算术运算寄存器,A,B,PSW
指针寄存器,SP,DPTR( DPH,DPL)
并行口,P0,P1,P2,P3
串行口,SCON,SBUF,PCON
中断系统,IP,IE
定时 /计数器,TMOD,TCON,TH0,TL0,TH1,TL1
特别需要指出的是,51系列内部 RAM,80~FFH中未定义
的单位为不可访问单元。
四, 外部扩展数据存储器和扩展 I/O口
外部扩展数据存储器,最大可扩展到 64KB,由
P3口的第二功能, 控制其读, 写, 并通过 MOVX指
令访问 。
扩展 I/O口, MCS-51单片机将其看作外 RAM的
一个单元, 与外 RAM统一编址, 提供 16位寻址能力,
寻址范围也是 64K,但需要注意的是, 为区别于外
RAM地址, 扩展 I/O口一般用高端地址 。
本章小结
1,单片机结构框图, 硬件资源, 引脚功能
2,CPU,存储器配置, P0~ P3口
2,内部数据存储器, 特殊功能存储器, 位
地址空间, 程序存储器, 数据存储器和
外部扩展I/O端口
重点:引脚功能, 存储器空间结构
难点:存储器地址和存储器的内容难以区
别,字节地址和位地址难以理解