单片机C51 DATA,XDATA,BDATA,IDATA,CODE存储资源分配
单片机初学者一般对c51语言里的DATA,XDATA,BDATA,IDATA,CODE,不是很清楚,因为在微机的c语言里根本没有这些东西,一下子出来难以让人接受,特别是没有硬件基本的朋友们.这也是写程序的时候经常犯错误的地方。请看下表
普通51系列单片机存储空间资源分配情况
空间名称 | 地址范围 | 说明 |
DATA | D:00H~7FH | 片内RAM直接寻址区 |
BDATA | D:20H~2FH | 片内RAM位寻址区 |
IDATA | I:00H~FFH | 片内RAM间接寻址区 |
XDATA | X:0000H~FFFFH | 64K片外RAM数据区 |
CODE | C:0000H~FFFFH | 64K片内外ROM代码区 |
BANK0~BANK31 | B0:0000H~FFFFH : : B31:0000H~FFFFH | 分组代码区,最大可扩展32X64KB ROM |
单片机学习网http://www.51hei.com给大家整理出了上下这两个表格,方便大家查询。有问题可在评论或者论坛中提出。
下表是新型80C51单片机扩展空间的分配情况
空间名称 | 地址范围 | 说明 |
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 |
评论