单片机RAM存储器详解.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 :128B IDATA:128B XDATA:1024B

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档