- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机的存储器的RAM详解
传统MCS-51单片机内部数据存储器RAM结构
在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。
通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。
位寻址区
内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H~7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。
用户RAM区
在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。
内部数据存储器高128单元
内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80H~FFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。
外部数据存储器
外部数据存储器是指通过添加硬件RAM IC实现的,用来扩充RAM的存储器。
在 80C51/87C51/89C51片内,分别内置最低地址空间的4KB ROM/EPROM程序存储器(内部程序存储器),而在8031片内,则没有内部程序存储器,必须外部扩展EPROM。80C51系列单片机中64KB 内、外程序存储器的地址是统一编排的。8031单片机没有内部程序存储器,地址从0000H~FFFFH都是外部程序存储空间。 应始终接地,对于内部有ROM的单片机(5l、52系列),该引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000H~FFFFH,访问程序存储器使用MOVC指令。
51单片机存储区分配如下:存储区 地址范围 功能说明 ?
?
?
?
内部RAM
(256Byte) 00H-1FH 内部使用DATA区,四个工作寄存器组(4*8=32Byte),用于内部参数传递 20H-2FH
? BDATA区,DATA 区的16 个字节的可位寻址区 30H-7FH 用户可用非位寻址DATA区,可在一个周期内直接寻址 80H-FFH IDATA区,用户可用的内部RAM 区的高128 个字节,必须采用间接寻址 80H-FFH 可以进行位寻址的特殊功能寄存器(SFR) ?
外部扩展RAM
(最大64KByte) 00H-FFH PDATA区,外部存储区的256 个字节通过P0 口的地址对其寻址,需要两个指令周期 00H-FFFFH XDATA区(外部存储区),使用DPTR 寻址 ROM
(最大64KByte) 00H-FFFFH CODE区(程序存储区),使用DPTR 寻址 80C5280C51增强型单片机内部RAM结构
内部RAM大小为256个字节其中00H~7FH可分为3个区域:00H~1FH 是通用寄存器区20H~2FH 是位寻址区 30H~7FH 是用户RAM区 80H~FFH是特殊功能寄存器区
两者的地址重叠了,区别方法如下:对80H~FFH直接寻址,就是读写SFR,特殊功能寄存器;对80H~FFH间接寻址,就是读写RAM。
1,DATA,51的内部RAM,只有128B(字节)大小,不管是最新的什么增强型单片机;
2,IDATA,大小也为128B,与DATA构成256字节的内存(如AT89C52),XDATA,外部RAM,只能使用MOVX寻址,CODE,代码区,即是你的代码的大小,AT89C51为4K,C52为8K等,增强型的有更多的选择
其实就是
DATA :128BIDATA:128BXDATA:1024B
文档评论(0)