对单片机存储分配新的认识

时间:2018-09-18

  51单片机存储器采用的是哈佛结构,即是程序存储器空间和数据存储器空间分开,程序存储器和数据存储器各自有自己的寻址方式、寻址空间和控制系统
  51存储器可以分为
  程序存储器ROM:用于存放程序和表格之类的固定常识。C51编程中用code关键词声明。
  内部数据存储器RAM:51子系列有128字节RAM,52子系列有256字节RAM
  特殊功能寄存器SFR:80H-FFH字节地址的RAM
  位地址空间:片内RAM0x20-0x2f空间,本空间允许按位或者字节寻址。可用bdata进行声明。
  外部数据寄存器RAM:片外的RAM,寻址空间2^16即是64K大RAM。Pdata用于声明片外页RAM空间为0-255;xdata用于声明外部RAM空间为0-65535.
  内部可直接寻址RAM结构图


  此外data用于片内直接寻址RAM空间0-127;idata用于片内间接寻址RAM空间0-255。
  二、C51增加的修饰符说明
  C51变量声明方式:
  存储类说明符 类型说明符 修饰符 标识符;
  例如:static unsigned char idata temp;
  存储类说明符:包括auto、extern、static、register;
  符号说明符:包括unsigned char、char、unsigned int、int、long、unsigned long、float、bit、sfr、sft16、sbit;
  修饰符:包括data、idata、pdata、xdata、bdata、code;
  此外,在编译C51源程序时可选用三种存储模式之一:即小模式(small)、紧凑模式(compact)、大模式(large)。三种模式的ROM空间相同,而三种模式的默认RAM空间:对small模式来说,就是片上RAM的所用空间data和idata;对compact模式来说,是片外pdata空间;large模式,为片外xdata空间;
  以上就是对这几天对8051的重新认识,当然不是很全面。在此之前,一直对其存储结构不是太明了。现在多少有一些许了解了,很是兴奋。另外,现在市场上的51内核芯片与之前传统的还是有些许不同的,具体不同之处就需要认真读读供应商的文档资料了。举个例子来说,STC的89c51系列单片机,其ROM空间可以根据信号来判别,其RAM的型号89C51,就有256字节内部RAM和扩展的256字节外部RAM,其内部还有4K的EEPROM。

上一篇:PLC自锁、互锁控制编程 浅谈PLC编程技巧
下一篇:PCB设计中控制ESD的基本方法有哪些?

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料