全站数据
8 4 2 0 5 8 1

51怎么定义全局数组

会计伯伯 | 简单学习,快乐成才!         
问题更新日期:2024-10-12 08:10:30

问题描述

51怎么定义全局数组急求答案,帮忙回答下
精选答案
最佳答案

数组前不加“code”或“data”,则默认将数组存放在程序存储器中;

code 指定数据是存储在代码区,数据是在编程的时候跟代码一起写入代码存储器,运行过程中不能改变;

xdata 指定数据是存储在外部数据存储器了;

data 指定数据存储在内部低128字节数据存储器里,如果变量不指定存储位置,默认就是data型,这部分存储器寻址速度最快;

idata 指定数据存储在内部低256字节数据存储器里,但51只有128字节内部RAM,52才有256字节;

pdata 指定数据存储在外部低256字节数据存储器里,这时候寻址用8位寄存器R0和R1,而不用16位的DPTR,寻址速度比xdata快。

单片机C语言unsigned char code table[] code 是什么作用?

code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC(好像是), 因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM 的意思。