资料介绍
在51系列中data,idata,xdata,pdata的区别:
data: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
idata: 固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)。
xdata: 外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
pdata: 外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
RAM解决方案
1.右键单击Target选择“Options for Target‘Target1’”就会出来一个框,在memory model中选择compact:variables in pdata 就可以了。
“Keil Cx51编译器提供三条编译模式控制命令:SMALL,COMPACT,LARGE,它们对变量存储器空间的影响如下。
SMALL:所有变量都被定义在8051单片机的片内RAM中,对这种变量的访问速度最快。另外,堆栈也必须位于片内RAM中,而堆栈的长度是很重要的,实际栈长取决与不同函数的嵌套深度。采用SMALL编译模式与定义变量时指定data存储器类型具有相同效果。
COMPACT:所有变量被定义在分页寻址的片外XRAM中,每一页片外XRAM的长度为256字节。这时对变量的访问是通过寄存器间接寻址(MOVX @R0,MOVX @R1)进行的,变量的低8位地址由R0和R1确定,变量的高8位地址由P2口确定。采用这种模式时,必须适当改变配置文件STARTUP.A51中的参数:PDATASTART和PDATALEN;同时还必须对uVision2的“Options选项/BL51 Locator 标签页/Pdata框”中键入合适的地址参数,以确保P2口能输出所需要的高8位地址。采用COMPACT编译模式与定义变量时指定 pdata存储器类型具有相同效果。
LARGE:所有变量被定义在片外XRAM中(最大可达64KB),使用数据指针DPTR来间接访问变量(MOVX @DPTR),这种编译模式对数据访问的效率最低,而且将增加程序的代码长度。采用LARGE编译模式与定义变量时指定xdata存储器类型具有相同效果。
- 51单片机堆栈深入剖析
- 关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)
- 51单片机的驱动说明 7次下载
- 51单片机堆栈的溢出问题和堆栈大小的详细说明
- 51单片机中位地址在内存的位置及51单片机中片内RAM的使用规范说明
- 51单片机经常会出现的4点错误解决方法详细说明
- 进行51单片机存储器扩展的详细资料说明
- 51单片机无法烧录程序应该如何解决详细方法说明
- 51单片机的存储原理详细资料说明
- 51单片机的物理存储地址的详细资料说明
- 如何使用51单片机扩展64K的RAM详细资料免费下载
- 51单片机的内部RAM的详细资料说明
- 51单片机用到strcmp比较字符串有的问题和解决方法说明
- 使用51单片机中断标志的一个小问题你了解吗
- 综合整理的51单片机C语言400实例和单片机仿真300例资料说明 648次下载
- 什么是51单片机最小系统 2159次阅读
- 51单片机的基础知识 9975次阅读
- AT89S51单片机功能及特点 4665次阅读
- 51单片机烧写程序的方法 4929次阅读
- 51单片机指令快速记忆方法总结 4821次阅读
- 单片机的结构和原理说明 5025次阅读
- 51单片机的最小系统应用说明 7719次阅读
- 如何对51单片机RAM不同的区域进行划分 2259次阅读
- 如何采用51单片机开发操作体系 704次阅读
- 如何正确的划分51单片机中的RAM 7442次阅读
- 基于MCS-51单片机的三个存储空间及划分解析 1.4w次阅读
- 新手学习单片机的首选:51单片机 8536次阅读
- 单片机8x8矩阵键盘原理说明 2.5w次阅读
- MCS-51单片机存储空间的介绍以及划分 2.6w次阅读
- 解析80C51单片机中的cpu、存储器配置以及并行输入/输出口 2.6w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多