第 2章 MCS-51单片机的硬件结构
2.1 MCS-51单片机的物理结构及逻辑结构
2.2 MCS-51单片机的片外总线结构
2.3 MCS-51单片机的存储器配置
2.4 CPU的时序及辅助电路
2.1 MCS-51单片机的物理结构及逻辑结构
2.1.1 MCS-51单片机的封装和引脚分配
2.1.2 MCS-51单片机的系统结构
2.1.3 MCS-51单片机的引脚定义
2.1.4 MCS-51单片机硬件结构要点
2.1.5 MCS-51单片机内部结
2.1.6 输入 /输出( I/O)端口结构
返回本章首页
MC
S-
51
单
片
机
的
引
脚
配
置
图
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST/VPD
RXD/P3.0
TXD/P3.1
INT0/P3.2
INT1/P3.3
T0/P3.4
T1/P3.5
WR/P3.6
RD/P3.7
XTAL2
XTAL1
VSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8031
8051
8751
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
21
22
23
24
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/Vpp
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
返回本节
2.1.2 MCS-51单片机的系统结构
图 2-1 MCS-51单片机 系统结构 示意图
时钟电路 SFR和 RAM ROM
CPU
定时 /计数器
并行端口 中断系统串行端口
系 统 总 线
时钟源 T0 T1
P0 P1 P2 P3 TXD RXD INT0 INT1
下一页
( 1) 一个 8位微处理器 CPU。
( 2) 数据存储器 RAM和特殊功能寄存器 SFR。
( 3) 内部程序存储器 ROM。
( 4) 两个定时 /计数器, 用以对外部事件进行
计数, 也可用作定时器 。
( 5) 四个 8位可编程的 I/O( 输入 /输出 ) 并行
端口, 每个端口既可做输入, 也可做输出 。
( 6) 一个串行端口, 用于数据的串行通信 。
( 7) 中断控制系统 。
( 8) 内部时钟电路 。
下一页
图 2-2 MCS-51芯片内部结构框图
通道 0驱动器 通道 2驱动器
RAM地址
锁存器 RAM 通道 0 锁
存器
通道 2 锁
存器
ROM/
EPROM
B寄存器
程序地址寄存器
缓冲器
PC递增器
程序计数器 PC
DPTR指针
VCC
GND
P1.0~ P1.7
堆栈指针 SPACC
TMP2
PSW
通道 3锁存器通道 1锁存器
通道 1驱动器 通道 3驱动器
TMP1
SCON TMODPCON TCON
TL0 TH1TH0 TL1
IESBUF(TX/RX) IP
中断, 串行口和定时器逻辑
振荡器
P3.0~ P3.7
RST
ALE
PSEN
XTAL2XTAL1
ALU
(+5V)
指
令
寄
存
器
定时
和
控制
逻辑
指
令
译
码
器
P0.0~ P0.7 P2.0~ P2.7
返回本节
2.1.3 MCS-51单片机的引脚定义
1,输入输出口,P0,P1,P2,P3
2,RST(复位) / VPD(后备电源引入端)
3,EA (读内 /外 ROM控制) /Vpp(编程电压)
4,ALE(地址低 8位锁存) / PROG(编程脉冲)
5,PSEN 外部 ROM读选通信号
6,XTAL1,XTAL2 外接晶振端
7,Vcc +5v电源
8,Vss 地
9,P3口的第二功能
返回本节
WR(外部数据存储器写
脉冲)
INT1(外部中断 1)
INT0(外部中断 0)
表2-
2 P
3
口
的
第
二
功
能
表
P3.2
P3.3
位线 引脚 第二功能
P3.0 10 RXD(串行输入口)
P3.1 11 TXD(串行输出口)
12
13
P3.4 14 T0(定时器 0的计数输入)
P3.5 15 T1(定时器 1的计数输入)
16
17 RD(外部数据存储器读脉
冲)P3.7
P3.6
上一页
2.1.4 MCS-51单片机硬件结构要点
1,内部程序存储器 ( ROM) 和内部数据存储
器 ( RAM) 容量 ( 如表 2-1所示 ) 。
2,输入 /输出 ( I/O) 端口
3,外部程序存储器和外部数据存储器寻址空
间
4,中断与堆栈
5,定时 /计数器与寄存器区
6,指令系统
下一页
存储器类型
单片机系列
掩膜 ROM EPROM RAM
MCS-
51
51子系
列
803
1 / / 128B
805
1 4KB / 128B
875
1 / 4KB 128B
52子系
列
803
2 / / 256B
805
2 8KB / 256B
875
2 / 8KB 256B
表2-
1 M
CS
-51
单
片
机
存
储
器
容
量
返回本节
2.1.5 MCS-51单片机内部结构
1,运算器
运算器由 8位算术逻辑运算单元 ALU
( Arithmetic Logic Unit),8位累加器 ACC
( Accumulator),8位寄存器 B、程序状态字
寄存器 PSW( Program Status Word),8位暂
存寄存器 TMP1和 TMP2等组成。
2.控制器
主要由程序计数器 PC,指令寄存器 IR,指令
译码器 ID,堆栈指针 SP,数据指针 DPTR,时
钟发生器及定时控制逻辑等组成 。
返回本节
2.1.6 输入 /输出( I/O)端口结构
MCS-51单片机有 4个双向并行的 8位 I/O
口 P0~ P3,P0口为三态双向口, 可驱动 8个
TTL电路, P1,P2,P3口为准双向口 ( 作为
输入时, 口线被拉成高电平, 故称为准双向
口 ), 其负载能力为 4个 TTL电路 。
下一页
1,P0口的结构
VCC
P0.X
锁存器
读锁存器
地址 /数据 控制
D
读引脚
写锁存器
内部总线 Q
Q MUX T2
P0.X
T1
CL
图 2-3 P0口的 1位结构图
1
0
下一页
2,P1口的结构
VCC
P1.X
锁存器
读锁存器
D
读引脚
写锁存器
内部总线 Q
Q T
内部上拉电阻
CL
图 2-4 P1口的一位结构图
下一页
3,P2口的结构
图 2-5 P2口的一位结构图
VCC
P2.X
锁存器
读锁存器 地址 控制
D
读引脚
写锁存器
内部总线 Q
Q
MUX
T
P2.X
内部上拉电阻
CL
下一页
4,P3口的结构
图 2-6 P3口的一位结构图
VCC
P3.X
锁存器
读锁存器 第二输出功能
D
读引脚
写锁存器
内部总线 Q
Q
T
内部上拉电阻
第二输入功能
CL
返回本节
2.2 MCS-51单片机的片外总线结构
P0.3
地
址
锁
存
器
CB
I/O
A15
A14
A13
A12
A11
A10
A9
A8A
7A
6A
5A
4A
3A
2A
1A
0D
7D
6D
5D
4D
3D
2D
1D
0
DB
AB
P1.0
P1.1P
1.2P
1.3P
1.4P
1.5P
1.6P
1.7
RESET
P3.0P
3.1
P3.3
P3.4
P3.5
P3.6
P3.7
VSS
VCC
P0.0
P0.1
P0.2
P0.5P0.6
P0.7
EA
ALE
PSEN
P2.7
P2.6P
2.5P
2.4P
2.3P
2.2P
2.1P
2.0
P3.2
图 2-8 MCS-51片外总线结构示意图
下一页
微型计算机中的总线通常分为:
( 1) 地址总线 ( AB),地址总线宽度为 16位,
由 P0口经地址锁存器提供低 8位地址 ( A0-A7) ;
P2口直接提供高 8位地址 ( A8~ A15) 。 地址信
号是由 CPU发出的, 故地址总线是单方向的 。
( 2) 数据总线 ( DB),数据总线宽度为 8位,
用于传送数据和指令, 由 P0口提供 。
( 3)控制总线( CB):控制总线随时掌握各
种部件的状态,并根据需要向有关部件发出命
令。
返回本章首页
2.3 MCS-51单片机的存储器配置
2.3.1 存储器空间分配
2.3.2 片内数据存储器
2.3.3 片外数据存储器
2.3.4 程序存储器
返回本章首页
2.3.1 存储器空间分配
空间分配图
物理上有四个存储器空间:
(a)程序存储器 [片内、片外 ]
(b)数据存储器 [片内、片外 ]
逻辑上有三个存储空间:
(a)片内外统一的 64KB程序存储地址空间
(b) 256B内部数据存储器地址空间
(c) 64KB外部数据存储器地址空间
下一页
使用 上有 五 个存储器空间:
?可被直接寻址的数据地址空间
?位地址空间
?外部的数据地址空间
?程序地址空间
?可间接寻址的数据空间
特点,1、数据、程序存储器空间分开。
2、物理存储器有内外之分。
返回本节
内部数据存储器
( a)
外部数据存储器
( b)
MCS-51单片机存储器空间分配
特
殊
功
能
寄
存
器
00H
1FH
20H
2FH
30H
7FH
80H
FFH
80H
88H
90H
98H
A0H
A8H
B0H
B8H
D0H
E0H
F0H 特
殊
功
能
寄
存
器
中
位
寻
址
外部
ROM
内部
ROM
(EA=1)
外部
ROM
(EA=0)
0000H 0000H
0FFFH 0FFFH
1000H
FFFFH
外 部
RAM
(I/O口
地址 )
0000H
FFFFH
程序存储器
( c)
工作寄
存器区
位寻址区
通用
RAM区
返回
2.3.2 片内数据存储器
1,片内数据存储器低 128单元, 00H— 7FH。
( 1) 寄存器区, 32个 8位寄存器, 00H— 1FH分为 4组 。 每组 8个寄
存器, 分别为 R0— R7,4个组的选择由状态字中的 RS1,RS0的
值确定 。 见教材 P20
( 2) 位地址区, 20H— 2FH,共 16个字节单元, 128个位单元 。
( 3) 用户 RAM区,30H— 7FH,通常堆栈放在此区 。
2,片内数据存储器高 128单元, 80H— 0FFH。
(1)专用 (特殊功能 )寄存器 SFR,22个, 其中 21个可寻址, PC不可
寻址 。
A,程序计数器 PC( 16位 ),用于存放将要执行的指令地址 ( 程
序存储器地址 ), 并具有自动加 1的功能 。
B,累加器 A( 8位 ),存放运算中的操作数据及运算后的结果 。
C,B寄存器 ( 8位 ),用于乘除法中的第二个操作数和运算后的
结果 。
下一页
内部数据存储器中的位地址
返回
表 2-4 特殊功能寄存器地址及功能表 返回
D7 D6 D5 D4 D3 D2 D1 D0
CY AC F0 RS1 RS0 OV / P
RS1 RS0 选择工作寄存器组
0 0 0组( 00H~ 07H)
0 1 1组( 08H~ 0FH)
1 0 2组( 10H~ 17H)
1 1 3组( 18H~ 1FH)
工作寄存器组选择控制表
程序状态字 PSW
返回
D、程序状态字 PSW( 8位):寄存着程序运行中的状态信息,各
位代表的状态见教材 P20。
E,栈指针寄存器 SP( 8位 ),其值始终指向栈的顶部, PUSH时值
先加 1,后存数 。
F,其它专用寄存器:数据指针寄存器 DPTR( 16位 ), 端口寄存
器 P0/P1/P2/P3( 8位 ), 串行数据缓冲器 SBUF( 8位 ), 定时 /计
数器 T0/T1( 16位 ), 控制寄存器 IP/IE/TMOD/TCON/SCON/PCON
( 8位 )
( 2)专用寄存器的字节寻址:只能使用直接寻址方式,在指令
中既可以使用寄存器符号表示,也可以使用寄存器地址表示。
( 3)专用寄存器的位寻址,21个 SFR中的 11个可以位寻址。见教
材 P22表 2-4
返回本节
2.3.2 片外数据存储器
外部数据存储器又称外部 RAM,当片内
RAM不能满足数量上的要求时,可通过总线端
口和其他 I/O口扩展外部数据 RAM,其最大容
量可达 64K字节。
在片外数据存储器中,数据区和扩展的
I/O口是统一编址的,使用的指令也完全相同,
因此,用户在应用系统设计时,必须合理地进
行外部 RAM和 I/O端口的地址分配,并保证译
码的唯一性。
返回本节
2.3.3 程序存储器
程序存储器的包括片内和片外程序存储器两个部分 。
其主要用来存放编好的用户程序和表格常数, 它以 16
位的程序计数器 PC作为地址指针, 故寻址空间为 64KB。
8051片内有 4kB( 0000H— 0FFFH), 其中特殊保留
单元:系统复位后 PC=0000H
0000H— 0002H 无条件转移指令
0003H— 000AH INT0中断地址区
000BH— 0012H T0中断地址区
0013H— 001AH INT1中断地址区
001BH— 0022H T1中断地址区
0023H— 002AH 串行中断地址区
返回本节
2.4 CPU的时序及辅助电路
2.4.1 单片机的时钟电路
2.4.2 振荡周期、时钟周期、机器周期和指令
周期
2.4.3 MCS-51单片机指令的取指和执行时序
2.4.4 单片机复位电路及复位状态
返回本章首页
2.4.1 单片机的时钟电路
单片机时钟电路通常有两种形式:
1,内部振荡方式,MCS-51单片机片内有一个
用于构成振荡器的高增益反相放大器, 引脚
XTAL1和 XTAL2分别是此放大器的输入端和输
出端 。 把放大器与作为反馈元件的晶体振荡器
或陶瓷谐振器连接, 就构成了内部自激振荡器
并产生振荡时钟脉冲 ( 如图 1所示 ) 。
2,外部振荡方式,外部振荡方式就是把外部
已有的时钟信号引入单片机内 ( 如图 2所示 ) 。
返回本节
XTAL2
XTAL1
MCS-51
C1
C2
CYS
XTAL2
XTAL1
MCS-51
+5V
VSS
TTL
外
部
时
钟
源
图 1 内部振荡方式 图 2 外部振荡方式
返回
P1 P2
S1
振荡周期
时钟周期
机器周期 机器周期
指令周期
XTAL2
(OSC)
S2 S3 S4 S5 S6 S1 S2 S4 S5S3 S6
P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2
图 MCS-51单片机各种周期的相互关系
2.4.2 振荡周期、时钟周期、机器周期和指令周期
下一页
1,振荡周期,为单片机提供时钟信号的振荡
源的周期 。
2,时钟周期,是振荡源信号经二分频后形成
的时钟脉冲信号 。
3,机器周期,通常将完成一个基本操作所需
的时间称为机器周期 。
4,指令周期,是指 CPU执行一条指令所需要
的时间 。 一个指令周期通常含有 1~ 4个机器周
期 。
下一页
若 MCS-51单片机外接晶振为 12MHz时, 则单
片机的四个周期的具体值为:
振荡周期= 1/12MHz= 1/12μs= 0.0833μs
时钟周期= 1/6μs= 0.167μs
机器周期= 1μs
指令周期= 1~ 4μs
返回本节
2.4.3 MCS-51单片机指令的取指和执行时序
图M
CS
-
51
单
片
机
典
型
指
令
的
取
指
和
执
行
时
序
再读下一条
指令
再读下 一条
指令
XTAL2
(OSC)
P 2
S1
ALE
读操作码 读下一个操作码( 丢弃 )
读第二字节
( a) 单字节, 单周期指令 例,MOV A R1
( d) 单字节, 双周期指令, 如 MOVX
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 2
S5
P 2
S6
P 2
S1
P 1 P 1 P 1 P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 2
S6
P 2
S1 S2
P 1 P 1 P 1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1
P 2
S1
读操作码
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1
读下一个操作码 ( 丢弃 )
( b) 双字节, 单周期指令 例,ADD A dir
( c) 单字节, 双周期指令 例,INC DPTR
读操作码 (
MOVX)
读下一个操作码 (
丢弃 )
无取指无 ALE 无取指
地址 数据 ( DATA)
访问外部存储器
P 2
S1
读操作码
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1
P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1
返回本节
2.4.4 单片机复位电路及复位状态
1,复位电路
单片机复位电路包括片内、片外两部分。外
部复位电路就是为内部复位电路提供两个机器
周期以上的高电平而设计的。 MCS-51单片机
通常采用上电自动复位和按键手动复位两种方
式。 如图所示 。
2.单片机复位后的状态
单片机运行出错或进入死循环时,可按复位
键重新运行。 21个特殊功能寄存器复位后的状
态为确定值,如表所示 。
下一页
复位后,P0— P3口输出高电平,初值 07H
写入栈指针 SP,清,0”其余的特殊功能寄存器
和程序计数器 PC。只要 RESET保持高电平,
单片机循环复位 RESET由高变低后,单片机从
0地址开始执行程序。单片机初始复位不影响
内部 RAM的状态,包括工作寄存器 R0— R7。
返回本节
22μF
C1
RST
R1
1KΩ
+5V
22μF
C1
RST
+5V
R2
200Ω
RST
R1
+5V
C2
22μF
8031
8051
8751
8031
8051
8751
8031
8051
8751
( a) 上电复位电路 ( c) 按键脉冲复位电路( b) 按键电平复位电路
R1
1KΩ
22μF
C1
1K
Ω
R2
1K
Ω
图 几种复位电路
返回
特殊功能寄
存器
初始状态 特殊功能寄存
器
初始状态
A 00H TMOD 00H
B 00H TCON 00H
PSW 00H TH0 00H
SP 07H TL0 00H
DPL 00H TH1 00H
DPH 00H TL1 00H
P0~ P3 FFH SBUF ××××××
×× B
IP ××× 00000
B
SCON 00H
IE 0×× 00000B PCON 0××××××
× B
表
单
片
机
复
位
后
特
殊
功
能
寄
存
器
的
状
态
返回
2.1 MCS-51单片机的物理结构及逻辑结构
2.2 MCS-51单片机的片外总线结构
2.3 MCS-51单片机的存储器配置
2.4 CPU的时序及辅助电路
2.1 MCS-51单片机的物理结构及逻辑结构
2.1.1 MCS-51单片机的封装和引脚分配
2.1.2 MCS-51单片机的系统结构
2.1.3 MCS-51单片机的引脚定义
2.1.4 MCS-51单片机硬件结构要点
2.1.5 MCS-51单片机内部结
2.1.6 输入 /输出( I/O)端口结构
返回本章首页
MC
S-
51
单
片
机
的
引
脚
配
置
图
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST/VPD
RXD/P3.0
TXD/P3.1
INT0/P3.2
INT1/P3.3
T0/P3.4
T1/P3.5
WR/P3.6
RD/P3.7
XTAL2
XTAL1
VSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8031
8051
8751
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
21
22
23
24
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/Vpp
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
返回本节
2.1.2 MCS-51单片机的系统结构
图 2-1 MCS-51单片机 系统结构 示意图
时钟电路 SFR和 RAM ROM
CPU
定时 /计数器
并行端口 中断系统串行端口
系 统 总 线
时钟源 T0 T1
P0 P1 P2 P3 TXD RXD INT0 INT1
下一页
( 1) 一个 8位微处理器 CPU。
( 2) 数据存储器 RAM和特殊功能寄存器 SFR。
( 3) 内部程序存储器 ROM。
( 4) 两个定时 /计数器, 用以对外部事件进行
计数, 也可用作定时器 。
( 5) 四个 8位可编程的 I/O( 输入 /输出 ) 并行
端口, 每个端口既可做输入, 也可做输出 。
( 6) 一个串行端口, 用于数据的串行通信 。
( 7) 中断控制系统 。
( 8) 内部时钟电路 。
下一页
图 2-2 MCS-51芯片内部结构框图
通道 0驱动器 通道 2驱动器
RAM地址
锁存器 RAM 通道 0 锁
存器
通道 2 锁
存器
ROM/
EPROM
B寄存器
程序地址寄存器
缓冲器
PC递增器
程序计数器 PC
DPTR指针
VCC
GND
P1.0~ P1.7
堆栈指针 SPACC
TMP2
PSW
通道 3锁存器通道 1锁存器
通道 1驱动器 通道 3驱动器
TMP1
SCON TMODPCON TCON
TL0 TH1TH0 TL1
IESBUF(TX/RX) IP
中断, 串行口和定时器逻辑
振荡器
P3.0~ P3.7
RST
ALE
PSEN
XTAL2XTAL1
ALU
(+5V)
指
令
寄
存
器
定时
和
控制
逻辑
指
令
译
码
器
P0.0~ P0.7 P2.0~ P2.7
返回本节
2.1.3 MCS-51单片机的引脚定义
1,输入输出口,P0,P1,P2,P3
2,RST(复位) / VPD(后备电源引入端)
3,EA (读内 /外 ROM控制) /Vpp(编程电压)
4,ALE(地址低 8位锁存) / PROG(编程脉冲)
5,PSEN 外部 ROM读选通信号
6,XTAL1,XTAL2 外接晶振端
7,Vcc +5v电源
8,Vss 地
9,P3口的第二功能
返回本节
WR(外部数据存储器写
脉冲)
INT1(外部中断 1)
INT0(外部中断 0)
表2-
2 P
3
口
的
第
二
功
能
表
P3.2
P3.3
位线 引脚 第二功能
P3.0 10 RXD(串行输入口)
P3.1 11 TXD(串行输出口)
12
13
P3.4 14 T0(定时器 0的计数输入)
P3.5 15 T1(定时器 1的计数输入)
16
17 RD(外部数据存储器读脉
冲)P3.7
P3.6
上一页
2.1.4 MCS-51单片机硬件结构要点
1,内部程序存储器 ( ROM) 和内部数据存储
器 ( RAM) 容量 ( 如表 2-1所示 ) 。
2,输入 /输出 ( I/O) 端口
3,外部程序存储器和外部数据存储器寻址空
间
4,中断与堆栈
5,定时 /计数器与寄存器区
6,指令系统
下一页
存储器类型
单片机系列
掩膜 ROM EPROM RAM
MCS-
51
51子系
列
803
1 / / 128B
805
1 4KB / 128B
875
1 / 4KB 128B
52子系
列
803
2 / / 256B
805
2 8KB / 256B
875
2 / 8KB 256B
表2-
1 M
CS
-51
单
片
机
存
储
器
容
量
返回本节
2.1.5 MCS-51单片机内部结构
1,运算器
运算器由 8位算术逻辑运算单元 ALU
( Arithmetic Logic Unit),8位累加器 ACC
( Accumulator),8位寄存器 B、程序状态字
寄存器 PSW( Program Status Word),8位暂
存寄存器 TMP1和 TMP2等组成。
2.控制器
主要由程序计数器 PC,指令寄存器 IR,指令
译码器 ID,堆栈指针 SP,数据指针 DPTR,时
钟发生器及定时控制逻辑等组成 。
返回本节
2.1.6 输入 /输出( I/O)端口结构
MCS-51单片机有 4个双向并行的 8位 I/O
口 P0~ P3,P0口为三态双向口, 可驱动 8个
TTL电路, P1,P2,P3口为准双向口 ( 作为
输入时, 口线被拉成高电平, 故称为准双向
口 ), 其负载能力为 4个 TTL电路 。
下一页
1,P0口的结构
VCC
P0.X
锁存器
读锁存器
地址 /数据 控制
D
读引脚
写锁存器
内部总线 Q
Q MUX T2
P0.X
T1
CL
图 2-3 P0口的 1位结构图
1
0
下一页
2,P1口的结构
VCC
P1.X
锁存器
读锁存器
D
读引脚
写锁存器
内部总线 Q
Q T
内部上拉电阻
CL
图 2-4 P1口的一位结构图
下一页
3,P2口的结构
图 2-5 P2口的一位结构图
VCC
P2.X
锁存器
读锁存器 地址 控制
D
读引脚
写锁存器
内部总线 Q
Q
MUX
T
P2.X
内部上拉电阻
CL
下一页
4,P3口的结构
图 2-6 P3口的一位结构图
VCC
P3.X
锁存器
读锁存器 第二输出功能
D
读引脚
写锁存器
内部总线 Q
Q
T
内部上拉电阻
第二输入功能
CL
返回本节
2.2 MCS-51单片机的片外总线结构
P0.3
地
址
锁
存
器
CB
I/O
A15
A14
A13
A12
A11
A10
A9
A8A
7A
6A
5A
4A
3A
2A
1A
0D
7D
6D
5D
4D
3D
2D
1D
0
DB
AB
P1.0
P1.1P
1.2P
1.3P
1.4P
1.5P
1.6P
1.7
RESET
P3.0P
3.1
P3.3
P3.4
P3.5
P3.6
P3.7
VSS
VCC
P0.0
P0.1
P0.2
P0.5P0.6
P0.7
EA
ALE
PSEN
P2.7
P2.6P
2.5P
2.4P
2.3P
2.2P
2.1P
2.0
P3.2
图 2-8 MCS-51片外总线结构示意图
下一页
微型计算机中的总线通常分为:
( 1) 地址总线 ( AB),地址总线宽度为 16位,
由 P0口经地址锁存器提供低 8位地址 ( A0-A7) ;
P2口直接提供高 8位地址 ( A8~ A15) 。 地址信
号是由 CPU发出的, 故地址总线是单方向的 。
( 2) 数据总线 ( DB),数据总线宽度为 8位,
用于传送数据和指令, 由 P0口提供 。
( 3)控制总线( CB):控制总线随时掌握各
种部件的状态,并根据需要向有关部件发出命
令。
返回本章首页
2.3 MCS-51单片机的存储器配置
2.3.1 存储器空间分配
2.3.2 片内数据存储器
2.3.3 片外数据存储器
2.3.4 程序存储器
返回本章首页
2.3.1 存储器空间分配
空间分配图
物理上有四个存储器空间:
(a)程序存储器 [片内、片外 ]
(b)数据存储器 [片内、片外 ]
逻辑上有三个存储空间:
(a)片内外统一的 64KB程序存储地址空间
(b) 256B内部数据存储器地址空间
(c) 64KB外部数据存储器地址空间
下一页
使用 上有 五 个存储器空间:
?可被直接寻址的数据地址空间
?位地址空间
?外部的数据地址空间
?程序地址空间
?可间接寻址的数据空间
特点,1、数据、程序存储器空间分开。
2、物理存储器有内外之分。
返回本节
内部数据存储器
( a)
外部数据存储器
( b)
MCS-51单片机存储器空间分配
特
殊
功
能
寄
存
器
00H
1FH
20H
2FH
30H
7FH
80H
FFH
80H
88H
90H
98H
A0H
A8H
B0H
B8H
D0H
E0H
F0H 特
殊
功
能
寄
存
器
中
位
寻
址
外部
ROM
内部
ROM
(EA=1)
外部
ROM
(EA=0)
0000H 0000H
0FFFH 0FFFH
1000H
FFFFH
外 部
RAM
(I/O口
地址 )
0000H
FFFFH
程序存储器
( c)
工作寄
存器区
位寻址区
通用
RAM区
返回
2.3.2 片内数据存储器
1,片内数据存储器低 128单元, 00H— 7FH。
( 1) 寄存器区, 32个 8位寄存器, 00H— 1FH分为 4组 。 每组 8个寄
存器, 分别为 R0— R7,4个组的选择由状态字中的 RS1,RS0的
值确定 。 见教材 P20
( 2) 位地址区, 20H— 2FH,共 16个字节单元, 128个位单元 。
( 3) 用户 RAM区,30H— 7FH,通常堆栈放在此区 。
2,片内数据存储器高 128单元, 80H— 0FFH。
(1)专用 (特殊功能 )寄存器 SFR,22个, 其中 21个可寻址, PC不可
寻址 。
A,程序计数器 PC( 16位 ),用于存放将要执行的指令地址 ( 程
序存储器地址 ), 并具有自动加 1的功能 。
B,累加器 A( 8位 ),存放运算中的操作数据及运算后的结果 。
C,B寄存器 ( 8位 ),用于乘除法中的第二个操作数和运算后的
结果 。
下一页
内部数据存储器中的位地址
返回
表 2-4 特殊功能寄存器地址及功能表 返回
D7 D6 D5 D4 D3 D2 D1 D0
CY AC F0 RS1 RS0 OV / P
RS1 RS0 选择工作寄存器组
0 0 0组( 00H~ 07H)
0 1 1组( 08H~ 0FH)
1 0 2组( 10H~ 17H)
1 1 3组( 18H~ 1FH)
工作寄存器组选择控制表
程序状态字 PSW
返回
D、程序状态字 PSW( 8位):寄存着程序运行中的状态信息,各
位代表的状态见教材 P20。
E,栈指针寄存器 SP( 8位 ),其值始终指向栈的顶部, PUSH时值
先加 1,后存数 。
F,其它专用寄存器:数据指针寄存器 DPTR( 16位 ), 端口寄存
器 P0/P1/P2/P3( 8位 ), 串行数据缓冲器 SBUF( 8位 ), 定时 /计
数器 T0/T1( 16位 ), 控制寄存器 IP/IE/TMOD/TCON/SCON/PCON
( 8位 )
( 2)专用寄存器的字节寻址:只能使用直接寻址方式,在指令
中既可以使用寄存器符号表示,也可以使用寄存器地址表示。
( 3)专用寄存器的位寻址,21个 SFR中的 11个可以位寻址。见教
材 P22表 2-4
返回本节
2.3.2 片外数据存储器
外部数据存储器又称外部 RAM,当片内
RAM不能满足数量上的要求时,可通过总线端
口和其他 I/O口扩展外部数据 RAM,其最大容
量可达 64K字节。
在片外数据存储器中,数据区和扩展的
I/O口是统一编址的,使用的指令也完全相同,
因此,用户在应用系统设计时,必须合理地进
行外部 RAM和 I/O端口的地址分配,并保证译
码的唯一性。
返回本节
2.3.3 程序存储器
程序存储器的包括片内和片外程序存储器两个部分 。
其主要用来存放编好的用户程序和表格常数, 它以 16
位的程序计数器 PC作为地址指针, 故寻址空间为 64KB。
8051片内有 4kB( 0000H— 0FFFH), 其中特殊保留
单元:系统复位后 PC=0000H
0000H— 0002H 无条件转移指令
0003H— 000AH INT0中断地址区
000BH— 0012H T0中断地址区
0013H— 001AH INT1中断地址区
001BH— 0022H T1中断地址区
0023H— 002AH 串行中断地址区
返回本节
2.4 CPU的时序及辅助电路
2.4.1 单片机的时钟电路
2.4.2 振荡周期、时钟周期、机器周期和指令
周期
2.4.3 MCS-51单片机指令的取指和执行时序
2.4.4 单片机复位电路及复位状态
返回本章首页
2.4.1 单片机的时钟电路
单片机时钟电路通常有两种形式:
1,内部振荡方式,MCS-51单片机片内有一个
用于构成振荡器的高增益反相放大器, 引脚
XTAL1和 XTAL2分别是此放大器的输入端和输
出端 。 把放大器与作为反馈元件的晶体振荡器
或陶瓷谐振器连接, 就构成了内部自激振荡器
并产生振荡时钟脉冲 ( 如图 1所示 ) 。
2,外部振荡方式,外部振荡方式就是把外部
已有的时钟信号引入单片机内 ( 如图 2所示 ) 。
返回本节
XTAL2
XTAL1
MCS-51
C1
C2
CYS
XTAL2
XTAL1
MCS-51
+5V
VSS
TTL
外
部
时
钟
源
图 1 内部振荡方式 图 2 外部振荡方式
返回
P1 P2
S1
振荡周期
时钟周期
机器周期 机器周期
指令周期
XTAL2
(OSC)
S2 S3 S4 S5 S6 S1 S2 S4 S5S3 S6
P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2
图 MCS-51单片机各种周期的相互关系
2.4.2 振荡周期、时钟周期、机器周期和指令周期
下一页
1,振荡周期,为单片机提供时钟信号的振荡
源的周期 。
2,时钟周期,是振荡源信号经二分频后形成
的时钟脉冲信号 。
3,机器周期,通常将完成一个基本操作所需
的时间称为机器周期 。
4,指令周期,是指 CPU执行一条指令所需要
的时间 。 一个指令周期通常含有 1~ 4个机器周
期 。
下一页
若 MCS-51单片机外接晶振为 12MHz时, 则单
片机的四个周期的具体值为:
振荡周期= 1/12MHz= 1/12μs= 0.0833μs
时钟周期= 1/6μs= 0.167μs
机器周期= 1μs
指令周期= 1~ 4μs
返回本节
2.4.3 MCS-51单片机指令的取指和执行时序
图M
CS
-
51
单
片
机
典
型
指
令
的
取
指
和
执
行
时
序
再读下一条
指令
再读下 一条
指令
XTAL2
(OSC)
P 2
S1
ALE
读操作码 读下一个操作码( 丢弃 )
读第二字节
( a) 单字节, 单周期指令 例,MOV A R1
( d) 单字节, 双周期指令, 如 MOVX
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 2
S5
P 2
S6
P 2
S1
P 1 P 1 P 1 P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 2
S6
P 2
S1 S2
P 1 P 1 P 1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1
P 2
S1
读操作码
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1
读下一个操作码 ( 丢弃 )
( b) 双字节, 单周期指令 例,ADD A dir
( c) 单字节, 双周期指令 例,INC DPTR
读操作码 (
MOVX)
读下一个操作码 (
丢弃 )
无取指无 ALE 无取指
地址 数据 ( DATA)
访问外部存储器
P 2
S1
读操作码
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1
P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1 P 2
S3
P 1 P 2
S4
P 1 P 2
S5
P 1 P 2
S6
P 1 P 2
S1
P 1 P 2
S2
P 1
返回本节
2.4.4 单片机复位电路及复位状态
1,复位电路
单片机复位电路包括片内、片外两部分。外
部复位电路就是为内部复位电路提供两个机器
周期以上的高电平而设计的。 MCS-51单片机
通常采用上电自动复位和按键手动复位两种方
式。 如图所示 。
2.单片机复位后的状态
单片机运行出错或进入死循环时,可按复位
键重新运行。 21个特殊功能寄存器复位后的状
态为确定值,如表所示 。
下一页
复位后,P0— P3口输出高电平,初值 07H
写入栈指针 SP,清,0”其余的特殊功能寄存器
和程序计数器 PC。只要 RESET保持高电平,
单片机循环复位 RESET由高变低后,单片机从
0地址开始执行程序。单片机初始复位不影响
内部 RAM的状态,包括工作寄存器 R0— R7。
返回本节
22μF
C1
RST
R1
1KΩ
+5V
22μF
C1
RST
+5V
R2
200Ω
RST
R1
+5V
C2
22μF
8031
8051
8751
8031
8051
8751
8031
8051
8751
( a) 上电复位电路 ( c) 按键脉冲复位电路( b) 按键电平复位电路
R1
1KΩ
22μF
C1
1K
Ω
R2
1K
Ω
图 几种复位电路
返回
特殊功能寄
存器
初始状态 特殊功能寄存
器
初始状态
A 00H TMOD 00H
B 00H TCON 00H
PSW 00H TH0 00H
SP 07H TL0 00H
DPL 00H TH1 00H
DPH 00H TL1 00H
P0~ P3 FFH SBUF ××××××
×× B
IP ××× 00000
B
SCON 00H
IE 0×× 00000B PCON 0××××××
× B
表
单
片
机
复
位
后
特
殊
功
能
寄
存
器
的
状
态
返回