第 2章 MCS–51单片机的硬件结构
2.1MCS–51单片机内部总体结构 ( 如图 2-1)
2.2 MCS-51单片机的引脚 ( 如图 2-2)
2.3 MCS-51 的微处理器图 2-1 MCS-51单片机内部结构图
C P U
存储器并行
I / O
接口定时器 / 计数器 中断系统
P0 ~ P3 T X D
R X D
T I N T
并行
I / O
接口图 2-2 MCS-51单片机的引脚图、逻辑图
2.3/0 PINT
6.3/ PWR
3.3/1 PIN T
0.1P
1.1P
2.1P
3.1P
4.1P
5.1P
6.1P
7.1P
PD
VR ST /
0.3/ PRXD
1.3/ PT X D
4.3/0 PT
5.3/1 PT
7.3/ PRD
2X T A L
1X TAL
V s s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Vcc
0.0P
1.0P
2.0P
3.0P
4.0P
5.0P
6.0P
7.0P
V ppEA /
P R O GA L E /
PSE N
7.2P
6.2P
5.2P
4.2P
3.2P
2.2P
1.2P
0.2P21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
80 31
80 51
87 51
Vcc
V s s
PD
VR ST /
1XT A L
2X TA L
V ppEA /
PSE N
P R O GA L E /
P 3
口第二功能
P 0

P 1

P 2
口地址数据总线地址总线
8 0 3 1
8 0 5 1
8 7 5 1
MCS-51的微处理器是由运算器和控制器所构成的。
运算器:主要用来对操作数进行算术、逻辑运算和位操作。主要包括算术逻辑运算单元 ALU、累加器 A、寄存器 B、位处理器、
程序状态字寄存器 PSW以及 BCD码修正电路等。
控制器:单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。
2.4 MCS-51存储器的结构
MCS-51单片机存储器采用的是哈佛结构,即程序存储器空间和数据存储寻空间截然分开,程序存储器和数据存储器各有自己的寻址方式、寻址空间和控制系统。这种结构对于单片机,面向控制,的实际应用极为方便、有利。
图 2-3 8051/8751单片机的存储器
2.4.1 程序存储器
MCS-51单片机的程序存储器用于存放应用程序和表格之类的固定常数。可扩充的程序存储器空间最大为 64K字节。程序存储器的使用应注意以下两点:
( 1)整个程序存储器空间可以分为片内和片外两部分,CPU访问片内和片外程序存储器,可由引脚 所接的电平来确定。EA
=1,即引脚接高电平时,程序将从片内程序存储器开始执行;当 PC 值超出片内 ROM的容量时,
会自动转向片外程序存储器空间执行程序。
=0,即引脚接低电平时,单片机只执行片外程序存储器中的程序。
( 2)程序存储器的某些单元被固定用于中断源的中断服务程序的入口地址。
MCS-51单片机复位后,程序存储器 PC的内容为 0000H,故系统从 0000H单元开始取指令,执行程序。
EA
EA
64K程序存储器中有 5个单元具有特殊用途,如下:
0003H:外部中断 0入口地址。
000BH:定时器 0中断入口地址。
0013H:外部中断 1入口地址。
001BH:定时器 1中断入口地址。
0023H:串行口中断入口地址。
在系统中断相应之后,将自动转各中断入口地址处执行序,而中断服务程序一般无法存放于几个单元之内,因此在中断入口地址处往往存放一条无条件转移指令进行跳转,以便执行中断服务程序 。
2.4.2 MCS-51内部数据存储器
MCS-51单片机的片内数据存储器单元共有 128个,字节地址为 00H-7FH。
地址为 00H-1FH的 32个单元是 4组通用工作寄存器区,每个区含 8个 8位寄存器,
编号为 R7-R0。
地址为 20H-2FH的 16个单元可进行共
128位的位寻址。
地址为 30H -7FH的单元为用户 RAM区,
只能进行字节寻址。
图 2-4 MCS-51内部数据存储器的配置
2.4.3 特殊功能寄存器( SFR)
特殊功能寄存器的总数为 21个,离散的分布在该区域中,其中有些 SFR还可以进行位寻址。表 2是 SFR 的名称及其分布。
表 2 SFR名称及地址分布
2.4.4 位地址空间
MCS-51单片机指令系统中有丰富的位操作指令,这些指令构成了位处理机的指令集。在 RAM和 SFR中共有 211个位地址,位地址范围在 00H-FFH内,其中 00H-
7FH这 128个位处于内部 RAM字节地址
20H-2FH单元中,如表 3所示。其余的 83
个可寻址位分布在特殊功能寄存器 SFR中,
如表 4所示。
表 3 8051内部 RAM的可寻址位表 4 8051特殊功能寄存器中的位地址
2.5 MCS-51 的并行 I/O口图 2-5给出了四个端口中每一个典型位锁存器和 I/O缓冲器的功能框图。位锁存器
(端口 SFR中的一位)作为一个 D触发器,
根据来自 CPU的,写锁存器,信号,记录来自内部总线上的数值。在 CPU发出,读锁存器,信号时,将触发器的 Q输出值放在内部总线上。在 CPU发出,读管脚,信号时,端口管脚本身的电平放到内部总线上。
有些,读端口指令,令会激活,读锁存器,
信号,而其它指令则激活,读管脚,信号。
图 2-5 MCS-51的端口结构并行 I/O口的应用要点:
( 1) P0口通常作为单片机的低字节地址/数据复用线,
分时使用,即构成 A7~ A0地址线和数据总线 (DB)用。
( 2) P2口一般作为高 8位地址线 A15~ A8,使用 8031
单片机也是这样用的。
( 3) P1口一般情况下作为通用的 I/O口使用。
( 4) P3口在以下的情况下作为第二功能使用:串行通信使用,外部中断使用;定时器 /计数器使用;扩展外部 RAM时使用,控制信号。除上述情况外,则可以当作 I/O引脚用。
( 5)当某一引脚作为输入前,必须使引脚置,1”。复位后,四个口的 32个引脚均为高电平(置 1)。
( 6)各个口由于输出结构不同,带负载能力也不同。
2.6 MCS-51时钟电路与时序
时钟电路用于产生 MCS-51单片机工作所必需的时钟信号。
在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,
并由时序电路产生一系列控制信号去完成指令所规定的操作。
2.6.1 时钟电路
1.内部时钟方式
8051单片机内部有一个用于构成振荡器的高增益反相放大器,引脚 XTAL1和
XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成一个自激振荡器。
图 2-6 a)是 MCS-51单片机的内部时钟方式的振荡器电路。
2,外部时钟方式外部时钟方式是使用外部振荡脉冲信号,常用于多片 MCS-51单片机同时工作,
以便于同步。对外部脉冲信号只要求高电平持续时间大于 20,一般为低于 12MHz的方波。这时,外部振荡器的信号接至
XTAL2,即内部时钟发生器的输入端,而内部反相放大器的输入端 XTAL1应接地,
如图 2-6 b)所示。由于 XTAL2端的逻辑电平不是 TTL的,故建议外接一个上拉电阻。
图 2-6 MCS-51的时钟电路 a)片内时钟方式 b)外部时钟方式
2.6.2 机器周期和指令周期
MCS-51的每个机器周期包含 6个状态周期,每个状态周期划分为 2个节拍,分别对应着 2 个节拍时钟有效期间。
因此,一个机器周期包含 12个振荡器周期,由 S1P1(状态 1拍 1)一直到 S6P2(状态 6拍 2),每个节拍持续一个振荡器周期,
每个状态持续 2个振荡器周期。若采用
12MHz的晶体振荡器,则每个机器周期恰为 1μS。
图 2-7列举了几种典型指令的取指和执行时序。由于用户看不到内部时钟信号,故图 2-7
列出了 XTAL2端出现的振荡器信号和 ALE端的信号,以作参考。
通常,每个机器周期 ALE两次有效,第 1次发生在 S1P2和 S2P1期间,第 2次在 S4P2和
S5P1期间。
图 2-7 MCS-51的取指和指令执行的时序
2.7 MCS-51的复位和复位电路复位是单片机的初始化操作,只要 RST
引脚处至少保持 2个机器周期 (24个振荡器周期 )的高电平就可实现复位。在 RST端出现高电平后的第 2个周期,执行内部复位,以后每个周期重复一次,直至 RST端变低。复位后,各内部寄存器的状态如表 5所示。
表 5 8051复位后寄存器的值