当前位置: 首页> 教育> 培训 > 综合型b2b平台有哪些_建筑工程网名大全霸气_实时新闻最新消息_seo权重优化

综合型b2b平台有哪些_建筑工程网名大全霸气_实时新闻最新消息_seo权重优化

时间:2025/7/13 12:18:20来源:https://blog.csdn.net/Dec06_Sgr_Liu/article/details/146000738 浏览次数:0次
综合型b2b平台有哪些_建筑工程网名大全霸气_实时新闻最新消息_seo权重优化

主要内容:区分data,bdata,idata,pdata,xdata,code

8051系列单片机存储器结构的特点:ROM和RAM独立编址

8051系列单片机将程序存储器(ROM)和数据存储器(RAM)分开,并有各自的寻址机构和寻址方式。8051系列单片机在物理上有四个存储空间:

  • 片内程序存储器空间        内ROM——51-->4KB        52-->8KB
  • 片外程序存储器空间        外ROM——最大可扩展到64KB
  • 片内数据存储器空间        内RAM——51-->128B        52-->256B
  • 片外数据存储器空间        外RAM——最大可扩展到64KB

关键字存储器类型地址范围与存储空间的对应关系
data内部RAM0x00~0x7F直接寻址片内数据存储区,访问速度快(128字节)
bdata内部RAM0x20~0x2F可位寻址片内数据存储区,允许位与字节混合直接访问(16字节)
idata内部RAM0x00~0xFF间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节)
pdata外部RAM0x00~0xFF分页寻址片外数据存储区(256字节)由 MOVX @R0 间接访问
xdata外部RAM0x00~0xFFFF片外数据存储区(64K),由 MOVX @DPTR 间接访问
code64K  ROM0x0000~0xFFFF代码存储区(64K),由 MOVC @DPTR 指令访问

data:00H~7FH        片内RAM,访问低128字节,地址为00H~7FH的低128字节片内RAM区又可以划分为三个区域:①通用寄存器区②可位寻址区③用户RAM区(堆栈也可以设在这里)

bdata:20H~2FH        16个字节可使用,每个字节的8位可以单独使用,16×8位=128位 可使用

idata:片内RAM,访问高128字节

pdata:片外RAM,0000H~00FFH,访问低256字节,一般不使用

xdata:片外RAM,0000H~FFFFH,可以访问全部区域

code:ROM

pdata用 MOV @Ri,A 写数据        用 MOV A,@Ri 读数据

xdata用 MOV @DPTR,A 写数据        用 MOV A,@DPTR 读数据

0000H~00FFH既可以用pdata也可以用xdata,但是00FFH以上必须用xdata

当使用code存储类型定义数据时,C51编译器会将其定义在代码空间(ROM或EPROM),这里存放着指令代码和其它非易变信息,调试完成的程序代码被写入8051单片机的片内ROM/EPROM或片外EPROM中。在程序执行过程中,不会有信息写入这个区域,因为程序代码是不能进行自我改变的。

当使用xdata存储类型定义常量、变量时,C51编译器会将其定位在外部数据存储空间(片外RAM),该空间位于片外附加的8K,16K,32K或64K RAM芯片中(如一般常用的6264,62256等等)。其最大可寻址范围为64K。在使用外部数据区的信息之前,必须用指令将它们移动到内部数据区中,当数据处理完之后,将结果返回到片外数据存储区。片外数据存储区主要用于存放不常使用的变量,或收集等待处理的数据,或存放要被发往另一台计算机的数据。

pdata存储类型属于xdata类型,它的一字节地址(高8位)被妥善保存在P2口中,用于I/O操作。

idata存储类型可以间接寻址内部数据存储器(可以超过127个字节)。

访问片内数据存储器(data,bdata,idata)比访问片外数据存储器(xdata,pdata)相对要快一些,因此可将经常使用的变量置于片内数据存储器,而将规模较大的,或不常使用的数据置于片外数据存储器中。

C51存储类型及其大小和值域
存储类型长度(bit)长度(byte)值域范围
data810~255        8bit
idata810~255        8bit
pdata810~255        8bit
code1620~65535        16bit
xdata1620~65535        16bit

变量的存储类型定义举例:

char data varl;                             /* item1 */
bit bdata flags;                            /* item2 */
float idata x,y,z;                          /* item3 */
unsigned int pdata dimension;               /* item4 */
unsigned char xdata vector[10][4][4];       /* item5 */

[注释] 

item1:字符变量char varl被定义为data存储类型,C51编译器将把该变量定位在8051片内数据存储区中(地址:00H~0FH)。

item2:位变量flags被定义为bdata存储类型,C51编译器将把该变量定位在8051片内数据存储区(RAM)中的位寻址区(地址:20H~2FH)。

item3:浮点变量x,y,z被定义为idata存储类型,C51编译器将把该变量定位在8051片内数据存储区,并只能用间接寻址的方法进行访问。

item4:无符号整型变量dimension被定义为pdata存储类型,C51将把该变量定位在片外数据存储区(片外RAM),并用操作码MOVX @Ri 访问。

item5:无符号字符三维数组变量unsigned char vcctor[10][4][4]被定义为xdata存储类型,C51编译器将其定位在片外数据存储区(片外RAM)中,并占据10×4×4=160个字节存储空间,用于存放该数组变量。

存储模式及说明
存储模式说明
SMALL参数及局部变量放入可直接寻址的片内存储器(最大128字节,默认存储类型是DATA),因此访问十分方便。另外所有对象,包括栈,都必须嵌入片内RAM。栈长很关键,因为实际栈长依赖于不同函数的嵌套层数。
COMPACT参数及局部变量放入分页片外存储区(最大256字节,默认的存储类型是PDATA),通过寄存器R0和R1(@R0,@R1)间接寻址,栈空间位于8051系统内部数据存储区中。
LARGE参数及局部变量直接放入片外数据存储区(最大64K,默认存储类型为XDATA)使用数据指针DPTR来进行寻址。用此数据指针进行访问效率较低,尤其是对两个或多个字节的变量,这种数据类型的访问机制直接影响代码的长度。另一不方便之处在于这种数据指针不能对称操作。
关键字:综合型b2b平台有哪些_建筑工程网名大全霸气_实时新闻最新消息_seo权重优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: