MCS-51单片机有几个工作寄存器? 单片机特殊功能寄存器

工作寄存器有4组,每组都是8个工作寄存器R0~R7,通过PSW中的RS1、RS0两位来选择使用哪一组,如果不选,默认是选择第0组。
RS1RS0组合为00时,选中第0组工作寄存器,R0~R7地址为00H~07H;
RS1RS0组合为01时,选中第1组工作寄存器,R0~R7地址为08H~0FH;
RS1RS0组合为10时,选中第2组工作寄存器,R0~R7地址为10H~17H;
RS1RS0组合为11时,选中第3组工作寄存器,R0~R7地址为18H~1FH。

类似arm的usr模式svc模式irq模式fiq模式,
psw.4psw.3
000区r0-r7独立
MCS-51单片机有几个工作寄存器? 单片机特殊功能寄存器
011区r0-r7独立
102区r0-r7独立
123区r0-r7独立
上边的每个区都由相同的名字r0-r7寄存器引用,但数据空间却不同,所以各自独立,

每组寄存器在物理上是独立的,也就是说,一共有32个寄存器。上电后默认是第0组,但四组寄存器的功能、优点完全相同。r0-r7支持丰富的寻址方式,可以大大提高运行效率。
所以,如果你有四个程序段(或者说线程)要交叉运行,都想使用到效率很高的r0-r7,就可以让它们各占一组,只要切换区域就行了,而不必频繁地保护现场。

寻址方式:

51单片机有7种寻址方式。

1、寄存器寻址:前面提到了内部RAM中的00H-1FH地址单元作为工作寄存器使用。一共是有32各地址单元,分成四组,每组有8个寄存器,命名为R0-R7,每次可以使用其中的一组。当使用R0-R7来表示操作数时,就属于寄存器寻址方式。

例如:MOVA,R0;把寄存器R0的内容送入累加器A中

2、直接寻址:在指令中直接给出操作数地址,就属于直接寻址方式。此时指令的操作数部分直接是操作数的地址。

例如:MOV A,2AH;把RAM地址2AH的内容送入累加器A中

3、立即寻址:

例如:MOV A,#3AH;该指令就是表示把立即数3AH送入累加器A中,立即数前加上一个#,和直接寻址方式区分

4、寄存器间接寻址:若以寄存器的名称直接给出操作数的地址,则称为寄存器间接寻址。

例如:MOV A,@R0;该指令是把RO里的内容作为地址,这个地址的数据送入累加器A,注意前面需要加@

5、变址寻址:变址寻址是以某个寄存器的内容为基本的地址,然后在这个基址上加以地址的偏移量,才是真正的操作数地址。

例如:MOV A,@A+DPTR;地址是A+DPTR的值,这个地址的内容送如累加器A

6、相对寻址:相对转移指令需要用到相对寻址方式,此时操作数部分给出的是地址的相对偏移量部分。

目的地址 = 源地址 + 指令字节数 + rel(rel可正可负)

例如:SJMP rel

7、位寻址:概念就不做解释了。还是把reg52.h这个头文件贴出来说。

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/132827.html

更多阅读

由甄嬛传引发:雍正皇帝的老婆有几个?

看过《甄嬛传》第一、二两集的朋友会发现,这第一集里有个“孝敬宪皇后”;而第二集里又说甄嬛与早先过世的“纯元皇后”十分相像。这就引发出了下面的三个问题:一是一般而言,清朝的皇帝到底应该有几个皇后?二是具体到雍正皇帝本人而言,他到

转载 艾灸反应及排毒有几个渠道:单桂敏39博客

艾灸反应及排毒有几个渠道:1,出汗排毒,就是在艾灸的时候,感觉出汗,灸后出汗,这种现象有可能会持续几天或更久。2、当有的人出汗一个阶段后,开始起红疹,硬疙瘩,这也是排毒的一种表现。一般继续艾灸,红疹慢慢会下去,硬疙瘩,可以边艾灸,边按摩,也会

转载 三亚吃海鲜最好地方有几个 三亚吃海鲜攻略

原文地址:三亚吃海鲜最好地方有几个作者:郑州网站建设1,身份证,返城机票要放好。  2,现金、信用卡。  3,照相机,要考虑照片储存的问题,带一个或几个大一点的存储卡或者是数码相机伴侣。  4,手机、充电器:在三亚公共电话很少,房间的电话只

声明:《MCS-51单片机有几个工作寄存器? 单片机特殊功能寄存器》为网友家庭腐女分享!如侵犯到您的合法权益请联系我们删除