【硬见小百科】单片机的特殊功能寄存器

在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(sfr)。
几个常用的sfr
1、acc:累加器,常常用a表示。这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在acc中的缘故吧。它的名字特殊,身份也特殊,稍后我们将学到指令,能发现,所有的运算类指令都离不开它。
2、b:一个寄存器。在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、psw:程序状态字。这是一个很重要的东西,里面放了cpu工作时的很多状态,借此,我们能了解cpu的当前状态,并作出对应的处理。它的各位功能请看下表。
psw也称为标志寄存器,了解这个对于了解单片机原理非常的重要,存放各有关标志。其结构和定义如下:
sfr各位的用途
(1)cy:进位标志。用于表示acc.7有否向更高位进位。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。
例:78h+97h(01111000+10010111)
(2)ac:辅助进位标志也叫半进位标志。 用于表示acc.3有否向acc.4进位
例:57h+3ah(01010111+00111010)
(3)f0:用户标志位,由我们(编程人员)决定什么时候用,什么时候不用。
(4)rs1、rs0:工作寄存器组选择位。这个我们已知了。
rs1、rs0 = 00 —— 0区(00h~07h)
rs1、rs0 = 01 —— 1区(08h~0fh)
rs1、rs0 = 10 —— 2区(10h~17h)
rs1、rs0 = 11 —— 3区(18h~1fh)
(5)0v:溢出标志位。 表示acc在有符号数算术运算中的溢出,什么是溢出我们稍后再谈吧。
(6)p:奇偶校验位:它用来表示alu运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则p=1,不然为0。
例:某运算结果是78h(01111000),显然1的个数为偶数,所以p=0。
4、dptr(dph、dpl):数据指针,能用它来访问外部数据存储器中的任一单元,如果不用,也能作为通用寄存器来用,由我们自已决定如何使用。16位,由两个8位寄存器dph、dpl组成。主要用于存放一个16位地址,作为访问外部存储器(外ram和rom)的地址指针。
5、p0、p1、p2、p3:这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。
6、sp:堆栈指针。(专用于指出堆栈顶部数据的地址。)
【学习建议】其实并不需要把上面的这些东西都死记硬背在脑子里面,这是很难的,我们只需要理解工作原理,一次看不懂就要多看几次,等到要写程序的时候,我们再把这些表格拿出来查阅。
以上所有信息仅作为学习交流使用,不作为任何学习和商业标准。若您对文中任何信息有异议,欢迎随时提出,谢谢!

日立再次登上质量黑榜 未来应该如何走下去?
Profinet转EtherNetIP网关连接ABPLC通讯
苹果IOS10.2正式版更新特色功能,告诉你是否值得升级!
荣耀9发布会前瞻:oppo新机售价公布,荣耀9生死之悬就靠它的价格了
华为鸿蒙系统的近况如何,研发一款系统有多难
【硬见小百科】单片机的特殊功能寄存器
口腔健康引人注目,水牙线什么牌子好
制造高压变频器的关键技术问题和解决办法
小米6不再有阉割版,满血版高通骁龙835,还满意吗
汽车操作系统研究:整车操作系统的三种实现方式
涡街流量计对直管段要求有哪些
美国应该与华为直面竞争因为美国公民将从中受益
我们常用的电子产品都属于什么类型的垃圾
后疫情时代,智能座舱如何守护驾乘人员健康
基于车用计算机VC4的网关解决方案
水泥密度如何用台式电子密度计测试
国产音频芯片替换CJC4344、CJC8988、CJC5340、CJC1808、CJC8916、CJC5357、CJC6811A
优化毫米波信号分析的五个提示
气体质量流量传感器FS4003:应用于乙炔流量检测
国家超级计算郑州中心通过验收:峰值算力达100Pflops