我们在进行实际开发设计中,难免需要进行数据存储,早期很多都是外接EEPROM来进行设计,但是需要增加成本。其实芯片内部的Flash也是可以当成数据存储空间的。本章节主要介绍新唐的8位机如何进行常量数据的存储操作。
一、存储空间划分
我这边摘选MS51的Datesheet如下,MS51的Flash主要是APROM,同时可以通过config配置来设置LDROM共享APROM的空间,并且LDROM的地址映射是芯片的末尾端4K地址。
二、IAP指令
如下截图可以看出,MS51 Flash每页是128Byte,支持页擦除、字节读和字节写操作。
三、程序操作
1、固定地址常量存放方式
比如我们需要存放两组数据,两组1713个字节的数据
Table_LoByteAddress[1713]
Table_Data[1713]
在keil上设置此文件对应的地址
执行如下程序操作
通过ICP读取0x2C00和0x3400的数据,写入成功
2、动态地址常量存放方式
我们提供三种类型的数据进行存放的范例,比如字节数据、数组数据和结构体数据。
验证如下,写入成功:
点击此处登录大大通,浏览更多精彩技术内容!