51单片机程序和变量存储位置
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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⼀样。