EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Page 849

Default Icon
901 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
STC8A8K64D4 Series Manual
- 833 -
LCALL ISP_RECVUART
LCALL ISP_PROGRAMIAP ;0002
MOV IAP_ADDRL,#03H ;User code start address
MOV IAP_ADDRH,#00H
ISP_PROGRAMNEXT:
LCALL ISP_RECVUART ;receive code data
LCALL ISP_PROGRAMIAP ;Program the data into the user code area
INC DPTR
MOV A,DPL
ORL A,DPH
JNZ ISP_PROGRAMNEXT ;length detection
ISP_SOFTRESET:
MOV IAP_CONTR,#20H ;Software reset system
SJMP $
ISP_ENTRY:
MOV WDT_CONTR,#17H ;clear watchdog
MOV IAP_CONTR,#80H ;Enable IAP function
MOV IAP_TPS,#11 ;Set the IAP wait time parameter
MOV IAP_ADDRL,#LOW ISP_DOWNLOAD
MOV IAP_ADDRH,#HIGH ISP_DOWNLOAD
MOV IAP_DATA,#00H ;Test data 1
MOV IAP_CMD,#1 ;Read command
MOV IAP_TRIG,#5AH ;Triger ISP command
MOV IAP_TRIG,#0A5H
MOV A,IAP_DATA
CJNE A,#0E4H,ISP_ENTRY ; If the data cannot be read, wait for the voltage to stabilize
INC IAP_ADDRL ;Test address FC01H
MOV IAP_DATA,#45H ;Test data 2
MOV IAP_CMD,#1 ;Read command
MOV IAP_TRIG,#5AH ;Triger ISP command
MOV IAP_TRIG,#0A5H
MOV A,IAP_DATA
CJNE A,#0F5H,ISP_ENTRY ; If the data cannot be read, wait for the voltage to stabilize
MOV SCON,#50H ;Set serial port mode (8 data bits, no parity bit)
MOV AUXR,#40H ;Timer 1 is in 1T mode
MOV TMOD,#00H ;Timer 1 works in mode 0 (16-bit reload)
MOV TH1,#HIGH UARTBAUD ;set reload value
MOV TL1,#LOW UARTBAUD
SETB TR1 ;start timer 1
SETB TR0
LCALL ISP_RECVUART ; Check if there is serial data
JC GOTOAP
MOV R0,#16
ISP_CHECKNEXT:
LCALL ISP_RECVUART ; receive sync data
JC GOTOAP
CJNE A,#7FH,GOTOAP ;Determine whether it is 7F
DJNZ R0,ISP_CHECKNEXT
MOV A,#5AH ; Return 5A 69 to PC, indicating ISP module is ready
LCALL ISP_SENDUART
MOV A,#69H
LCALL ISP_SENDUART

Table of Contents

Related product manuals