当前位置:首页 > 单片机 > 单片机
[导读]很多单片机初学者甚至有些用老工程师对data,idata,xdata,pdata,code这些东西一直都搞不明白是怎么回事。最近看到一篇关于keil中data,idata,xdata,pdata,code的问题的文章,转过来跟大家分享一下从数据存储类型来说,

很多单片机初学者甚至有些用老工程师对data,idata,xdata,pdata,code这些东西一直都搞不明白是怎么回事。最近看到一篇关于keil中data,idata,xdata,pdata,code的问题的文章,转过来跟大家分享一下

从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。

在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,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。

单片机C语言unsigned char code table[] code 是什么作用?

code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。

程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data区的数据进行运算处理,因此code区存储在什么介质上并不重要,象以前的计算机程序存储在卡片上,code区也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是运行速度要慢很多,主要读flash比读ram要费时间),因此一般的做法是要将程序放到flash里面,然后load到 ram里面运行的;DATA区就没有什么选择了,肯定要放在RAM里面,放到rom里面改动不了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

EMI屏蔽‌是指采取措施减少或防止电磁干扰(EMI)的传播。电磁干扰是指由电子设备或系统产生的电磁能量,这些能量可能会影响其他设备的正常工作。EMI屏蔽的目的是保护敏感设备免受外部电磁干扰,同时也防止设备本身发出的电磁干...

关键字: EMI PDA

GitCode × CSDN 文心大模型实战测评与社区探讨系列活动火热进行中。 北京 2025年6月30日 /美通社/ -- 6月30日,百度文心大模型 4.5 系列模型正式开源,并在国内领先的开源平台 Gi...

关键字: 模型 CODE 开源 GIT

CodeFusion Studio™系统规划器(System Planner)支持在异构架构中实现便捷的资源分配,并能够优化代码生成以提高效率 数据溯源软件开发(Data Provenance Software...

关键字: ADI CODE FUSION STUDIO

北京2024年11月27日 /美通社/ -- 11月26日,2024 英特尔新质生产力技术生态大会在成都举行。作为英特尔战略合作伙伴,软通动力及旗下机械革命受邀参会,Intel、智谱、机械革命三方联合发布了专为程序员设计...

关键字: CODE 程序员 英特尔 AI

ADI面向开发者打造全新套件,整合跨设备、跨市场的硬件、软件和服务,CodeFusion Studio™和ADI新推出的开发者门户是该套件中首批亮相的方案 此外还包括ADI Assure™可信边缘安全架构,这是...

关键字: ADI CODE FUSION STUDIO

在日新月异的多媒体时代,便携式电子产品,如智能电话、PDA、MP3、PMP、DSC、DVC、NB等多媒体产品,对声音质量的要求越来越严格。

关键字: 电子产品 智能电话 PDA

行业专家线下重聚,共话生命科学数智创新未来 上海2023年9月7日 /美通社/ -- 由法国达索系统全资子公司Medidata举办的第十二届NEXT中国年会于今日在上海隆重召开。Medidata NEXT是Medida...

关键字: IDATA NEX 数字化 AI

上海2022年12月5日 /美通社/ -- 12月1日,上海德达医院胸外科/肿瘤科正式迁入医疗楼3C独立病区,舒适宽敞的环境、整洁优雅的配套设施让患者感受到了"家"一样的舒适。新病区的启用,标志着上海...

关键字: VI 医疗服务 CE CODE

数智领航,助推生命科学领域创新变革 上海2022年10月26日 /美通社/ -- 2022年第十一届Medidata NEXT中国年会于今日盛大开幕。这场线上盛会由法国达索系统全资子公司Medidata举办,是每年Me...

关键字: IDATA NEX 数字化 VIA

韩国海洋水产部(海水部)表示,从10月24日起允许外国游客搭乘邮轮入境及下船旅游,但所有船员和乘客须遵守国内防疫规定。根据规定,所有乘客和船员在邮轮内的剧场、餐厅等室内公共设施须佩戴口罩,入境前须通过检疫信息登记系统(Q...

关键字: CODE
关闭