
Preliminary W78E365
- 32 -
;************************************************************************
;* 4KB LDROM MAIN PROGRAM
;************************************************************************
ORG 100H
MAIN_4K:
MOV CHPENR,#87H
MOV CHPENR,#59H
MOV A,CHPCON
ANL A,#80H
CJNE A,#80H,UPDATE_64K
MOV CHPCON,#03H
MOV CHPENR,#00H
MOV TCON,#00H
MOV TMOD,#01H
MOV IP,#00H
MOV IE,#82H
MOV R6,#FEH
MOV R7,#FFH
MOV TL0,R6
MOV TH0,R7
MOV TCON,#10H
MOV PCON,#01H
UPDATE_64K:
MOV CHPENR,#00H
MOV TCON,#00H
MOV IP,#00H
MOV IE,#82H
MOV TMOD,#01H
MOV R6,#3CH
MOV R7,#B0H
MOV TL0,R6
MOV TH0,R7
ERASE_P_4K:
MOV SFRCN,#22H
MOV TCON,#10H
MOV PCON,#01H
;CHPENR = 87H, CHPCON WRITE ENABLE.
;CHPENR = 59H, CHPCON WRITE ENABLE.
;CHECK F04KBOOT MODE
;CHPCON = 03H, ENABLE IN-SYSTEM PROGRAMMING.
;DISABLE CHPCON WRITE ATTRIBUTE
;TCON = 00H ,TR = 0 TIMER0 STOP
;TMOD = 01H ,SET TIMER0 A 16BIT TIMER
;IP = 00H
;IE = 82H, TIMER0 INTERRUPT ENABLED
;TCON = 10H,TR0 = 1,GO
;ENTER IDLE MODE
;DISABLE CHPCON WRITE-ATTRIBUTE
;TCON = 00H ,TR = 0 TIM0 STOP
;IP = 00H
;IE = 82H,TIMER0 INTERRUPT ENABLED
;TMOD = 01H ,MODE1
;SET WAKE-UP TIME FOR ERASE OPERATION, ABOUT 15ms.
DEPENDING
;ON USER'S SYSTEM CLOCK RATE.
;SFRCN(C7H) = 22H ERASE 64K
;TCON = 10H,TR0 = 1,GO
;ENTER IDLE MODE( FOR ERASE OPERATION)