Philips P89LPC903 User Manual
Page 95

Philips Semiconductors
User’s Manual - Preliminary -
P89LPC901/902/903
FLASH PROGRAM MEMORY
2003 Dec 8
95
Figure 14-1: Flash Memory Control Register
Figure 14-2: Assembly language routine to erase/program all or part of a page
FMCON
Address: E4h
Not bit addressable
Reset Source(s): Any reset
Reset Value:
BIT
SYMBOL
FUNCTION
FMCON.7-4
-
Reserved.
FMCON.3
HVA
Set if either an interrupt or a brown-out is detected during a program or erase cycle. Also
set if the brown-out detector is disabled at the start of a program or erase cycle.
FMCON.2
HVE
High voltage error. Set when an error occurs in the high voltage generator.
FMCON.1
SV
Security violation. Set when an attempt is made to program, erase, or CRC a secured
sector or page.
FMCON.0
OI
Operation interrupted. Set when cycle aborted due to an interrupt or reset.
7
6
5
4
3
2
1
0
-
-
-
-
HVA
HVE
SV
OI
;*
Inputs:
*
;*
R3 = number of bytes to program (byte)
*
;*
R4 = page address MSB(byte)
*
;*
R5 = page address LSB(byte)
*
;*
R7 = pointer to data buffer in RAM(byte) *
;*
Outputs:
*
;*
R7 = status (byte)
*
;*
C = clear on no error, set on error
*
LOAD EQU 00H
EP EQU
68H
PGM_USER:
MOV
FMCON,#LOAD
;load command, clears page register
MOV FMADRH,R4
;get
high
address
MOV FMADRL,R5
;get
low
address
MOV
A,R7
;
MOV
R0,A
;get
pointer
into
R0
LOAD_PAGE:
MOV
FMDAT,@R0
;write data to page register
INC
R0
;point
to
next
byte
DJNZ R3,LOAD_PAGE
;do until count is zero
MOV
FMCON,#EP
;else erase & program the page
MOV
R7,FMCON
;copy status for return
MOV
A,R7
;read
status
ANL
A,#0FH
;save only four lower bits
JNZ
BAD
;
CLR
C
;clear error flag if good
RET
;and
return
BAD:
SETB
C
;set
error
flag
RET
;and
return