
Preliminary W78E365
- 30 -
Application Note: In-system Programming Software Examples
This application note illustrates the in-system programmability of the Winbond W78E365 FLASH
EPROM microcontroller. In this example, microcontroller will boot from 64KB APROM bank and waiting
for a key to enter in-system programming mode for re-programming the contents of 64KB APROM.
While entering in-system programming mode, microcontroller excutes the loader program in 4KB
LDROM bank. The loader program erases the 64KB 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 thecontents of APROM code else excutes the current ROM code.
;* XTAL = 40 MHz
;*******************************************************************************************************************
.chip 8052
.RAMCHK OFF
.symbols
CHPCON
EQU
BFH
CHPENR
EQU
F6H
SFRAL
EQU
C4H
SFRAH
EQU
C5H
SFRFD
EQU
C6H
SFRCN
EQU
C7H
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