② 擦除命令。该命令有片擦除和扇区擦除两种,都需要6个总线周期,前两个解锁周期,第三个建立周期,四、五两个解锁周期,最后是片擦除或扇区擦除周期,如表2所列。一旦执行编程或擦除命令后,就启动Flash的内部编程或擦除算法,自动完成编程或擦除操作。擦除程序如下:
_ERASEFlash .macro 擦除宏
_WRITECOMMAND #8555H,#0AAH 周期1(解锁)
_WRITECOMMAND #82AAH,#055H 周期2(解锁)
_WRITECOMMAND #8555H,#080H 周期3(建立)
_WRITECOMMAND #8555H,#0AAH 周期4(解锁)
_WRITECOMMAND #82AAH,#055H 周期5(解锁)
_WRITECOMMAND #8555H,#010H 周期6(片擦除)
STM #8555H,AR3
LD #010H ,A
STL A,*AR5
_JUDGE *AR3,*AR5 检测是擦除结束,见Flash的
;操作检测
.endm
③ 读数据命令。上电或内部编程、擦除操作结束后就进入读数据状态,写入要读取的地址即可读出该地址的数据。
④ 复位命令。它使存储器复位,进入读数据状态,向任何一个地址写入数据0xF0就能使Flash存储器复位。在进行编程、擦除之前,都应先复位,在编程或擦除等正常操作中出现错误时也要复位。复位程序如下:
_RESETFlash .macro
_WRITECOMMAND #8001H,#0F0H
;向8001H写入0F0H使Flash复位
RPT #12
NOP
.endm
本文关键字:FLASH DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术