精华内容
下载资源
问答
  • "51单片机编程在不同内存空间data xdata bdata定义变量的注意事项": 关键词:51单片机编程不同内存空间dataxdatabdata定义变量注意事项 1、data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到data...

    "51单片机编程在不同内存空间data xdata bdata定义变量的注意事项":

    关键词51 单片机 编程 不同 内存空间 data xdatabdata 定义 变量 注意事项

     

    1、data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到data区内,比如for循环中的计数值。

    2、data区内最好放局部变量。

    因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率。当然静态局部变量除外,其内存使用方式与全局变量相同;

    3、确保你的程序中没有未调用的函数。

    在keil c里遇到未调用函数,编译器就将其认为可能是中断函数。函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。这一点keil c做得很愚蠢,但也没办法。

    4、程序中遇到的逻辑标志变量可以定义到bdata中,可以大大降低内存占用空间。

    在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量。定义方法是:bdatabit ledstate;但位类型不能用在数组和结构体中。

    5、其他不频繁用到和对运算速度要求不高的变量都放到xdata区。

    6、如果想节省data空间就必须用large模式,将未定义内存位置的变量全放到xdata区。当然最好对所有变量都要指定内存类型。

    7、当使用到指针时,要指定指针指向的内存类型。

    在c51中未定义指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。如指针p是指向data区,则应定义为:char data *p;。还可指定指针本身的存放内存类型,如:char data * xdata p;。其含义是指针p指向data区变量,而其本身存放在xdata区。

    单片机初学者一般对c51语言里的data,xdata,bdata,idata,code,不是很清楚,因为在微

     

    此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com

    机的c语言里根本没有这些东西,一下子出来难以让人接受,特别是没有硬件基本的朋友们.这也是写程序的时候经常犯错误的地方。请看下表 
    普通51系列单片机存储空间资源分配情况

    空间名称

    地址范围

    说明

    data d:00h~7fh 片内ram直接寻址区
    bdata d:20h~2fh 片内ram位寻址区
    idata i:00h~ffh 片内ram间接寻址区
    xdata x:0000h~ffffh 64k片外ram数据区
    code c:0000h~ffffh 64k片内外rom代码区
    bank0~bank31 b0:0000h~ffffh
    :
    :
    b31:0000h~ffffh
    分组代码区,最大可扩展32x64kb rom





    下表是新型80c51单片机扩展空间的分配情况

    空间名称

    地址范围

    说明

    data d:00h~7fh 片内ram直接寻址区
    bdata d:20h~2fh 片内ram位寻址区
    idata i:00h~ffh 片内ram间接寻址区
    xdata x:0000h~ffffh 64kb常规片外ram数据区
    hdata x:0000h~ffffffh 16mb扩展片外ram数据区
    code c:0000h~ffffh 64k常规片内外rom代码区
    hconst(ecode) c:0000h~ffffffh 16mb扩展片外rom常数区(对dallas390可用作代码区)
    bank0~bank31 b0:0000h~ffffh
    :
    :
    b31:0000h~ffffh
    分组代码区,最大可扩展32x64kb rom


    单片机关键字data,idata,xdata,pdata的区别data:
    固定指前面0x00-0x7f的128个ram,可以用acc直接读写的,速度最快,生成的代码也最小。

    idata:
    固定指前面0x00-0xff的256个ram,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似c中的指针方式访问的。汇编中的语句为:mox acc,@rx.(不重要的补充:c中idata做指针式的访问效果很好)

    xdata:
    外 部扩展ram,一般指外部0x0000-0xffff空间,用dptr访问。 pdata:外部扩展ram的低256个字节,地址出现在a0-a7的上时读写,用movx acc,@rx读写。这个比较特殊,而且c51好象有对此bug, 建议少用。但也有他的优点,具体用法属于中级问题,这里不提。

    startup.a51的作用
    和 汇编一样,在c中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data xxx="100
     

    搜索此文相关文章:51单片机编程在不同内存空间data xdata bdata定义变量的注意事项

    此文链接:http://www.makaidong.com/IT%E5%8D%9A%E5%AE%A2%E5%9B%AD/6774.shtml

    转载请注明出处:51单片机编程在不同内存空间data xdata bdata定义变量的注意事项 - 博客园

    转载于:https://www.cnblogs.com/qsyll0916/p/8000798.html

    展开全文
  • STC单片机xdata使用疑惑

    千次阅读 2019-05-15 14:43:40
    STC单片机xdata使用疑惑 [复制链接] jxrjamu发表于 2018-10-30 11:56|显示全部楼层 按照STC8的数据手册 #define uchar unsigned charuchar xdata a; 这样定义可以编译都是...

    STC单片机xdata的使用疑惑 

    [复制链接]
       

     jxrjamu 发表于 2018-10-30 11:56 | 显示全部楼层

    按照STC8的数据手册 #define uchar unsigned char  uchar xdata a;
    这样定义可以编译都是程序异常不知道怎么回事。
    那我大神可以科普一下STC xdata 的使用方法吗?



     
     
      回复

    举报

       

     mengzhixinheng 发表于 2018-10-31 21:05 | 显示全部楼层

    这个不是XDATA的问题吧,你的宏定义有问题。而且XDATA的申明只是把变量放到内部扩展RAM中,没有其他意义。你就这样“XDATA uchar a”就可以了
     
      回复

    举报

       

     cjm82 发表于 2018-11-1 10:32 | 显示全部楼层

    XDATA区为内部扩展RAM,基本上现在的51片子的RAM分内部RAM和内部扩展RAM,内部RAM一般为256字节,而内部扩展RAM区则根据不同的型号有所差别,一般同品牌,价钱越贵,基本内部扩展RAM容量也越大.内部RAM KEIL里对应的关键字为idata,其低128字节可以简单理解为生成代码最少读写速度最快,KEIL里对应的关键字为data.内部扩展RAM,KEIL对应的关键字为XDATA,通常内部RAM不够用的时候,会在定义变量时加上xdata关键字.详见相关参考手册.
    详细了解这些需要比较好的汇编和微机原理基础,一般只需大概了解即可.
    此外常用的还有bdata,其好处就是可以用sbit类型指向其具体一位.这在扩展IO口的时候经常用.

    bdata unsigned char P9;
    sbit Led1 = P9^0;
     
     

    回复

    展开全文
  • 如若使用xdata该如何修改程序,使用data的话往往会出现存储量不足的情况,想借助此程序学习xdata使用
  • XDATA

    2012-12-06 15:26:00
    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的...
    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。
    在51系列中data,idata,xdata,pdata的区别data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox
    ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
    pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx
    ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
    startup.a51的作用
    和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data
    xxx="100";,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清0。(startup.a51==变量的初始化)。
    这些初始化完毕后,还会设置SP指针。对非变量区域,如堆栈区,将不会有赋值或清零动
    作。
    有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。比如掉电保护的时候想保存一些变量,
    但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。, 为什么还要去改?
    可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性。


    bit
    是在内部数据存储空间中 20H .. 2FH
    区域中一个位的地址,这在DATA的20H以后以字节形式出现,可互相参照。另外加上8051 可寻址
    的SFR,但刚刚试过,只是00H--7FH起作用,也就是说当数据有变化时颜色变红,以后的从80H到--FFH就不是位寻址区了,是位寻址的特殊寄存器,如涉及到了可位寻址的那11个当然会有反应。复位后,程序计数器PC的内容为0000H,内部RAM各单元的值不确定。各功能寄存器的复位值如下:堆栈指针SP的复位值为07H,累加器ACC、寄存器B的复位值为00H,数据指针DPTR的复位值为0000H,而p0、p1、p2、p3四个口的复位值为0FFH。其他SFR如PSW、TCON、TMOD、TL0、TH0、TL1、TH1的复位值也为00H。
    wave中是低128字节和高128字节(0-7FH),低128字节是片内RAM区,高128字节(80-FFH)是SFR(特殊功能寄存器)bit则是位于低128字节的20H
    .. 2FH 区域,即data的20H .. 2FH 区域code是在 0000H .. 0FFFFH 之间的一个代码地址。
    我用
    ORG     5000H
    TAB:    
    DB      22H,3BH,43H,66H,5H,6DH,88H后,
    CODE从5000H开始以后变成DB各位data是在 0 到 127 之间的一个数据存储器地址,或者加 128 .. 255
    范围内的一个特殊功能寄存器(SFR)地址。两者访问的方式不同
    idata
    是 0 to 255 范围内的一个 idata 存储器地址。
    idata与data重合低128字节,有的地方只有DATA表示256字节的片内RAM,xdata 是 0 to 65535 范围内的一个 xdata 存储器地址。
    指针类型和存储区的关系详解
    一、存储类型与存储区关系
        
    data     --->     可寻址片内ram    
    bdata     --->     可位寻址的片内ram
        
    idata     --->    
    可寻址片内ram,允许访问全部内部ram
        
    pdata     --->     分页寻址片外ram (MOVX
    @R0) (256 BYTE/页)
        
    xdata     --->    可寻址片外ram (64k
    地址范围FFFFH)
        
    code     --->    程序存储区 (64k
    地址范围),对应MOVC @DPTR二、指针类型和存储区的关系
         对变量进行声明时可以指定变量的存储类型如:
         uchar data x和data
    uchar x相等价都是在内ram区分配一个字节的变量。    
    同样对于指针变量的声明,因涉及到指针变量本身的存储位置和指针所指向的存储区位置不同而进行相应的存储区类型关键字的
    使用如:
         uchar xdata * data
    pstr    
    是指在内ram区分配一个指针变量("*"号后的data关键字的作用),而且这个指针本身指向xdata区("*"前xdata关键字的作用),可能初学C51时有点不好懂也不好记。没关系,我们马上就可以看到对应“*”前后不同的关键字的使用在编译时出现什么情况。
         ......
         uchar xdata
    tmp[10];     //在外ram区开辟10个字节的内存空间,地址是外ram的0x0000-0x0009
         ......
         第1种情况:
         uchar data * data
    pstr;     pstr=tmp;
         首先要提醒大家这样的代码是有bug的,
    他不能通过这种方式正确的访问到tmp空间。 为什么?我们把编译后看到下面的汇编
    代码:
         MOV
    0x08,#tmp(0x00)        
    ;0x08是指针pstr的存储地址
         看到了吗!本来访问外ram需要2
    byte来寻址64k空间,但因为使用data关键字(在"*"号前的那个),所以按KeilC编译环境来说就把他编译成指向内ram的指针变量了,这也是初学C51的朋友们不理解各个存储类型的关键字定义而造成的bug。特别是当工程中的
    默认的存储区类为large时,又把tmp[10] 声明为uchar tmp[10]
    时,这样的bug是很隐秘的不容易被发现。
         第2种情况:
         uchar xdata * data
    pstr;     pstr = tmp;
        
    这种情况是没问题的,这样的使用方法是指在内ram分配一个指针变量("*"号后的data关键字的作用),而且这个指针本身指向xdata区("*"前xdata关键字的作用)。编译后的汇编代码如下。
         MOV
    0x08,#tmp(0x00)        
    ;0x08和0x09是在内ram区分配的pstr指针变量地址空间
         MOV 0x09,#tmp(0x00)
        
    这种情况应该是在这里所有介绍各种情况中效率最高的访问外ram的方法了,请大家记住他。
         第3种情况:
         uchar xdata * xdata
    pstr;
         pstr=tmp;
        
    这中情况也是对的,但效率不如第2种情况。编译后的汇编代码如下。
         MOV DPTR,
    #0x000A        
    ;0x000A,0x000B是在外ram区分配的pstr指针变量地址空间
         MOV A, #tmp(0x00)
         MOV @DPTR, A
         INC DPTR
         MOV A, #tmp(0x00)
         MOVX @DPTR, A
        
    这种方式一般用在内ram资源相对紧张而且对效率要求不高的项目中。
         第4种情况:
         uchar data * xdata
    pstr;     pstr=tmp;
        
    如果详细看了第1种情况的读者发现这种写法和第1种很相似,是的,同第1 种情况一样这样也是有bug的,但是这次是把pstr分
    配到了外ram区了。编译后的汇编代码如下。
         MOV DPTR,
    #0x000A        
    ;0x000A是在外ram区分配的pstr指针变量的地址空间
         MOV A, #tmp(0x00)
         MOVX @DPTR, A
         第5种情况:
         uchar * data pstr;     pstr=tmp;
        
    大家注意到"*"前的关键字声明没有了,是的这样会发生什么事呢?下面这么写呢!对了用齐豫的一首老歌名来说就是 “请跟我
    来”,请跟我来看看编译后的汇编代码,有人问这不是在讲C51吗?
    为什么还要给我们看汇编代码。C51要想用好就要尽可能提升C51
    编译后的效率,看看编译后的汇编会帮助大家尽快成为生产高效C51代码的高手的。还是看代码吧!
         MOV 0x08,
    #0X01            
    ;0x08-0x0A是在内ram区分配的pstr指针变量的地址空间
         MOV 0x09, #tmp(0x00)
         MOV 0x0A, #tmp(0x00)
        
    注意:这是新介绍给大家的,大家会疑问为什么在前面的几种情况的pstr指针变量都用2 byte空间而到这里就用3 byte空间了
    呢?这是KeilC的一个系统内部处理,在KeilC中一个指针变量最多占用 3
    byte空间,对于没有声明指针指向存储空间类型的指针,
    系统编译代码时都强制加载一个字节的指针类型分辩值。具体的对应关系可以参考KeilC的help中C51
    User's Guide。
         第6种情况:
         uchar * pstr;
         pstr=tmp;
        
    这是最直接最简单的指针变量声明,但他的效率也最低。还是那句话,大家一起说好吗!编译后的汇编代码如下。
         MOV DPTR,
    #0x000A        
    ;0x000A-0x000C是在外ram区分配的pstr指针变量地址空间
         MOV A, #0x01
         MOV @DPTR, A
         INC DPTR
         MOV DPTR, #0x000A
         MOV A, #tmp(0x00)
         MOV @DPTR, A
         INC DPTR
         MOV A, #tmp(0x00)
         MOVX @DPTR, A
        
    这种情况很类似第5种和第3种情况的组合,既把pstr分配在外ram空间了又增加了指针类型的分辨值。


    转载于:https://www.cnblogs.com/zzzili/archive/2012/12/06/6662814.html

    展开全文
  • 文章目录第十八章 Caché 定义和使用XData块基础示例XData使用XData(示例)完整示例 第十八章 Caché 定义和使用XDataXData块是一个类成员,由一个名称和一个格式良好的XML单元组成,可以将其包含在类定义中,...

    文章目录

    第十八章 Caché 定义和使用XData块

    XData块是一个类成员,由一个名称和一个格式良好的XML单元组成,可以将其包含在类定义中,以供编译后的类使用。

    基础

    XData块是包含在类定义中的格式良好的XML的命名单元。该块的目的是为了某些特定目的包含结构化信息,供类在编译后使用。

    可以通过直接在Studio中输入XData块或在Studio中使用向导来创建XData块。

    XData块是命名的类成员(如属性,方法等)。可用的XData块关键字包括:

    • SchemaSpec —(可选)指定可以验证XData的XML模式。
    • XMLNamespace —(可选)指定XData块所属的XML名称空间。当然,也可以在XData块本身中包含名称空间声明。
    • MimeType — XData块的内容的MIME类型(更正式地是Internet媒体类型)。默认值为text / xml

    XData块的内容必须包含一个带有任何有效内容的根XML元素。

    示例XData块

    Zen广泛使用XData块。这些XData块均在使用Zen中进行了描述。下面显示了一个示例:

    XData Contents [XMLNamespace="http://www.intersystems.com/zen"]
      {
        <page xmlns="http://www.intersystems.com/zen" title="HelpDesk">
          <html id="title">My Title</html>
          <hgroup>
            <pane paneName="menuPane"/>
            <spacer width="20"/>
            <vgroup width="100%" valign="top">
              <pane paneName="tablePane"/>
              <spacer height="20"/>
              <pane paneName="detailPane"/>
            </vgroup>
          </hgroup>
        </page>
      }
    

    使用XData(示例)

    要以编程方式访问任意XData块,请使用%Dictionary.CompiledXData和%Dictionary包中的其他类。

    如果要定义少量的系统数据,则XData块很有用。例如,假设EPI.AllergySeverity类包含代码属性(供内部使用)和描述属性(供向用户显示)。

    此类可以包含一个XData块,如下所示:

    XData LoadData
    {
    <table>
     <row>1^Minor</row>
     <row>2^Moderate</row>
     <row>3^Life-threatening</row>
     <row>9^Inactive</row>
     <row>99^Unable to determine</row>
    </table>
    }
    

    相同的类还可以包括一个类方法,该方法读取此XData块并填充表,如下所示:

    /// called by EPI.Utils.GenerateData
    ClassMethod Setup() As %Status
    {
       //first kill extent
       do ..%KillExtent()
       
       // Get a stream of XML from the XData block contained in this class
       Set xdataID="EPI.AllergySeverity||LoadData"
       Set compiledXdata=##class(%Dictionary.CompiledXData).%OpenId(xdataID)
       Set tStream=compiledXdata.Data
       If '$IsObject(tStream) Set tSC=%objlasterror Quit
       
       set status=##class(%XML.TextReader).ParseStream(tStream,.textreader)
       //check status
       if $$$ISERR(status) do $System.Status.DisplayError(status) quit
       
       //iterate through document, node by node
       while textreader.Read()
       {
           if (textreader.NodeType="chars")
           {
               set value=textreader.Value
               set obj=..%New()
               set obj.Code=$Piece(value,"^",1)
               set obj.Description=$Piece(value,"^",2)
               do obj.%Save()
               }
       }
    }
    

    请注意以下几点:

    • XData中的XML最少。它不是敏严重程度表示为具有其自己的元素或属性的XML元素,而是将数据行简单地表示为分隔字符串。此方法允许以直观紧凑的形式编写设置数据。
    • EPI.AllergySeverity类未启用XML,并且不需要启用XML。

    完整示例

    /// d ##class(PHA.OP.MOB.Test).Setup()
    /// called by EPI.Utils.GenerateData
    ClassMethod Setup() As %Status
    {
       //first kill extent
       ;do ..%KillExtent()
       
       // 此类中包含的XDATA块获取XML流
       Set xdataID="PHA.OP.MOB.TestThree||LoadData"
       Set compiledXdata=##class(%Dictionary.CompiledXData).%OpenId(xdataID)
       Set tStream=compiledXdata.Data
       If '$IsObject(tStream) Set tSC=%objlasterror Quit
       
       set status=##class(%XML.TextReader).ParseStream(tStream,.textreader)
       //check status
       if $$$ISERR(status) do $System.Status.DisplayError(status) quit
       
       //逐个节点遍历文档
       while textreader.Read()
       {
           if (textreader.NodeType="chars")
           {
               set value=textreader.Value
    
               w $Piece(value,"^",1),!
       
            }
       }
    }
    
    DHC-APP>d ##class(PHA.OP.MOB.Test).Setup()
    1
    2
    3
    9
    99
    
    Class PHA.OP.MOB.TestThree Extends %RegisteredObject
    {
    XData LoadData
    {
    <table>
     <row>1^Minor</row>
     <row>2^Moderate</row>
     <row>3^Life-threatening</row>
     <row>9^Inactive</row>
     <row>99^Unable to determine</row>
    </table>
    }
    
    }
    
    展开全文
  • xdata是一个用于存储和加载xdata文件的Java库。 xdata文件格式最初是作为科幻体素游戏的通用文件格式开发的,但也适用于许多其他应用程序。 xdata格式突出显示: 使用密钥分离数据模型和数据本身 键入和参数化的键...
  • 用处:比如,给一个文字设置xdata标识,然后根据需要用VBA修改文字的值,而不是在图形中增加一个mtext Sub Ch10_AttachXDataToSelectionSetObjects() ' 创建选择集 Dim sset As Object Set sset = ...
  • TMS Xdata Server

    2019-03-06 12:39:00
    Xdata 在TMS中扮演的桥的角色,一年前仔细看过TMS 的源码,当时对流程很清晰,随着时间慢慢的过去,现在该忘记的都忘记了。所以用此文章来记录自己对Xdata还剩下的一点点的记忆... ...其中客户端可以使用xdata的客...
  • multiplot - 具有公共 x 轴的多个轴上的二维线图multiplot(XDATA,YDATA,'PropertyName',PropertyValue,...) 绘制数据存储在单元阵列 XDATA 和 YDATA 中的几个子图中,具有共同的x 轴。 multiplot 还链接所有生成的轴...
  • 在ObjectARX开发过程中,有时候需要向CAD图形中添加一些用户自定义数据。...使用扩展数据——xData使用扩展记录——Xrecord; 扩展数据(xData)可以被ObjectARX或AutoLISP编写的应用程序创建...
  • XDATA_指针_大全

    2013-11-28 10:25:15
    XDATA_指针_大全,51单片机中的数据类型xdata怎样使用
  • 虹膜分析模板 这是InterSystems IRIS Analytics(DeepSee)解决方案的模板。 该模板包含一个非常基本的BI解决方案示例,其中包含一个源类,数据,一个多维数据集,两个枢轴和一个仪表板。 安装 ...
  • 情况:但是keil编译出来有使用了外部512字节RAM中258个字节。正常情况下程序不会跑飞(其实就是进不到main函数)。 原因:通过仿真会发现程序一直卡在初始化变量的启动程序中,无限循环重启。 看《C8051F35x_...
  • 本项目基于此模板,使用React16.8,Typescript开发 技术点 react react-router-dom react-router-config redux(数据管理) redux-thunk(支持异步Action) react-helmet(Head管理) react-lazyload(图片懒加载) loadable...
  • XDATA相关 --- c51的指针的使用

    千次阅读 2010-02-01 12:31:00
    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的...
  • data xdata code

    千次阅读 2014-07-29 16:09:15
    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的...
  • XDATA相关知识

    2012-07-05 10:33:47
    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的...
  • 原文:http://blog.sina.com.cn/s/blog_67e5a74f0100ix9d.html<br />  C51 中的 data idata bdata pdata xdata bit code 的使用方法: 内部数据存储器可用以下关键字说明:  data:直接寻址区...
  • CAD修改扩展属性(XData

    千次阅读 2019-09-25 08:07:00
    主要功能:使用方法,输入命令,选中一个实体,然后会出“编辑XData”对话框,在DataGridView中显示XData,并支持对第三列Value值的非RegAppName进行修改。 说明:把第二列Code设置为不可修改,毕竟DXFCode是固定的...
  • Wannacry的风潮尚未平息,XData勒索病毒再度来袭。据安全公司 eset称,他们检测到bnk/Filecoder AESNI, 也称为 xdata 勒索, 目前这一威胁在乌克兰最为普遍, 在5月17日至5月22日期间, 他们探测到Xdata传播在5月19日...
  • 在对51单片机的程序进行编译的时候,在编译的最后会提示Program Size: data= xx xdata=xx code=xx那么,这些存储时...data表示使用的内部RAM,xdata表示使用的是外部RAM,code表示的是程序的大小。那么这些大小和程...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 352
精华内容 140
关键字:

xdata使用