MS51系列芯片的SPROM是一种可编程的非易失性存储器,可以用于存储程序代码、配置信息、校准数据等,以下是SPROM的使用步骤:
1. 在代码中引用头文件 "SFR_Macro_MS51_32.h",以及声明SPROM的起始地址:
```C
#include "SFR_Macro_MS51_32.h"
//声明SPROM的起始地址为0x0C00
__xdata (__at(0x0C00)) unsigned char SPROM[128];
```
2. 在程序中进行SPROM的写入和读取,例如写入数据:
```C
//将数据写入SPROM
SPROM[0] = 0x12;
SPROM[1] = 0x34;
SPROM[2] = 0x56;
SPROM[3] = 0x78;
//申请烧录SPROM的命令
ISP_CONTR |= 0x20;
//等待烧录完成
while ((ISP_STATUS & 0x80) == 0);
//清除烧录标志位
ISP_STATUS |= 0x80;
```
3. SPROM的读取与普通RAM相同,例如读取数据:
```C
//从SPROM中读取数据
unsigned char data = SPROM[0];
```
注意,SPROM的大小为128字节,地址范围为0x0C00~0x0C7F,同时在进行SPROM操作时需要注意芯片的ISP功能是否已经启用,如果未启用需要通过设置ISP_CONTR寄存器的ISPEN位开启ISP功能。
MS51系列芯片的SPROM是一种可编程的非易失性存储器,可以用于存储程序代码、配置信息、校准数据等,以下是SPROM的使用步骤:
1. 在代码中引用头文件 "SFR_Macro_MS51_32.h",以及声明SPROM的起始地址:
```C
#include "SFR_Macro_MS51_32.h"
//声明SPROM的起始地址为0x0C00
__xdata (__at(0x0C00)) unsigned char SPROM[128];
```
2. 在程序中进行SPROM的写入和读取,例如写入数据:
```C
//将数据写入SPROM
SPROM[0] = 0x12;
SPROM[1] = 0x34;
SPROM[2] = 0x56;
SPROM[3] = 0x78;
//申请烧录SPROM的命令
ISP_CONTR |= 0x20;
//等待烧录完成
while ((ISP_STATUS & 0x80) == 0);
//清除烧录标志位
ISP_STATUS |= 0x80;
```
3. SPROM的读取与普通RAM相同,例如读取数据:
```C
//从SPROM中读取数据
unsigned char data = SPROM[0];
```
注意,SPROM的大小为128字节,地址范围为0x0C00~0x0C7F,同时在进行SPROM操作时需要注意芯片的ISP功能是否已经启用,如果未启用需要通过设置ISP_CONTR寄存器的ISPEN位开启ISP功能。
举报