MCS-51单片机内部RAM可分为几个区?各区的主要作用是什么

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作指针寻址,用来建立数组数组是非常好的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值