最近用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

相关文章:

  • 2021-11-09
  • 2021-11-29
  • 2022-02-10
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
  • 2021-06-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
相关资源
相似解决方案