一、概念理清
使用环境: keil2,生成的代码大小如下,data保存于内部RAM中,xdata保存于外部扩展SRAM中,code保存于FLASH中。
51单片机涉及的存储介质:
RAM: 内部RAM,每种51单片机都应该有,共256字节。大小固定
SRAM:内存,掉电消失,外部扩展RAM,比内部RAM稍慢,作用一样,用于定义变量。大小要查单片机具体手册。最大0xFFFF
FLASH:(保存程序代码,只能按扇区更改)。大小要查单片机具体手册。
EEPROM:(保存掉电保存的数据,flash中也可以保存掉电保存的数据,但EEPROM可以按字节寻址,比FLASH稍微灵活一点)。大小要查单片机具体手册。.
二、C51存储修饰关键字:data、 idata 、pdata 、xdata、 code
char i : 使用的RAM前128字节。无修饰,等同与data char i,对应keil2编译后的data
idata char i : 使用的RAM前256字节。即包含了data,对应keil2编译后的data
pdata char i :使用SRAM的前256字节,对应keil2编译后的 xdata
xdata char i:使用SRAM的所有字节。即包含了pdata,对应keil2编译后的 xdata
code char i: 使用FLASH中的空间,不可更改,相当于存储常量。,对应keil2编译后的flash
三、EEPROM不是用于变量定义,用来保存掉电数据。作用和FLASH一样。
原文地址:https://www.cnblogs.com/ycpkbql/p/12076875.html
时间: 2024-10-16 22:15:56