单片机实验汇编--FlashRom读写实验

一.实验要求
利用实验系统提供的实验模块闪存,编程实现FlashRom擦除、读、写等基本操作。

二.实验目的
1.了解FlashRom的性能特点。
2.掌握FlashRom基本操作的编程实现。

三.实验电路及连线
单片机实验汇编--FlashRom读写实验_第1张图片
模块的CS040接地GND;

四.实验说明

FlashRom 闪存以其存贮密度高、读写速度快、数据掉电保存等特点在移动设备、消费电子领域得到广泛的应用。
本实验模块使用日本富士通公司的29F040A,为单一5V供电4Mbit(512K×8)的FlashRom。具体的参数和有关操作的详细说明请见光盘中的芯片技术文档。建议实验前教师安排一定课时对FlashRom的原理和日本富士通公司的29F040A的操作作专门的介绍。
下面只就其一些基本操作作简要说明。
29F040A的操作命令见图23-1。需要说明的是29F040可分为8个64K的区块(sector),区块的地址由高位地址线A18,A17,A16来确定。可以通过命令对每一区块进行擦除、保护开/关等操作。

五.实验程序框图
单片机实验汇编--FlashRom读写实验_第2张图片

六.实验程序

关于演示效果的观察,作以下说明:
1.在各步操作之间,可以用调试环境中的外部数据观察窗口或对话窗口中观察外部数据段的值的变化,如写入、擦除。29f040的容量为512K字节,本实验为简化程序,将片选直接接地,A15-A18接地,所以,用户可操作的是00000H — 07FFFH段空间。用户若要对其全空间操作,在51系统中需要使用额外的I/O线来切换地址,如P1口。在观察的时候,应注意空间地址的切换。
2.对于FlashRom, 可以使用自动选择(AutoSelect)命令获得器件的生产厂商和芯片信息。

 该程序针对T598实验机的模块9 **
;****************************************************

;R0 <-- READ/WRITE DATA 
ADDR EQU 0000H ;字节写入位置

ORG 0000H
MOV SP,#60H
START: LCALL CHIP_ERASE ;芯片擦除

NOP ;可在此设断点,观察

MOV DPTR,#555H ;字节写入操作
MOV A,#0AAH
MOVX @DPTR,A
MOV DPTR,#2AAH
MOV A,#55H
MOVX @DPTR,A
MOV DPTR,#555H
MOV A,#0A0H
MOVX @DPTR,A
MOV DPTR,#ADDR
MOV A,#55H
MOVX @DPTR,A ;向设定的位置写入55H

NOP ;可在此设断点,观察

SJMP $ ;结束状态

;**************************************************** 
CHIP_ERASE:
PUSH DPH
PUSH DPL
PUSH ACC

CE_START:
MOV DPTR,#555H
MOV A,#0AAH
MOVX @DPTR,A ;555H/AAH
MOV DPTR,#2AAH
MOV A,#55H
MOVX @DPTR,A ;2AAH/55H
MOV DPTR,#555H
MOV A,#80H
MOVX @DPTR,A ;555H/80H
MOV DPTR,#555H
MOV A,#0AAH
MOVX @DPTR,A ;555H/AAH
MOV DPTR,#2AAH
MOV A,#55H
MOVX @DPTR,A ;2AAH/55H
MOV DPTR,#555H
MOV A,#10H
MOVX @DPTR,A ;555H/10H
NOP
CE_WAIT: 
MOVX A,@DPTR
JB ACC.7,CE_OK 
JNB ACC.5,CE_WAIT ;WAIT THE ERASE PROCEDURE TO COMPLETE
MOVX A,@DPTR
JB ACC.7,CE_OK
MOV A,#0F0H ;IF NOT SUCCESS IN CERTAIN INTERNAL,RESET/READ COMMAND
MOVX @DPTR,A
SJMP CE_START ;THEN TRY ERASE OPERATION AGAIN
CE_OK: 
NOP
POP ACC
POP DPL
POP DPH 
RET
;**************************************************** 
END 

本素材来自网路,如有侵权,请联系删除。
获取更多资源,请关注微信公众号”伊斯电子编程“

你可能感兴趣的:(单片机实验汇编--FlashRom读写实验)