單片機初學者一般對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://m.zg4o1577.cn給大家整理出了上下這兩個表格,方便大家查詢。有問題可在評論或者論壇中提出。
下表是新型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
|