它是80C51单片机中最具有特色的部分,几乎所有80C51系列功能的增加和扩展都是通过增加特殊功能寄存器来达到目的的。英文缩写为SFR,是Special Function Register(特殊功能寄存器)的缩写。
对于
80C51系列中的80C51,共定义了21个特殊功能寄存器。在
80C52中,除了80C51的21个特殊功能寄存器,还增加了5个,共计26个。表中带*号仅在52子系列单片机存在。
SFR也是一种扩充
数据类型,占用一个
内存单元,
值域为0~255。利用它可以访问
51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们可以用P1 = 255(对P1端口的所有引脚置
高电平)之类的语句来操作特殊功能寄存器。
SFR的
地址空间为80H~FFH,但是仅有21个(
80C51子系列)或26个(
80C52子系列)字节作为特殊功能寄存器离散分布在这128个字节范围内,其余字节无定义,用户也不能对这些单元进行读/写操作。