51单片机程序和变量存储位置

一、概念理清

使用环境: 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一样。

posted @ 2019-12-21 14:36  =天赋=  阅读(2832)  评论(0编辑  收藏  举报