8051特殊功能寄存器
特殊功能寄 存器
地址
特殊功能寄 存器
地址
特殊功能寄 存器
地址
PO
80H
TH0
8CH
TL2*
CCH
SP
81H
TH1
8DH
TH2*
CDH
DPL
82H
P1
90H
IE
A8H
DPH
83H
SCON
98H
P3
BOH
PCON
87H
SBUF
99H
IP
B8H
TCON
88H
P2
AOH
PSW
DOHBiblioteka TMOD89HT2CON*
特殊功能寄存器
8051 的特殊功能寄存器区(SFR)又称为专用寄存器区,是用来对片内的定时
控制、中断控制、串行接口等内部功能单元进行管理、控制、监控的一组特殊功
能的 RAM 区。805l 单片机中共有 26 个特殊功能寄存器,离散地分布在 80H~FFH
的地址空间范围内。其中 12 个寄存器可以使用位寻址。映射 80H~FFH 的位地址
B FOH FOH-F7H --- --- --- --- --- --- --- ---
下面依次介绍 8051 特殊寄存器的各项功能。
(1)程序与数据指针控制
·PC:程序计数器(PC)用于保存下一条要执行的指令的地址,每取一条专旨今,
PC 中的地址就自动增加 1。PC 的位长为 16 位,因此最大寻址空间为 64kB。在硬 件结构上,PC 独立于 SFR 之外。 ·SP:栈指针(SP)是 8 位的特殊功能寄存器,用于指示 805 1 堆栈栈顶的位置, 系统复位后,SP 初始化为 07H. ·DPTR:数据指针(DPTR)是一个 16 位的特殊功能寄存器,其高位字芾用 DPH 表 示,低位字节用 DPL 表示。DPTR 在程序中既可以作为一个 16 位的寄存器 DPTR 来使用,也可以作为两个 8 位寄存器 DPH.DPL 来访问. (2)累加器与寄存器 ·ACC:累加器(ACC)是最为常用的特殊功能寄存器,大部分单操作数指令均以 ACC 作为其操作敷,多数双操作数指令的第一个操作数也取自 ACC.此外,各种 运算的结果一般也保存在 ACC 中. ·B:寄存器 B 主要用于乘、除等操作,作为运算的第二个操作数,也用于保存 运算的结果。 (3) I/0 口锁存器 ·PO:PO 口锁存器,允许进行位寻址操作. ·P1:Pl 口锁存器,允许进行位寻址操作. ·P2:P2 口锁存器,允许进行位寻址操作. ·P3:P3 口锁存器,允许进行位寻址操作. (4)定时控制 ·TO、T1:8051 单片机内含有两个 16 位定时/计数嚣,它们各自由两个独立的 8 位寄存器组成,分别为 THO.TLO.TH1 和 TL1。程序可以对这 4 个 8 位寄存器寻址, 但不能将 TO.Tl 作为独立的 16 位寄存器来访问. ·TMOD: TMOD 用于控制定时/计数器的工作方式及 4 种工作模式,其中低 4 位 为定时器 TO 的方式控制字,高 4 位为定时器 Tl 的方式控制字. (5)中断控制 ·TCON:TCON 寄存嚣的高 4 位为定时/计数器 TO.TI 的控制寄存器和定时/计数 溢出中断标志.低 4 位为控制外部中断 l 和外部中断 O 的中断触发方式选择和中 断产生标志. ·IE:IE 寄存器用于开放或屏蔽单片机的各个中断源。 ·IP:8051 提供两级中断优先级,可以通过设置 IP 寄存器的相应位对各个中断 源的中断优先级进行独立拉制. (6)串行控制 ·SCON:寄存器用于设置串行口的工作方式和查询接收、发送中断产生标志. ·SBUF:串行数据缓冲嚣 SBUF 用于存放串口中欲发送或已接收的数据,它由两 个独立的寄存器构成,一个是发送缓冲器,一个是接收缓冲器,它们共用一个地 址.当从 SBUF 取数据时,访问接收缓冲器,当向 SBUF 写数据时,访问发送缓 冲器. (7)程序状态寄存器
空间。此外,还有 5 个寄存器 TL2、TH2、T2CON、RCAP2L 和 RCAP2H 是 52 子系列
所特有的,这些寄存器所在的地址在 5l 系列单片机中无定义。8051 特殊功能寄
存器的名称及地址映射如表 1-5 所示。对 52 子系列特有的寄存器表中*标出。
表 1-5 8051 特殊功能寄存器地址映射表
D7
D6
D5
位功能标记 D4 D3 D2
D1
D0
P0 80H 80H-87H P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
TCON 88H 88H-8FH TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
P1 90H 90H-97H P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
SCON 98H 98H-9FH SM0 SM1 SM2 REN TB8 RB8 T1 R1
P2 A0H A0H-A7H P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
1E A8H A8H-AFH EA --- --- ES ET1 EX1 ET0 EX0
P3 B0H B0H-B7H P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0
IP B8H B8H-BFH --- --- --- PS PT1 PX1 PT0 PX0
T2CON* C8H C8H-CFH TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T CP/RL2
PSW D0H D0H-D7H CY AC F0 RS1 RS0 OV --- P
ACC E0H E0H-E7H --- --- --- --- --- --- --- ---
C8H
ACC
EOH
TL0
8AH
RCAP2L*
CAH
B
FOH
TL1
8BH
RCAP2H*
CBH
可以位寻址的特殊寄存器,其地址均为 8 的整数倍,这些寄存器的各位对应
位地址空间的 80H~FFH,其位地址及位功能标记如表 1-6 所示。
表 1-6 特殊功能寄存器各位位地址及位功能
特殊功 能寄存
器
地 址
映射位 地址
D7
D6
D5
D4
D3
D2
D1
D0
CY
AC
F0
RS1
RS0
0V
---
P
PSW 寄存器各位功能如下: CY 进位标志位,表示在字节运算时发生进位或借位。
AC 辅助进位标志位,当 ACC 低 4 位发生进位时置位该标志位。 FO 通用标志位,由用户定义。 RSI.RSO 工作寄存器组选择位。 OV 溢出标志位,表示运算时发生溢出。 P 奇偶校验标志位。 通过 PSW 的各状态位,可以实现程序跳转、多字节运算等功能。