读写FLASH

在单片机编程中往往需要长期保存某些数据,尤其是一些配置参数,这样掉电后这些数据仍然还在。于是就开始了FLASH读写的编程,经过了一天多的努力,终于把FLASH的读写调通了。主要有三点:

一、读FLASH

要用MOVC指令才能读FLASH,这个比较简单。

二、写FLASH

严格按照下面的流程即可完成写操作

1. 禁止中断。

2. 置位FLWE(FLSCL.0),以允许由用户软件写/擦除FLASH。

3. 置位PSEE(PSCTL.1),以允许FLASH 扇区擦除。

4. 置位PSWE(PSCTL.0),以允许FLASH 写。

5. 用MOVX 指令向待擦除扇区内的任何一个地址写入一个数据字节。

6. 清除PSEE 以禁止FLASH 扇区擦除。

7. 用MOVX 指令向刚擦除的扇区中所希望的地址写入数据字节。重复该步直到所有字

节都已写入(目标扇区内)。

8. 清除PSWE 以禁止FLASH 写,使MOVX 操作指向XRAM 数据空间。

9. 重新允许中断。

三、指针

C语言里可没有MOVC和MOVX,为了实现这两个指令,需要定义指针。根据Keil C的语法可知,将变量(指针)声明为code型和xdata型时相应的赋值操作即对应于MOVC和MOVX。当然,如果用汇编语言就没这个问题了

posted @ 2021-08-19 17:16  myrj  阅读(470)  评论(0编辑  收藏  举报