我們在進行實際開發設計中,難免需要進行數據存儲,早期很多都是外接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、動態地址常量存放方式
我們提供三種類型的數據進行存放的範例,比如字節數據、數組數據和結構體數據。
驗證如下,寫入成功:
評論