单片机定义unsigned char code led是什么意思?

单片机c语言编程中有个定义unsigned char code led;这个code是什么意思?我把code去掉也能正常运行

指定变量led存储在code区。也就是rom或者是flash,这要看单片机程序存储器的构成,像7的就是EPROM如87C51;0的是掩模,如80C51;9的就是flash,常见的89S51.
code去掉也可以,不过是把变量存放在别的区域。这要根据编译器的设定存储模式来定。
如果变量体积大了,就要定义在code区。毕竟51系列的ram不够,尤其是程序比较大的时候
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-29
code是指变量存放在rom,一般不用也没事,不用就相当于定义了unsigned char data led。但如果你定义了多个数组TAB[]太长data就放不下了,这时你可以放在xdata或code中。你看别人程序一般数组都用code定义。你自己在keil中编译后会有这么一句的data=。。。,xdata=。。。。,code=。。。我有次就是数组太长没用code定义找半天没找到错误。我就知道这么多了。
第2个回答  2009-09-29
无符号字符型变量。code是指该变量存放在ROM(程序存储区)。
第3个回答  2009-09-29
加code是把led放到rom,不加是放到ram中