- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机的存储空间
单片机的存储空间
2.2 MCS-51存贮器组织
2.2.1 MCS-51存储器的配置
? 64K程序存储器空间:0000H~0FFFFH
? 128/256字节内部RAM空间:00H~0FFH
8051系列:00H~07FH (128字节)
8052系列:00H~0FFH (256字节)
? 128字节内部特殊功能寄存器空间:80H~0FFH
? 64K外部数据存储器空间:0000H~0FFFFH
? 位寻址空间:00H~0FFH。
00H~7FH位于内部 RAM 20H~2FH中
80H~0FFH位于内部特殊功能寄存器空间80H~0FFH中
图2.2.1-1为8051(8052)存储器分配示意图。
图2.2.1-1 8051(8052)存储器分配示意图
2.2.2 程序存储器
从图2.2.1可以看出引脚EA=1时执行单片机内部的程序存储器;引脚EA=0时执行单片机外接的程序存储器。此时程序地址指针为PC(16位),首先由P0口提供PC低8位(PCL),ALE提供PC低8位(PCL)锁存信号(供外接锁存器锁存PCL)。P2口提供PC高8位(PCH)。PSEN提供读信号,8位程序代码由P0口读入单片机。操作流程如图2.2.2-1所示。
图2.2.2-1 操作流程如
2.2.3 外部数据存储器空间
外部数据指针为DPTR,首先由P0口提供DPTR低8位(DPL),ALE提供PC低8位(DPL)锁存信号(供外接锁存器锁存DPL)。P2口提供DPTR高8位(DPH)。 提供读信号, 提供读信号,8位数据由P0口读入单片机。操作流程如图2.2.3-1所示
图2.2.3-1 操作流程图
2.2.4 8051单片机外接程序、数据存储器的典型应用
图2.2.4-1是一个8051单片机外接16K程序存储器及32K数据存储器的原理框图。其中程序存储器采用27128,数据存储器采用62256。由于只有一片程序存储器和一片数据存储器,故未考虑片选问题。如果有多片程序或数据存储器时,就需要利用高8位地址进行译码产生片选信号,用于选择多片程序或数据存储器中的一个芯片,如果没有片选信号会造成数据总线上的混乱。
图2.2.4-1 8051单片机外接16K程序存储器及32K数据存储器的原理框图
2.2.5 内部数据存储器空间
8051单片机内部RAM的地址从00H~7FH,8052单片机内部RAM的地址从00H~FFH。从图2.2.1-1可以看出内部RAM与内部特殊功能寄存器SFR都有80H~FFH相同的地址。内部RAM的访问(读写)与内部特殊功能寄存器SFR的访问(读写)是通过不同的寻址方式来实现的。直接寻址为内部RAM,间接寻址为内部特殊功能寄存器SFR。以直接寻址和间接寻址方式访问00H~7FH都是访问内部RAM。如图2.2.5-1所示
图2.2.5-1 内部RAM的访问方式
内部RAM可以分为00H~1FH、20H~2FH、30H~7FH(8052为0FFH)三个功能各异的数据存储器空间。单片机的内部RAM空间为256个8位存储单元,但内部RAM的实际大小与单片机的型号及生产厂家和型号有关。首先还是通过下表看一下这三个数据存储器空间的基本功能。
表2.2.5-1
地址范围 数量 功能 备注
00H~1FH 32个单元 四个工作区(R0,R1,R2,R3,R4,R5,R6,R7)
20H~2FH 16个单元 每一个单元的8位均可以位寻址及操作,即对16×8共128位中的任何一位均可以单独置1或清0
30H~7FH 80个单元 一般的存储单元。可以做数据存储或堆栈区 8052为30H~0FFH
? 00H~1FH(四个工作区)
这32个存储单元以8个存储单元为一组分成4个工作区。每个区有8个寄存器R0、R1、R2、R3、R4、R5、R6、R7与8个存储单元一一对应。寄存器与RAM地址的对应关系如下表所示
表2.2.5-2
工作区 0 工作区 1 工作区 2 工作区 3
地址 寄存器 地址 寄存器 地址 寄存器 地址 寄存器
00H R0 08H R0 10H R0 18H R0
01H R1 09H R1 11H R1 19H R1
02H R2 0AH R2 12H R2 1AH R2
03H R3 0BH R3 13H R3 1BH R3
04H R4 0CH R4 14H R4 1CH R4
05H R5 0DH R5 15H R5 1DH R5
06H R6 0EH R6 16H R6 1EH R6
07H R7 0FH R7 17H R7 1FH R7
从上表中可以看出,对于1个R0有00H、08H、10H、18H四个存储单元与之相对应;同样对于1个R5有05H、0DH、15H、1DH四个存储单元与之相对应,那么以R0为例,它在什么时
文档评论(0)