data存储类型

DATA区域寻址最快,应该把经常使用的变量放在DATA区,但是其存储空间有限,
DATA区除了包含程序变量外,还包括了堆栈和寄存器组。

unsigned int data xx[8];

BDATA区是DATA中的位寻址区,在这个区中声明变量就可以进行位寻址。
 

unsigned int bdata status_byte;

IDATA区使用寄存器作为指针来进行间接寻址,常用来存放使用比较频繁的变量。
与外部寄存器相比,它的指令执行周期和代码长度相对较短。
 

 unsigned int idata xx[8];

访问片外数据存储区比访问片内存储区慢,因为片外数据存储区是通过数据指针加载地址来间接
寻址访问的。C51提供两种不同的数据类型xdata和pdata来访问片外数据存储区。
pdata区只有256字节,仅指定256字节的外部数据存储区。但xdata区最多可达64KB,
对应的xdata存储类型标识符可以指定外部数据区64KB内的任务地址。
 

 unsigned int pdata xx[8];   
 char xdata string[16];

程序存储区只能读不能写,51单片机的内部或者外部,或者内外部都有,
由单片机的硬件决定,C51提供了code存储类型来访问程序存储区。
 

unsigner char code a[]={0x00,0x01,0x02,0x03,0x04,0x05,...};

 


data :可直接寻址的内部数据存储区(128B)       可寻址片内ram
idata:不可直接寻址的内部数据存储区(256B)    可寻址片内ram,允许访问全部内部ram
bdata:可位寻址内部数据存储区(16B)               可位寻址的片内ram
xdata:外部数据存储区(64KB)                           可寻址片外ram(64k地址范围)
pdata:分页的外部数据存储区                                分页寻址片外ram(MOVX@R0)(256 BYTE/页),最好不用,据说有BUG

code :程序存储区(64KB)               程序存储区(64k地址范围),对应MOVC@DPTR

 

data 定义的是芯片的内核RAM,如51系列的前0X00-0X7F,和4个分组的R1-R7,所占用的区域.
xdata 定义的芯片内核外部的扩展RAM,包括芯片外扩展的RAM,和芯片内扩展的RAM.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值