×
单片机 > 单片机程序设计 > 详情

51特殊功能寄存器

发布时间:2020-08-25 发布时间:
|
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单片机的栈的伸展方向是从低地址向高地址,堆栈操作是字节操作。

关键字:51  特殊功能寄存器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向