查看: 2556|回复: 2

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

[复制链接]
  • TA的每日心情
    开心
    2013-12-17 13:39
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-11-7 13:52:36 | 显示全部楼层 |阅读模式
    分享到:
    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,间接寻址区,着里只支持间接寻址,使用间接寻址指令避免和特殊功能寄存器区冲突。用来放一些不常用(相对不常用)的数据,由于使用R0R1作指针寻址,用来建立数组数组是非常好的。

    回复

    使用道具 举报

  • TA的每日心情

    2015-2-14 09:02
  • 签到天数: 656 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-11-7 14:14:20 | 显示全部楼层
    总结的不错{:soso_e179:}
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-1-9 12:14
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-11-7 20:33:35 | 显示全部楼层
    新人学习了!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 09:17 , Processed in 0.122067 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.