1.前言
mcs-51的存储器有片内ram、片外ram 和 rom 三个空间。
mcs-51单片机在物理结构上有四个存储空间
1、片内程序存储器(片内rom)
2、片外程序存储器(片外rom)
3、片内数据存储器(片内ram)
4、片外数据存储器(片外ram)
在逻辑上(即从用户的角度上)mcs-51单片机有三个存储空间
1、片内外统一编址的64k的程序存储器(rom)地址空间(movc)
2、256b的片内数据存储器(片内ram)的地址空间(mov)
3、以及64k片外数据存储器(片外ram)的地址空间(movx)
注:在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。
2.存储空间划分
2.1 片内ram
图:片内am地址空间划分
地址范围是00h到7fh (52系列延伸到ffh),为8位地址,所以最大可寻址的范围为256个单元地址
• 00h到1fh
共32字节,分成四个工作寄存器区,每区有寄存器 r0~r7。对此区域,可以使用 r0~r7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。对此区域,也可以使用字节地址,来读写。
• 20h-2fh
共16字节,是位寻址区,共有128个“位”,位地址:00~7fh。此区域,也可按照字节寻址,来读写。
• 30h-7fh
没有什么特色,只进行字节寻址。
• 80h-ffh
共有128个地址号码,其中离散的分布着21个特殊功能寄存器,必须直接寻址才能读写。(52系列,在此范围,还有128字节的 ram,必须间接寻址才能读写)。
注:对上述空间读写,必须使用 mov 指令。
2.2 片外ram
片外ram的地址范围是0000h到ffffh,容量即为64kb。对片外ram读写,必须使用 movx 指令。
对片外ram采用间接寻址方式,r0、r1和dptr都可以做为间接寻址寄存器,r0、r1是8位的寄存器,即r0、r1的寻址范围最大为256个单元,而dptr是16位地址指针,寻址范围就可达到64kb。
也就是说在寻址片外ram时,寻址范围超过了256b,就不能用r0、r1做为间接寻址寄存器,而必须用dptr寄存器做为间接寻址寄存器。
2.3 rom
rom的地址范围是0000h到ffffh,容量即为64kb,地址长度16位,作用是 存放程序及程序运行时所需的常数。
其中0000~0fffh,即4k,在片内,其它在片外。
ea = 1,寻址内部rom;ea = 0,寻址外部rom对rom读出,必须使用 movc 指令。
VisIC 公司宣布其电动汽车充电器(OBC)计划投入市场,重量仅为4.5千克
三种方法教你如何破解51单片机
触想触控一体机在商业智能智慧点餐中的应用分享
采用有源RFID的仓库管理系统设计方案
怎样打好机器学习的基础
基于MCS-51单片机的三个存储空间及划分解析
功率元件有哪些 功率元件和信号元件区别
竞赛数量远超,却因10字被爽约,“米粉”怒撕雷军?
Linux mv命令的真正使用方法
python布尔值是什么
otl功率放大器
红米Note6获认证 或在9月中旬发布
扫地机器人EMI方案
北京北科天绘科技有限公司自主研发的R-Fans-32激光雷达亮相科技周、科博会
dcdc负压电路原理
充电电池和单机快速充电器概述
对于新造车企业来说,借壳、买壳、造壳三种方式哪种更划算?
科普一下led柔性灯带对酒吧的应用以及特点优势!
美光CEO过于乐观 认为未来存储市场一片光明
沙纳汉声称,2020将是美军在人工智能领域实现突破的一年