Freescale Semiconductor, Inc.
***
WRAL - subroutine to write all EEPROM ********************************
J9356_WRAL
lda
sta
lda
sta
bset
jsr
jsr
jsr
bclr
bclr
jsr
rts
#$80
OPCODE
#$40
ADDR
CS,PORTA
J9356_WR_OP
J9356_WR_ADDR ;write address
J9356_WR_DATA ;write data
SER_OUT,PORTA
CS,PORTA
J9356_WAIT
;load opcode
;load addr
;CS line is high
;write opcode
;CS line is low
;wait until EEPROM is ready
;return
***
READ - subroutine to read EEPROM *************************************
J9356_READ
lda
#$C0
;load opcode
sta
OPCODE
bset
jsr
CS,PORTA
J9356_WR_OP
;CS line is high
;write opcode
jsr
J9356_WR_ADDR ;write address
SER_CLK,PORTA ;clock the EE
SER_CLK,PORTA
J9356_RD_DATA ;read data
SER_OUT,PORTA
bset
bclr
jsr
bclr
bclr
rts
CS,PORTA
;CS line is low
;return
***
ERASE - subroutine to erase EEPROM ***********************************
J9356_ERASE
lda
sta
bset
jsr
jsr
bclr
jsr
rts
#$E0
OPCODE
;load opcode
CS,PORTA
J9356_WR_OP
J9356_WR_ADDR ;write address
CS,PORTA
J9356_WAIT
;CS line is high
;write opcode
;CS line is low
;wait until EEPROM is ready
***
ERAL - subroutine to erase all EEPROM ********************************
J9356_ERAL
lda
sta
sta
bset
jsr
jsr
bclr
jsr
rts
#$80
OPCODE
ADDR
;load opcode and addr
CS,PORTA
J9356_WR_OP
J9356_WR_ADDR ;write address
CS,PORTA
J9356_WAIT
;CS line is high
;write opcode
;CS line is low
;wait until EEPROM is ready
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
15