📄 isp.a51
字号:
/*A**************************************************************************
* NAME: isp.a51
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE: snd1c-refd-nf-4_0_3
* REVISION: 1.5
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the In System Programming execution routine
*****************************************************************************/
;_____ I N C L U D E S ____________________________________________________
;_____ M A C R O S ________________________________________________________
AUXR1 DATA 0A2h
BOOT_ADDRESS EQU 0F000h
P1_0 BIT 90H
P1_2 BIT 92H
P1_3 BIT 93H
P1_4 BIT 94H
P1_5 BIT 95H
P1_6 BIT 96H
P3_4 BIT 0B4H
P5_0 BIT 0D8H
;_____ D E F I N I T I O N ________________________________________________
?PR?in_system_prog?ISP SEGMENT CODE
;_____ D E C L A R A T I O N ______________________________________________
PUBLIC in_system_prog
;*F**************************************************************************
; NAME: in_system_prog
;----------------------------------------------------------------------------
; PARAMS:
;
; return:
;----------------------------------------------------------------------------
; PURPOSE:
; Execute the boot loader software in case KEY_FUNC and KEY_VALID are pressed
;----------------------------------------------------------------------------
; EXAMPLE:
;----------------------------------------------------------------------------
; NOTE:
;----------------------------------------------------------------------------
; REQUIREMENTS:
;****************************************************************************
RSEG ?PR?in_system_prog?ISP
in_system_prog:
clr P1_2 ; info uC Ok (LED 1 ON)
clr P1_0 ; press SW1 & SW2 during reset to enter ISP mode
setb P5_0 ; no PowerDown Battery (In case of ISP start appli)
mov A,P1
setb P1_0 ; restore default
anl A,#10H ;#18H
cjne A,#00H,isp_end ; no ISP cheat code => start appli
isp_start:
clr P1_6 ; info ISP mode (LED 4 ON)
clr P5_0 ; shutdown after exit ISP
clr P3_4 ; active usb
orl AUXR1,#020h ; map boot memory
ljmp BOOT_ADDRESS; ; jump to boot loader
isp_end:
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -