历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2020年03月20日 | Keil C51中code、data、bdata、idata、xdata、pdata的解释

2020-03-20 来源:eefocus

8051 结构提供给用户3 个不同的存储空间,程序存储器ROM,数据存储器RAM(内部RAM和外部RAM)。

Keil C51通过以下的关键字定义了不同的存储类型,从而确保用户能够访问到51架构的全部存储空间。


code:访问程序存储器ROM,即我们常说的代码段,用来存放可执行代码,空间可达64K(0x0000~0xffff),该存储空间的代码段是只读的。


data:访问可直接寻址的片内存储器,即内部RAM,即我们常说的DATA区或数据段,在整个RAM块中只占前128 字节(0x00~0x7f),因为它采用直接寻址方式,对变量最高速的访问最快,通常我们把使用比较频繁的变量或局部变量存储在DATA 段中,但是次数必须节省,因为它的空间毕竟有限。


DATA数据段中分为两个子段,第一个子段包含四组寄存器组,每组寄存器组包含八个寄存器,共32 个寄存器;另外一个子段叫做位寻址段BDATA, 大小16 个字节,共128 位,每一位都可单独寻址:


bdata:访问位寻址的片内存储器,即访问内部RAM,在其中从20H开始的16字节(0x20~0x2f)。


xdata:访问外部数据存储器,即外部RAM,大小64K(0x0000~0xffff),16 位地址寻,称作外部数据区简称XDATA 区,访问XDATA 须采用间接寻址。

idata:访问间接寻址的内部RAM ,256个字节(0x00~0xff),在8051 系列的一些单片机如8052 有附加的128 字节的内部RAM,固定指前面0x00-0xff的256个字节的片内RAM,其中前128字节和data的128字节完全相同,只是因为访问的方式不同。


pdata:访问当前页面内的外部RAM中的XDATA,每一页256字节,按页访问。PDATA 段只有256 个字节,而XDATA段可达65536 个字节(64K嘛),对PDATA 和XDATA 的操作是相似的,但是对PDATA 段寻址比对XDATA 段寻址要快,因为对PDATA 段寻址只需要装入8 位地址,而对XDATA 段寻址需装入16 位地址,所以尽量把外部数据存储在PDATA 段中。

推荐阅读

史海拾趣

飞虹(FeiHong)公司的发展小趣事

苏州锋驰深知知识产权的重要性,公司高度重视技术创新和知识产权保护工作。截至目前,苏州锋驰已拥有商标信息2条、专利信息13条,这些知识产权的积累为公司的持续发展提供了有力的保障。同时,公司还积极参与行业标准制定和技术交流活动,不断提升自身的技术水平和行业影响力。

国兴(GOODSKY)公司的发展小趣事

2013年8月26日,苏州锋驰微电子有限公司在江苏省苏州市张家港市正式成立,法定代表人为Fang Gang Feng。公司初期便明确了以集成电路IP、物联网、计算机软硬件、电子产品、集成电路及应用电路方案技术的设计、研发为核心业务的发展方向。在成立之初,面对激烈的市场竞争,苏州锋驰凭借对技术的执着追求和敏锐的市场洞察力,逐步在行业内站稳脚跟。

CTC Coils Ltd公司的发展小趣事

CTC Coils Ltd公司早期以生产传统电感线圈为主,随着电子技术的飞速发展,公司意识到必须进行技术升级。于是,公司投入大量研发资源,成功开发出一种新型高效能电感线圈,该产品在性能上大幅提升,同时降低了能耗。这一技术突破使CTC Coils Ltd的产品在市场上脱颖而出,公司迅速赢得了大量客户,并扩大了生产规模。

佰鸿(BrtLed)公司的发展小趣事

近年来,佰鸿公司开始将业务触角延伸至再生医学领域。通过多年的努力,公司成功建立了再生医学医疗与健康科技生态圈,并逐步实现了产业集群化。在再生医学领域,佰鸿不仅建立了产业化场地和研发设备,还计划在未来几年内打造国际领先的再生医学产业集群。这一多元化的发展战略,使得佰鸿在电子行业之外,也找到了新的增长点。

Hpc Technology Inc公司的发展小趣事

面对市场的不断变化和技术的不断进步,佰鸿公司始终保持着敏锐的洞察力和应变能力。近年来,随着LED行业的竞争日益激烈,公司开始积极寻求转型升级之路。通过调整产品结构、优化生产流程、拓展市场渠道等措施,佰鸿成功实现了从传统LED制造商向综合解决方案提供商的转型。这一转型不仅提升了公司的盈利能力,也为其未来的发展注入了新的活力。

以上五个故事从不同角度展示了佰鸿(BrtLed)公司在电子行业中的发展历程和成就。通过坚持市场导向、扩大生产规模、深耕再生医学领域、坚持技术创新以及积极应对市场变化等措施,佰鸿成功地在激烈的市场竞争中脱颖而出,成为了电子行业的佼佼者。

CDI-DIODE公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。CDI-DIODE公司始终坚持品质至上的原则,从原材料采购到生产流程控制,再到产品检测,都严格把关。这种对品质的执着追求赢得了客户的信任和口碑,使公司在激烈的市场竞争中脱颖而出。

问答坊 | AI 解惑

74LS47驱动数码管问题!!!

请问大家哈,我用74LS47驱动两个4位数码管,数码管亮度很微弱,我更改为双电源,单独给数码管提供5V电压,但是情况仍没有改变。我一时找不到原因!大家有什么看法没?感谢!!感谢!!感谢!!!…

查看全部问答>

开发PIC绝对不可缺少的仿真软件(转)

来源:http://pic16.com/bbs/dispbbs.asp?boardID=8&ID=41595&page=4 这里一分钟就让你学会使用PROTEUS(完整版) 近期流感爆发 由于小弟天天沉醉在电脑前忘乎所以 被染病多日随入院治疗 忽有客户来寻 手头一无开发工具 二无相关软件 只有笔记本 ...…

查看全部问答>

触摸屏的背光和触摸板驱动电路是分开的吗?为什么黑屏但触摸好用?

触摸屏的背光和触摸板驱动电路是分开的吗?为什么黑屏但触摸好用?…

查看全部问答>

WinCE BSP开发的几个问题,急!!!

我是青岛的目前原来是从事应用程序开发的,想转型做WinCE BSP开发,现在已经辞职在家专心学习WinCE BSP开发,现在实验用的板子是飞凌的OK2440III。由于在青岛没有找到这方面的朋友,所以许多问题只能靠自己研究或是到网上查资料。现在我有下面的一 ...…

查看全部问答>

笔记本HP500键盘无响应?

笔记本HP500键盘无响应? 重起之后就可以用了!但是用不了多久就又没有响应了! 请问如何解决?…

查看全部问答>

LM3S菜鸟成长日记-SD卡-文件写/读

replyreload += \',\' + 813951;实现功能:创建12-29.txt,写入EEWORD GOOD!,然后在读出来 主代码: int main(void){ //系统时钟 SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC| SYSCTL_OSC_MAIN |     &n ...…

查看全部问答>

全局时钟资源的使用方法

IBUFG + BUFG的使用方法:IBUFG后面连接BUFG的方法是最基本的全局时钟资源使用方法,由于IBUFG组合BUFG相当于BUFGP,所以在这种使用方法也称为BUFGP方法。 IBUFGDS + BUFG的使用方法:当输入时钟信号为差分信号时,需要使用IBUFGDS代替IBUFG。 ...…

查看全部问答>

请问,BRR值的怎么得出来的?

小弟手上的开放板的外部晶振是25M,串口通信,波特率为115200时,BRR是0x0135. 想问下0x0135是怎么算出来的?看了STM32的数据手册,没看懂。…

查看全部问答>

大家说说 ,自己都什么情况下把 DSP给烧了.

大家说说 ,自己都什么情况下把 DSP给烧了. 说说我的: AD 的过压.   另外模拟地没有处理好. 短路了.   有经历过更复杂的吗? …

查看全部问答>

电子格式阅读器大集合

PDF,TXT,PDB,PDG等常用电子书阅读器秒杀大集合。 我感觉很棒,如果喜欢就捧个场,喜欢电子工程世界 …

查看全部问答>