找回密码
 注册
关于网站域名变更的通知
查看: 484|回复: 1
打印 上一主题 下一主题

MCS-51单片机有几个工作寄存器?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-26 13:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MCS-51单片机有几个工作寄存器?
: d; C9 }8 Y* \) c  l" P3 o4 H  q# g* z  k4 \* \! n+ G" `: a9 o4 [

工作寄存器有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.4 psw.3

0 0 0区 r0-r7独立

0 1 1区 r0-r7独立

1 0 2区 r0-r7独立

1 2 3区 r0-r7独立

上边的每个区都由相同的名字r0-r7寄存器引用,但数据空间却不同,所以各自独立,

每组寄存器在物理上是独立的,也就是说,一共有32个寄存器。上电后默认是第0组,但四组寄存器的功能、优点完全相同。r0-r7支持丰富的寻址方式,可以大大提高运行效率。

所以,如果你有四个程序段(或者说线程)要交叉运行,都想使用到效率很高的r0-r7,就可以让它们各占一组,只要切换区域就行了,而不必频繁地保护现场。

游客,如果您要查看本帖隐藏内容请回复

1 j- |+ [/ L, K5 o' Z

该用户从未签到

2#
发表于 2019-2-26 17:55 | 只看该作者
看看MCS-51单片机有几个工作寄存器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-6 07:27 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表