2.3.3 80C51单片机的特殊功能寄存器

2.3.3 80C51单片机的特殊功能寄存器

80C51单片机中设置了与片内RAM统一编址的21个SFR,它们离散地分布在80 H~FFH的地址空间中。字节地址能被8整除的(即十六进制的地址码尾数为0或8的)单元是具有位地址的寄存器。在SFR地址空间中,有效位地址共有83个,如表2-5所示。访问SFR只允许使用直接寻址方式。

表2-5 80C51单片机特殊功能寄存器位地址及字节地址表

SFR每一位的定义和作用与单片机各部件直接相关。

1.与运算器相关的寄存器(3个)

累加器A(8位)。累加器A是80C51单片机中最频繁使用的寄存器,用于向ALU提供操作数,许多运算的结果也存放在累加器中。

寄存器B(8位)。寄存器B主要用于乘、除法运算,也可以作为RAM的一个单元使用。

程序状态字寄存器(8位)。它用来保存ALU运算结果的特征和处理器状态,其中RS1和RS0位用来设定当前工作寄存器组。

2.指针类寄存器(3个)

堆栈指针SP(8位)。它总是指向栈顶,复位初始值为07H。

数据指针DPTR(16位)。它用来存放16位的地址,由两个8位寄存器DPH和DPL组成,可对片外64KB范围的RAM或ROM数据进行间接寻址或变址寻址操作。

3.与口相关的寄存器(7个)

并行I/O端口P0、P1、P2、P3(均为8位)。通过对这4个寄存器的读/写操作,可以实现数据从相应并口的输入/输出。

串行口数据缓冲器(SBUF)。

串行口控制寄存器(SCON)。

串行通信波特率倍增寄存器(PCON)(该寄存器还与电源控制相关,所以又称为电源控制及波特率选择寄存器)。

4.与中断相关的寄存器(2个)

中断允许控制寄存器IE。

中断优先级控制寄存器IP。

5.与定时器/计数器相关的寄存器(6个)

定时器/计数器T0的两个8位计数初值寄存器TH0、TL0,它们可以构成16位的计数器,TH0存放高8位,TL0存放低8位。

定时器/计数器T1的两个8位计数初值寄存器TH1、TL1,它们可以构成16位的计数器,TH1存放高8位,TL1存放低8位。

定时器/计数器的工作方式选择寄存器TMOD。

定时器/计数器的控制寄存器TCON。