特殊功能寄存器简言之就是有特殊用途的寄存器,一般来说,单片机的各种片上资源如串口、定时器/计数器等都依靠特殊功能寄存器来控制。其实,特殊功能寄存器的划分界限是模糊的,因为其位于片内RAM存储器寻址区,我们在这里进行介绍,在后面的存储器讲解中也会提到特殊功能寄存器。
标准的8051内部有21个特殊寄存器,某些新的单片机则提供了更多的特殊功能寄存器,因为它们往往提供了更多的片上资源。典型的特殊功能寄存器如表1-3所示。
表1-3 特殊功能寄存器(SFR)
符 号
特殊功能寄存器名称
地 址
ACC
累加器
E0H
B
乘法寄存器
F0H
PSW
程序状态字
D0H
SP
堆栈指针
81H
DP0L
数据指针DPTR0低8位
82H
DP1L
数据指针DPTR1低8位
84H
DP0H
数据指针DPTR0高8位
83H
DP1H
数据指针DPTR1高8位
85H
IE
中断允许控制器
A8H
IP
中断优先控制器
D8H
P0
I/O端口0
80H
P1
I/O端口1
90H
P2
I/O端口2
A0H
P3
I/O端口3
B0H
PCON
电源控制及波特率选择
87H
SCON
串行口控制器
98H
SBUF
串行数据缓冲器
99H
TCON
定时/计数器控制
88H
T2CON
定时/计数器2控制
C8H
TMOD
定时/计数器方式选择
89H
T2MOD
定时/计数器2方式选择
C9H
TL0
定时/计数器0低8位
8AH
TL1
定时/计数器1低8位
8BH
TH0
定时/计数器0低8位
8CH
TH1
定时/计数器1高8位
8DH
TL2
定时/计数器2低8位
CCH
TH2
定时/计数器2高8位
CDH
RCAP2L
定时/计数器2陷阱寄存器低字节
CAH
RCAP2H
定时/计数器2陷阱寄存器高字节
CBH
AUXR
辅助寄存器
8EH
AUXR1
辅助寄存器1
A2H
WDTRST
WDT(看门狗)控制
A6H
从表1-3中可以看出,特殊功能寄存器往往和单片机的各种功能部件对应,这在后面的程序设计中会经常用到。