1,STC单片机XDATA问题

这款单片机的xdata最多只有1024字节,你的程序已经超过了,把除了数组之外的变量定义为dada型

STC单片机XDATA问题

2,单片机原理与应用中data idata xdata code 分别指什么空间

这个应该是单片机Keil C的定义方法, 如MCS51单片机: iData表示外部地址,寻址范围在0~255。 xData表示外部地址,寻址范围在255以上到65536

单片机原理与应用中data idata xdata code 分别指什么空间

3,xdata的用法

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

xdata的用法

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

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

5,xdata 是什么

xdata 指单片机里的Flash存取器,Flash相对单片机里的RAM属于外部存取器,虽其结构位置装在单片机中,所以搂主误解为xdata一定是放在单片机外面,其是xdata是放在相对RAM的外面,而flash正是相对RAM外面
data 定义的是芯片的内核RAM,如51系列的前0X00-0X7F,和4个分组的R1-R7,所占用的区域.xdata 定义的芯片内核外部的扩展RAM,包括芯片外扩展的RAM,和芯片内扩展的RAM.
xdata 指单片机里的flash存取器,flash相对单片机里的ram属于外部存取器,虽其结构位置装在单片机中,xdata是放在相对ram的外面,而flash正是相对ram外面 uchar xdata* pdata=0x00; 在单片机的xdata存储器丽 定义一个指针变量pdata,初始值是0x00。

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型

7,51单片机定义一个大数组存在idata与xdata中有什么区别

51单片机定义一个大数组存在idata与xdata区别为:空间不同、访问不同、获取不同。一、空间不同1、idata:idata占用51单片机内部RAM的固定0x00-0xff空间。2、xdata:xdata占用51单片机外部RAM扩展的0x0000-0xffff空间。二、访问不同1、idata:idata用类似C中的指针方式进行访问。2、xdata:xdata用DPTR进行访问。三、获取不同1、idata:51单片机编译成功后,在idata区中,可以直接获取到定义的数组。2、xdata:51单片机编译成功后,在xdata区中,不可以直接获取到定义的数组。
区别如下:1、位置不同 idata定义在高128字节中,xdata定义在外部RAM中,一些单片机内部集成了外部RAM。 2、访问速度不一样 访问idata的速度稍快。 3、最后,可能也是最重要的,二者在初始化上区分很大。 在基本所有编译器下,unsigned char idata num[3]= 但是unsigned char xdata num[3]={1,2,3},在一些编译器下,xdata中,看不到该数组,程序可能不正确运行。
存储的区域不同idata 是存在 内部RAM 80H--FFH,(对汇编指令来说,不可直接寻址,只能间接寻址)。xdata 是存在外部RAM ,有些单片机会在芯片内扩展一些RAM,这部分也要用 xdata,因为是同外部RAM共同编址的,汇编指令中都是用 MOVX来寻址。
一个是内部RAM 一个是外部扩展RAM
idata间接寻址xdata外部地址

文章TAG:单片机xdata能定义多少单片机  xdata  定义  
下一篇