分享

关于DATA,XDATA,BDATA,IDATA,CODE的总结

 hxcnz 2013-05-14
空间名称
地址范围
说明
DATA
D:00H~7FH
片内RAM直接寻址区
BDATA
D:20H~2FH
片内RAM位寻址区
IDATA
I:00H~FFH
片内RAM间接寻址区
XDATA
X:0000H~FFFFH
64KB常规片外RAM数据区
HDATA
X:0000H~FFFFFFH
16MB扩展片外RAM数据区
CODE
C:0000H~FFFFH
64K常规片内外ROM代码区
HCONST(ECODE)
C:0000H~FFFFFFH
16MB扩展片外ROM常数区(对Dallas390可用作代码区)
BANK0~BANK31
B0:0000H~FFFFH
:
:
B31:0000H~FFFFH
分组代码区,最大可扩展32X64KB ROM
 
程序存储区
程序CODE 存储区是只读的他不能写程序存储区可能在8051CPU内或者在外部或者都有,根据8051派生的硬件决定
最多可以有64K字节的程序存储区程序代码
包括所有的函数和库保存在程序存储区,常数变量也是8051可执行程序只保存在程序存储区
在Cx51编译器中可用code存储区类型标识符来访问程序存储区

内部数据存储区
8051CPU内部的数据存储区是可读写的8051派生系列最多可有256字节的内部数据存储区
低128字节内部数据存储区可直接寻址;高128字节数据区从0x80到0xFF,只能间接寻址从20H开始的16字节可位寻址
因为可以用一个8位地址访问所以内部数据区访问很快然而内部数据区最多只有256字节

内部数据区可以分成三个不同的存储类型data idata 和bdata
data存储类型标识符通常指低128字节的内部数据区存储的变量直接寻址
idata存储类型标识符指内部的256个字节的存储区但是只能间接寻址速度比直接寻址慢
bdata存储类型标识符指内部可位寻址的16字节存储区20H到2FH 可以在本区域声明可位寻址的数据类型

外部数据存储区
外部数据区可读写访问外部数据区比内部数据区慢因为外部数据区是通过一个数据指针加载一个地址来间接访问的

几种8051系列增加片内XRAM 用和传统的外部数据区一样的指令访问这些空间用专用的SFR配置寄存器使能和外部空间重叠
外部数据区最多可有64K字节,当然这些地址不是必须用做存储区。
硬件设计可能把外围设备影射到存储区如果是这种情况程序可以访问外部数据区和控制外围设备,这可参考I/O的存储区影射
Cx51编译器提供两种不同的存储类型访问外部数据xdata和pdata
xdata存储类型标识符指外部数据区64K字节内的任何地址
pdata 存储类型标识符仅指一1 页或256 字节的外部数据区

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多