isp.a51

来自「基于AT89C51SND1的MP3的程序设计(包括播放mp3和录音功能)」· A51 代码 · 共 70 行

A51
70
字号
/*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:
    setb    P1_2			; no PowerDown Battery (In case of ISP start appli)
    mov     A,P1
    anl     A,#04H ;#18H
    cjne    A,#00H,isp_end		; no ISP cheat code => start appli
isp_start:
    clr     P3.0			; 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 + =
减小字号Ctrl + -
显示快捷键?