[疑难问答] 如何 学习megawin mpc89E52 内部FLASH读写

[复制链接]
2960|6
 楼主| qq85500965 发表于 2013-4-19 19:12 | 显示全部楼层 |阅读模式
对于内部的FLASH如何读写,本人不太明白,就是想把一些数据保存进FLASH中,掉电后还能保存的。
不知道哪位前辈有例程,能给小弟一份学习学习。。
slotg 发表于 2013-4-20 08:16 | 显示全部楼层
这是我用汇编写的程序片段

IFD                  EQU     E2H
IFADRH          EQU     E3H
IFADRL           EQU     E4H
IFMT                EQU     E5H

;;----------------------------------------------------------------------------
; ERASE FLASH
; in  : (R7R6)
ERASE_IAP:
        MOV     IFADRL,R6
        MOV     IFADRH,R7
        MOV     IFMT,#00000011B
        MOV     ISPCR,#10000010B
        MOV     SCMD,#46H      
        MOV     SCMD,#0B9H
        RET
;;----------------------------------------------------------------------------
; WRITE (A) to FLASH
; in  : (R7R6)
;        (A)
WRITE_IAP:
        MOV     IFADRL,R6
        MOV     IFADRH,R7
        MOV     IFD,A   
        MOV     IFMT,#00000010B
        MOV     ISPCR,#10000010B
        MOV     SCMD,#46H      
        MOV     SCMD,#0B9H
        RET
;;----------------------------------------------------------------------------
; READ (A) from FLASH
; in  :  (R7R6)
; out : (A)
READ_IAP:
        MOV     IFADRL,R6
        MOV     IFADRH,R7
        MOV     IFMT,#00000001B
        MOV     ISPCR,#10000010B
        MOV     SCMD,#46H      
        MOV     SCMD,#0B9H
        MOV     A,IFD   
        RET
;;----------------------------------------------------------------------------

sw0981 发表于 2013-4-21 14:54 | 显示全部楼层
有没有C的?
mg_sz 发表于 2013-4-22 09:16 | 显示全部楼层
有C和汇编的,可以直接使用,供参考.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
a362880 发表于 2013-7-29 22:10 | 显示全部楼层
为什么要发送ox46 oxb9 就是不明白  先把数据送到IFD  再选择地址,再允许写操作,,,再开关。。读也一样,删也一样,,就是为什么要多发送二个字节,,,不明白
mg_sz 发表于 2013-7-30 08:54 | 显示全部楼层
这两个是命令字
leeclyc 发表于 2014-3-25 08:39 | 显示全部楼层

了解 謝謝
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部