本文目录一览

1,xdata是什么

xdata指单片机里的Flash存取器,Flash相对单片机里的RAM属于外部存取器,虽其结构位置装在单片机中,所以搂主误解为xdata一定是放在单片机外面,其是xdata是放在相对RAM的外面,而flash正是相对RAM外面

xdata是什么

2,你代码中的xdata和code是什么意思这个没懂

xdata 是 外部 Ram 区code 是 外部 Rom 区
data = 93.2 代表你的程序中全局变量占用的字节;xdata 表示是外部ram,有些单片机有扩展ram,使用时 变量定义之前要加xdata;code = 3194 代表程序编译后的hex文件大小 3174 byte

你代码中的xdata和code是什么意思这个没懂

3,xdata的用法

typedef XXX xdata,找到这个位置,你就知道他定义的xdata是什么了。一般用来代表链表里面的数据类型。至于具体什么类型要看typedef XXX xdata; XXX位置是什么类型了,很有可能是结构体
你好!在单片机的内部就存在外部扩展RAM,哥你不要望文生义呀。。打字不易,采纳哦!

xdata的用法

4,我想在keil里使用xdata请问需要定义xdata吗还是可以直接使用

先看下面一张图片,如果你是在SMALL模式下编程的话,像unsigned char tmp;这样定义变量的话都是定义在内部数据寄存器区的,跟unsigned char data tmp;效果一样. 需要定义xdata的话那就在变量名前面加xdata,如unsigned char xdata tmp; 如果是在LARGE模式下编程的话,如果你定义普通变量,如unsigned char tmp;那么优先是把它定义成xdata变量(不过也可能是定义在data区的),如果写成unsigned char xdata tmp就肯定是定义在外部数据寄存器的了.

5,关于定义xdata是什么意思

xdata是外部扩展内存数据定义字,在KEIL中用来定义变量表达的数据的位置位于扩展内存中,如果是可变数据,那么访问该数据要用到MOVX指令,而不是MOV指令,不占用内部寄存器的存储空间,但是如果硬件上没有扩展内存的话,那么运行时就会出错了。如果再加上CODE来定义,那么这个数据就是一个存于扩展存储器中的常量,只能用MOVC来访问。
vucid是一个变量名,unsigned char 可取0至255,表示vucid这个变量为无符号字符型数据,一个字节大小,xdata表示vucid这个变量存放在外部存储区中。xdata,为定义在单片机00h-ffh之外的地址内,就是指外部存储空间.

6,单片机关于xdata定义问题

阁下如果深入理解单片机片外扩展的精髓就不会有这个疑问了。你只知道XDATA是扩展片外数据存储器的,可是所谓的数据存储器只是存储数据吗?实际上所有的片外资源都可以当数据存储器用的。打印机、数码管、液晶、步进电机.....只要你让它的引脚按照片外数据存储器的变化规律变化就行了。对单片机来说,不在乎外面接了什么,只要你传递的引脚电平跟它进行片外数据存储器数据传递时要求的规律一样就行。仅举一例:有些器件用/C/S选通,你可以把/C/S接P2的某一位(假如是第7位)。当这个芯片用作片外数据存储器时,P2的这个引脚低电平时,选通这个芯片。你可以让片外数据存储器的地址为0x7F??。(高八位是p2口输出,只要最高位为0),此时这个芯片就选通,至于如何操作,就要你按照ALE 、P0、p2在传递数据时的电平变化规律设计了。
xdata 指单片机里的Flash存取器,Flash相对单片机里的RAM属于外部存取器,虽其结构位置装在单片机中,所以搂主误解为xdata一定是放在单片机外面,其是xdata是放在相对RAM的外面,而flash正是相对RAM外面
有些芯片,把少量的外部数据存储器集成在里面了。寻址的时候当然还是要XDATA,只不过把它们封装在了一起而已。具体可参考器件手册。
这款单片机的xdata最多只有1024字节,你的程序已经超过了,把除了数组之外的变量定义为dada型

文章TAG:xdata  xdata是什么  
下一篇