一、存储器结构
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。
来源;21ic
车对车技术进入摩托车领域
一新势力资金断裂,吉利接盘
电容出现失效的原因是什么
国内首份《BAT人工智能领域人才发展报告》
esp8266与arduino的实例教程分析
51单片机存储器的结构和原理解析
日本研发掺硼的各向异性钐12薄膜,将应用于汽车电机
加拿大官员表示,不会禁止华为参与下一代5G网络建设
spring分布式框架有哪些
国内空调市场增速放缓 挖掘海外市场成为不少中国企业的选择
简单实用接地气的智能家居设备
超级电容器的主要应用领域
一加11体验报告:不将就,优雅强悍更进一步
什么是SPARC处理器
储能产业大发展利好哪些元器件产品?
PMOS管与NMOS管控制电路设计对比
谷歌计划向安卓手机厂商收费 华为:以谷歌口径为准
DeepMind的最新AI无需知晓规则就能掌握游戏
在FPGA上实现复杂协议处理任务卸载的解决方案
光调制的基础光路搭建及实例