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

MCS-51单片机内部RAM可分为几个区?以及作用?

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
MCS-51单片机内部RAM可分为几个区?以及作用?. V" T# T  p" j$ y1 d- Q
! a6 R0 {* ?5 X: K1 Q/ v
$ X, R' N6 r4 [% B- G

00H-1FH为工作寄存器区,里面就是通用寄存器组R0-R7,每八个分一组,如第一组为R0-R7,地址位00-07H;假设第一组叫1(R0-R7),那么08-0FH为第二组,就叫2(R0-R7),依次类推共有4组。这个区域是最常用的数据区,数据的操作大部分在这里进行。通用寄存器分组的好处是:当程序切换(特别是被中断或抢占的时候)只需要切换一组寄存器就可以获得一组新的寄存器,而不必担心和别的程序冲突,也可以尽量少的进行入栈和出栈操作,提高运行效率。作用?当然是放数据,只不过这个地方最好用。

20H-2FH为可位寻址区,这里和通用寄存器组一样可以进行位寻址,也就是说可以比较方便的进行位操作,个人认为它和通用寄存器组的区别是,没有逐个的命名和分组。使用频率较高的数据,或需要位操作的数据会放在这里。

30H-7FH是字节寻址区,很普通的数据缓存区,用来建立堆栈,还有放一些不太常用的数据。

以下需要注意,有两个80-FFH的数据区。

其一:80-FFH,特殊功能寄存器组区,支持直接寻址,各种各样的特殊功能寄存器都在这里。

其二:80-FFH,间接寻址区,着里只支持间接寻址,使用间接寻址指令避免和特殊功能寄存器区冲突。用来放一些不常用(相对不常用)的数据,由于使用R0或R1作指针寻址,用来建立数组数组是非常好的。

" C" V2 K2 y: f# a

该用户从未签到

2#
发表于 2019-3-1 17:10 | 只看该作者
看看MCS-51单片机内部RAM可分为几个区?以及作用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-20 12:46 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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