当前位置:   article > 正文

c51单片机中不同定义(idata,xdata ,code,idata)变量的存储位置不同_c51 xdata

c51 xdata

keil中对不同变量的数据进行存储

在这里插入图片描述
上图中是很长看到的一种存储数据变量code,类似这种存储方式还有data,xdata,idata,bdata,这些方式制定了数据的存储位置,方便程序中数据能够更快的处理(对于小数据量当然就没有这方面的考虑)。

传统c51单片机存储位置和变量定义图示

参考1参考2
data: 内部RAM低128字节,响应速度最快,采用直接寻址方式
idata: 内部RAM全256字节,采用间接寻址方式,速度相对较慢
bdata:片内RAM,位寻址方式
xdata:外部扩展RAM,采用**DPTR(data pointer数据指针访问,以16个二进制位为一个基础位,也就是两个字节为一个访问位)**访问
pdata:外部扩展RAM低256字节,分页寻址(一页256byte)
code:程序存储区,一般是内容较多且不需要修改的数据。

以ch552g芯片为例说明数据存储位置

从内存大小和数据传输速度分析

存储类型存储时间优点缺点
idata掉电丢失内部RAM,快速的数据传输,就像电脑中的内存条一般容量不大
data同上是idata的低字节,高字节是直接访问的特殊功能寄存器
xdata外部扩展ram,掉电丢失以数据指针方式访问,16位为一个单位
codeflash,掉电不丢失存储空间大,常用于存储不变的数据和程序访问速度慢

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/456034
推荐阅读
相关标签
  

闽ICP备14008679号