
Preliminary W77E516
Publication Release Date: August 16, 2002
- 81 -
Revision A1
15. APPLICATION NOTE
In-system Programming Software Examples
This application note illustrates the in-system programmability of the Winbond W77E516 MTP-ROM
microcontroller. In this example, microcontroller will boot from 64 KB APROM bank and waiting for a
key to enter in-system programming mode for re-programming the contents of 64 KB APROM.
While entering in-system programming mode, microcontroller executes the loader program in 4KB
LDROM bank. The loader program erases the 64 KB APROM then reads the new code data from
external SRAM buffer (or through other interfaces) to update the 64KB APROM.
EXAMPLE 1:
;*******************************************************************************************************************
;* Example of 64K APROM program: Program will scan the P1.0. if P1.0 = 0, enters in-system
;* programming mode for updating the content of APROM code else executes the current ROM code.
;* XTAL = 24 MHz
;*******************************************************************************************************************
.chip 8052
.RAMCHK OFF
.symbols
CHPCON
EQU
9FH
TA
EQU
C7H
SFRAL
EQU
ACH
SFRAH
EQU
ADH
SFRFD
EQU
AEH
SFRCN
EQU
AFH
ORG
0H
LJMP 100H
; JUMP TO MAIN PROGRAM
;************************************************************************
;* TIMER0 SERVICE VECTOR ORG = 000BH
;************************************************************************
ORG 00BH
CLR TR0
; TR0 = 0, STOP TIMER0
MOV TL0,R6
MOV TH0,R7
RETI
;************************************************************************
;* 64K APROM MAIN PROGRAM
;************************************************************************
ORG
100H
MAIN_64K:
MOV A,P1
; SCAN P1.0
ANL A,#01H
CJNE A,#01H,PROGRAM_64K ; IF P1.0 = 0, ENTER IN-SYSTEM PROGRAMMING MODE
JMP NORMAL_MODE
PROGRAM_64:
MOV TA,#AAH
; CHPCON register is written protect by TA register.
MOV TA,#55H
MOV CHPCON,#03H
; CHPCON = 03H, ENTER IN-SYSTEM PROGRAMMING MODE