51有21个SFR(Special Function Register),散布在内部80H~FFH单元中。这128个单元中,特别功用寄存器仅占用了21个单元,其他单元51单片机不能对它们进行读/写操作(即不能作内部数据存储器运用)。单元地址可被8整除的SFR可位寻址。如图
1)累加器A或特别功用寄存器ACC
累加器为8位寄存器,用于寄存操作数,也可用来寄存运算的中心成果。A和ACC虽是同一个寄存器,但是在指令中它们却是有差异的。符号指令中的A不能用ACC替代,特别功用寄存器直接寻址和位称号寻址要用ACC,而不能用A替代。累加器本身带有零标志Z,累加器的值为0,零标志Z=1;累加器的值不为0,零标志Z=0
2)数据指示器(Data Pointer)
51中仅有能出现在符号指令中的一个16位寄存器。DPTR既可按16位寄存器运用,又能够分为两个8位的寄存器运用,即DPH和DPL。DPTR一般用作拜访外部数据存储器或扩展I/O的直接地址存储器,还能够和累加器A一同用作程序存储器的变址寄存器。
3)程序状况字存储器PSW
PSW是一个8位的寄存器,用于寄存程序运转的状况信息。有些位的状况是依据程序操作的成果,由硬件主动设置;有些则由指令设置。PSW的位状况能够用专门的指令进行测验,也能够用指令读出。一些条件搬运指令便是依据PSW有关位进行程序搬运的。PSW各位界说如图
进位或借位标志CY(PSW.7):功用有二:一是寄存加减运算的进(借)位;二是在位操作指令中作累加位C运用
辅佐进位标志AC(PSW.6):加减运算中的低4位向高4位有进位或借位则AC=1,无进位或借位则AC=0
溢出标志位OV(PSW.2):计算机所进行的运算都是无符号数运算,即把符号数的符号位也当作数值进行运算,又把所稀有的运算成果当符号数来影响溢出标志位。OV=1一共溢出。
奇偶标志位P(PSW.0):一共累加器中数的奇偶性。P依据累加器中1的个数是奇数或是偶数,主动置1或清0。
寄存器组挑选位RS1和RS0(PSW.4和PSW.3):见图
通用标志位F0和F1(PSW.5和PSW.1):可位寻址用于软件操控的通用标志位。有的汇编器只界说了F0,用户可运用位界说伪指令BIT将PSW.1界说为标志位F1。
4)仓库和仓库指示器SP
51单片机的栈的扩展方向是从低地址向高地址,仓库操作是字节操作。