194
ABOV Semiconductor Co., Ltd.
15.1.9 Write Mode
The sector Write program procedure in user program mode
1. Page buffer clear (FMCR=0x01)
2. Write data to page buffer
3. Set flash sector address register (FSADRH/FSADRM/FSADRL).
4. Set flash identification register (FIDR).
5. Check the UserID for to prevent the invalid work
(Note1)
.
6. Set flash mode control register (FMCR).
7. Erase verify
NOTE)
1. Please refer to the chapter “Protection for Invalid Erase/Write”
2. All data of the sector should be “00H” before writing data to a sector
Program Tip – sector write
ANL EO,#0xF8 ;Set DPTR0
MOV FMCR,#0x01 ;page buffer clear
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
MOV A,#0
MOV R0,#SectorSize ;Sector size of Device
MOV DPH,#0x80 ;Page Buffer Address is 8000H
MOV DPL,#0
Pgbuf_WR: MOVX @DPTR,A
INC A
INC DPTR
DJNZ R0,Pgbuf_WR ;Write data to all page buffer
MOV FSADRH,#SAH ;Sector Address High Byte.
MOV FSADRM,#SAM ;Sector Address Middle Byte
MOV FSADRL,#SAL ;Sector Address Low Byte
MOV FIDR,#0xA5 ;Identification value
MOV A,#ID_DATA_1 ;Check the UserID(written by user)
CJNE A,UserID1,No_WriteErase;This routine for UserID must be needed.
MOV A,#ID_DATA_2
CJNE A,UserID2,No_WriteErase
MOV FMCR,#0x03 ;Start flash write mode
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
LJMP Write_verify
---
No_WriteErase:
MOV FIDR,#00H
MOV UserID1,#00H
MOV UserID2,#00H
---
Write_verify:
---
Verify_error:
---