52本身有256B的数据存储区,如果没在意一些细节,很容易出现RAM超过128就报错的情况.现讲其问题解释如下: 最常见的是以下两种: ① 超过变量128后必须使用compact模式编译,实际的情况是只要内存占用量不超过256.0,就可以用 small 模式编译 ② 128以上的某些地址为特殊寄存器使用,不能给程序用.与 PC 机不同,51 单片机不使用线性编址,特殊寄存器与 RAM 使用重复的重复的地址.但访问时采用不同的指令,所以并不会占用 RAM 空间. ③是否把一些固定的代码存贮到了CO