在C51中,定义一个数组时,为什麽要用code这个词,而不用data或其它的呢?如uchar code table[]={..}.或者说,在C51中,数组本身的书写格式就是这样的吗?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 04:55:52
在C51中,定义一个数组时,为什麽要用code这个词,而不用data或其它的呢?如uchar code table[]={..}.或者说,在C51中,数组本身的书写格式就是这样的吗?
在C51中,定义一个数组时,为什麽要用code这个词,而不用data或其它的呢?如uchar code table[]={..}.
或者说,在C51中,数组本身的书写格式就是这样的吗?
在C51中,定义一个数组时,为什麽要用code这个词,而不用data或其它的呢?如uchar code table[]={..}.或者说,在C51中,数组本身的书写格式就是这样的吗?
因为单片机的RAM有限,所以尽量把不变的数组都存在ROM中,在这里CODE就是起这个作用.
定义数组时在前面加上“code”和“data
数组前不加“code”或“data”,则默认将数组存放在程序存储器中;
code 指定数据是存储在代码区,数据是在编程的时候跟代码一起写入代码存储器,运行过程中不能改变;
xdata 指定数据是存储在外部数据存储器了;
data 指定数据存储在内部低128字节数据存储器里,如果变量不指定存储位置,默认就是data型,这部...
全部展开
定义数组时在前面加上“code”和“data
数组前不加“code”或“data”,则默认将数组存放在程序存储器中;
code 指定数据是存储在代码区,数据是在编程的时候跟代码一起写入代码存储器,运行过程中不能改变;
xdata 指定数据是存储在外部数据存储器了;
data 指定数据存储在内部低128字节数据存储器里,如果变量不指定存储位置,默认就是data型,这部分存储器寻址速度最快;
idata 指定数据存储在内部低256字节数据存储器里,但51只有128字节内部RAM,52才有256字节;
pdata 指定数据存储在外部低256字节数据存储器里,这时候寻址用8位寄存器R0和R1,而不用16位的DPTR,寻址速度比xdata快。
收起