最近用51单片机做个小项目,编写程序时,出现如下错误
MAIN.C(284): error C249: 'PDATA': SEGMENT TOO LARGE
MAIN.C(284): error C249: 'DATA': SEGMENT TOO LARGE
当时还不知道怎么回事,后来才发现51单片机的ram比较小,只有128b,所以要省着使用
当你定义数组不用更改时,就用uchar code XX[10]=
根据你数据的用处,你可以有以下几种选择:
data:直接寻址的片内RAM区低128B(00H~7FH)
bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问
idata:单片机间接访问的片内RAM区,允许访问全部片内RAM
pdata:Ri间接访问的片外RAM的低256B(00H~FFH)
xdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAM(0000H~FFFFH)
code:单片机的64KB程序存储区ROM
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。