亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? isd51.a51

?? 無線收發模塊NRF24E1的開發源碼
?? A51
?? 第 1 頁 / 共 2 頁
字號:
$NOMOD51    
;------------------------------------------------------------------------------
;  ISD51  In-System Debugger for 8051 based microcontrollers
;  Copyright KEIL ELEKTRONIK GmbH and Keil Software, Inc. 2000 - 2003
;  Version 2.05
;------------------------------------------------------------------------------
;  ISD51.A51:  This module needs to be added to the user application
;
;  Copy this file to your project folder and add the copy to your uVision2
;  project.  You can customize several parameters of the ISD51 In-System 
;  Monitor within this configuration file.
;
;  ISD51 V2.00: added new features like user I/O and hardware breakpoints.
;  ISD51 V2.02: fixed a problem when single stepping through putchar
;
;  ISD51 V2.03: adapted for TI AUX Interupt (EAI Bit save/restore added)
;  ISD51 V2.04: 'Stop' command did not break program execution on targets that
;               do not have hardware breakpoints
;  ISD51 V2.05: when ISD51 is not started, getkey return value was not in R7.
;------------------------------------------------------------------------------

#include "ISD51.H"   /* ISD51 Configuration Parameters */

;------------------------------------------------------------------------------
;----------------- !!! Do not modify code sections below !!! ------------------
;------------------------------------------------------------------------------

NAME ISD51_CONFIGURATION


SBYTE    MACRO             ; Transmit Byte in ACC via serial UART
         JNB_TI $
         CLR_TI
         WR_SBUF           ; MOV SBUF,A
         ENDM

RBYTE    MACRO             ; Read one Byte from serial UART to ACC
         RD_SBUF           ; MOV A,SBUF
         CLR_RI
         ENDM

GBYTE    MACRO             ; Receive one Character from 8051 Serial Interface
         JNB_RI $
         RBYTE
         ENDM


/* 8051 SFR Register addresses */
sfr P0     = 0x80;
sfr P1     = 0x90;
sfr P2     = 0xA0;
sfr P3     = 0xB0;
sfr PSW    = 0xD0;
sfr ACC    = 0xE0;
sfr B      = 0xF0;
sfr SP     = 0x81;
sfr DPL    = 0x82;
sfr DPH    = 0x83;
sfr AUXR   = 0x8E;
sfr PH_FMCON  = 0xE4;  // for Philips LPC900 devices
sfr PH_FMADRL = 0xE6;  // for Philips LPC900 devices


?ISD?RAMTOP     EQU     RAMSIZE-1
?ISD?CMP_S      EQU     CMP_START
?ISD?CMP_E      EQU     CMP_END

EXTRN NUMBER (?ISD?CORE)

PUBLIC ?ISD?RAMTOP
PUBLIC ?ISD?RESTART
PUBLIC ?ISD?CMDLOOP
PUBLIC ?ISD?GETBYTE
PUBLIC ?ISD?SENDBYTE
PUBLIC ?ISD?READSFR00
PUBLIC ?ISD?READSFR01
PUBLIC ?ISD?READSFR02
PUBLIC ?ISD?READSFR03
PUBLIC ?ISD?READSFR04
PUBLIC ?ISD?READSFR05
PUBLIC ?ISD?READSFR06
PUBLIC ?ISD?READSFR07
PUBLIC ?ISD?READSFR08
PUBLIC ?ISD?READSFR09
PUBLIC ?ISD?READSFR10
PUBLIC ?ISD?READSFR11
PUBLIC ?ISD?READSFR12
PUBLIC ?ISD?READSFR13
PUBLIC ?ISD?READSFR14
PUBLIC ?ISD?READSFR15
PUBLIC ?ISD?READSFR16
PUBLIC ?ISD?READSFR17
PUBLIC ?ISD?READSFR18
PUBLIC ?ISD?WRITESFR00
PUBLIC ?ISD?WRITESFR01
PUBLIC ?ISD?WRITESFR02
PUBLIC ?ISD?WRITESFR03
#ifdef PHILIPS_LPC900
PUBLIC ?ISD?WRITESFR04
PUBLIC ?ISD?WRITESFR05
#endif
PUBLIC ?ISD?VERSION
PUBLIC ?ISD?CMP_S
PUBLIC ?ISD?CMP_E
PUBLIC __isd_init


PUBLIC ?ISD?CBLK_SIZE  ; block size for FLASH IAP Routine

?ISD?CBLK_SIZE  EQU     CBLK_SZ
CBLK            EQU     10H             ; Start address for FLASH buffer

?ISD?VERSION    EQU     205             ; Version 2.05

#ifdef TI_MSC1210                       // added for TI MSC121x
?BI?ISD51       SEGMENT BIT
                RSEG    ?BI?ISD51
SaveEAI:        DBIT    1               ; Save TI AUX Interrupt Enable bit
#endif                                  // for TI MSC121x


?PR?ISD51       SEGMENT CODE INBLOCK

                CSEG AT SINTRVEC    ; Serial Interrupt
                LJMP    SerialInterrupt


#ifdef TI_MSC1210_BREAKS
;-------- Chip Specific Break Features -----------------------
PUBLIC          ?ISD?HWBREAKS
PUBLIC          ?ISD?SETHWBREAK

BREAK_CODE      EQU     0x8000
BREAK_XDATA     EQU     0x4000

?ISD?HWBREAKS   EQU     (BREAK_CODE OR BREAK_XDATA) + 2

BPCTRL          DATA    0A9H  ; BPCTRL.7  := breakpoint interrupt request
                              ; BPCTRL.1  := 0=code break, 1=xdata break
                              ; BPCTRL.0  := breakpoint enable 
BREAKL          DATA    0AAH  ; break low  address
BREAKH          DATA    0ABH  ; break high address
MEMCTRL         DATA    095H  ; MEMCTRL.7 := breakpoint select
PIREG           DATA    096H  ; PIREG.0   := breakpoint interrupt enable
EICON           DATA    0D8H  ; Extended Interrupt CONtrol register
PFI             BIT     0DCH  ; Interrupt Request Flag for power fail and debug

                CSEG    AT    33H       ; interupt vector for breakpoints
                LJMP    HWBreakEntry


                RSEG    ?PR?ISD51
                USING   0               ; Assume Registerbank 0 for ARx symbols

; Entry Point for HW Breakpoint
HWBreakEntry:   PUSH    PSW
                PUSH    ACC
                MOV     A,BPCTRL
                JB      ACC.7,HWBreakpoint
                POP     ACC
                POP     PSW
                LJMP    06BH            ; Other interrupt sources such as A/D Converter
                                        ; SPI, PFI and (milli)second timer sharing the 
                                        ; interrupt vector at address 33H must be 
                                        ; relocated to address 6BH (interrupt 13)!

HWBreakpoint:   MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                MOV     A,MEMCTRL       ; Get Breakpoint reason
                RLC     A
                MOV     A,#0F8H/2
                RLC     A               ; 0F8H->Break 0, 0F9H->Break 1
                ORL     BPCTRL,#80H     ; Clear Breakpoint interrupt
                CLR     PFI
                SET_TI
                SJMP    Send7Bytes

;--------------------------------------------------------------------------
; Command: Set Hardware Break Register
;  LOW (?ISD?SETHWBREAK), HIGH (?ISD?SETHWBREAK), BPcode, LOW (bp_addr), HIGH (bp_addr)
;     BPcode.0..2  :=  select hardware break register 0..7
;     BPcode.3     :=  reserved, currently set to 0
;     BPcode.4     :=  0  disable breakpoint,  1 enable breakpoint
;     BPcode.5     :=  0  xdata breakpoint,    1 code   breakpoint
;     BPcode.6     :=  reserved, currently set to 0
;     BPcode.7     :=  reserved, currently set to 0
              
?ISD?SETHWBREAK:
                XCH     A,R0
                SWAP    A
                ORL     MEMCTRL,#80H    ; BPSEL=1; select hw breakpoint 1
                JBC     ACC.4,SelectHWbp1
                ANL     MEMCTRL,#7FH    ; BPSEL=0; select hw breakpoint 0
SelectHWbp1:    XCH     A,R0
                MOV     BPCTRL,#80H     ; disable breakpoint, clear pending breakpoints
                MOV     BREAKL,A
                ACALL   ?ISD?GETBYTE
                MOV     BREAKH,A
                MOV     BPCTRL,R0
                AJMP    ?ISD?CMDLOOP
;--------------------------------------------------------------------------
#endif


                RSEG    ?PR?ISD51
                USING   0               ; Assume Registerbank 0 for ARx symbols

#if CBLK_SZ != 0                        /* Hareware Breakpoints */
PUBLIC ?ISD?HWCALL
?ISD?HWCALL:    PUSH    PSW
                PUSH    ACC
                MOV     A,#0FDH         ; Call Break
                SJMP    CallBreak        
#endif

SerialInterrupt:
                PUSH    PSW
                PUSH    ACC
                JNB_RI  NoSerBreak
                RBYTE                        ; Check for 0A5H Break Code
#if ISD_GETKEY
                MOV     _ISD_CHAR,A
#endif
                CJNE    A,#0A5H,ReturnI
#if CBLK_SZ == 0                        /* Software Breakpoints */
                SET_TI
                MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                SJMP    SoftBreak
#endif
NoSerBreak:     MOV     A,#0FFH
CallBreak:      MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                MOV     R0,#?ISD?RAMTOP
#if CBLK_SZ == 0                        /* Software Breakpoints */
                MOV     AR0,@R0         ; Load Start Address of Break Table
                CJNE    R0,#0xFF,CheckBreaks
#else                                   /* Hardware Breakpoints */
                JBC     EA,ChkEA
                ANL     A,#0FBH
ChkEA:          
#ifdef TI_MSC1210                       // added for TI MSC121x
EAI             BIT     0DDH            ; Enable bit for AUX Interrupt
                SETB    SaveEAI
                JBC     EAI,ChkEAI
                CLR     SaveEAI
ChkEAI:         
#endif                                  // for TI MSC121x
                MOV     @R0,A
                SET_TI
#endif
; Called when a Breakpoint is reached or in Single Stepping Mode

; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
#if CBLK_SZ == 0                        /* Software Breakpoints */
SoftBreak:      MOV     A,#0F7H         ; Send Idenifier
#endif
Send7Bytes:     SBYTE                   ; Send Byte
                POP     AR1
                MOV     R0,#5
SendStackFrame: POP     ACC
                ACALL   ?ISD?SENDBYTE
                DJNZ    R0,SendStackFrame
                MOV     A,R1
?ISD?CMDLOOP2:  ACALL   ?ISD?SENDBYTE

; Wait for Command
;  CmdAddrL, CmdAddrH, R0, ACC

?ISD?CMDLOOP:   ACALL   ?ISD?GETBYTE            ; Command Address
                PUSH    ACC
                ACALL   ?ISD?GETBYTE
                PUSH    ACC
                ACALL   ?ISD?GETBYTE
                MOV     R0,A
;;;             ACALL   ?ISD?GETBYTE
;;;             RET

?ISD?GETBYTE:   GBYTE
                RET

#if CBLK_SZ == 0                        /* Software Breakpoints */
; Check Soft Breaks in Memory
CheckBreaks:    MOV     A,SP
                ADD     A,#-4
                MOV     R1,A            ; Address to PCH/PCL
                SJMP    CheckBreak1
CheckBreak:     INC     R0
                DEC     R1
                MOV     A,@R0           ; Compare Low Part
                XRL     A,@R1
                INC     R0
                INC     R1
                JNZ     CheckBreak1
                MOV     A,@R0           ; Compare High Part
                XRL     A,@R1
                JZ      SoftBreak
CheckBreak1:    CJNE    R0,#?ISD?RAMTOP-1,CheckBreak

                POP     AR1
RestartUser:    POP     AR0
#endif

ReturnI:        POP     ACC
                POP     PSW
                RETI



?ISD?SENDBYTE:  SBYTE
                RET

;--------------------------------------------------------------------------
; Command: Restart User Program
;  LOW (?ISD?RESTART), HIGH (?ISD?RESTART), R0, PCL, PCH, PSW, R1, ACC
;
;
?ISD?RESTART:   PUSH    ACC          ; PCL Content of User Program
                ACALL   ?ISD?GETBYTE
                PUSH    ACC          ; PCH Content of User Program
                ACALL   ?ISD?GETBYTE
                PUSH    ACC          ; PSW Content of User Program
                ACALL   ?ISD?GETBYTE
                MOV     R1,A         ; R1  Content of User Program
                ACALL   ?ISD?GETBYTE ; ACC Content of User Program
                PUSH    ACC
                PUSH    AR0
                MOV     R0,#?ISD?RAMTOP
                MOV     A,@R0
#if CBLK_SZ != 0                        /* Flash Breakpoints */
                SET_ES      
                POP     AR0
                RRC     A        
                JNC     StepMode
                CLR_TI               ; Go Mode

#ifdef TI_MSC1210                    // added for TI MSC121x
                MOV     C,SaveEAI
                MOV     EAI,C
                RRC     A
                JNC     RetMode
                POP     ACC
                POP     PSW
                SETB    EA
                RETI
StepMode:       RRC     A
                JNC     StepModeRet
                POP     ACC
                MOV     C,SaveEAI
                MOV     EAI,C
                POP     PSW
                SETB    EA
                RETI

StepModeRet:    POP     ACC
                MOV     C,SaveEAI
                MOV     EAI,C
                POP     PSW
                SETB    EA
                RET
#else
StepMode:       RRC     A
                JNC     RetMode
                POP     ACC
                POP     PSW
                SETB    EA
                RETI
#endif                               // end for TI MSC121x

RetMode:        RRC     A
                POP     ACC
                JNC     EAClr
                POP     PSW
                SETB    EA
                RET

EAClr:          POP     PSW
                RET
#else
                JNZ     RestartSS
                CLR_TI
RestartSS:      AJMP    RestartUser
#endif

;--------------------------------------------------------------------------;
; Insert HW Breakpoints
#if CBLK_SZ != 0                        /* Hareware Breakpoints */

; Command: Write IData Memory Bytes
;  LOW (?ISD?WR_IMEMN), HIGH (?ISD?WR_IMEMN), Adr, Cnt, ContBytes [...]
PUBLIC ?ISD?WR_IMEMN
?ISD?WR_IMEMN:  MOV     R1,A
IMEM2LOOP:      ACALL   ?ISD?GETBYTE
                MOV     @R0,A
                INC     R0
                DJNZ    R1,IMEM2LOOP
                AJMP    ?ISD?CMDLOOP


;--------------------------------------------------------------------------
; Command: Write Code Flash
;  LOW (?ISD?WR_FLASH), HIGH (?ISD?WR_FLASH), FlashAdrL, FlashAdrH
PUBLIC ?ISD?WR_FLASH
?ISD?WR_FLASH:  CWRITE
                AJMP    ?ISD?CMDLOOP2

#endif
;--------------------------------------------------------------------------
; Command: Write SFR DPL, DPH
;  LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
;
;
?ISD?WRITESFR00:
                MOV     DPL,R0
                MOV     DPH,A
                AJMP    ?ISD?CMDLOOP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲午夜在线视频| 午夜精品久久久久久久| 国产一区二区精品在线观看| 成人免费视频免费观看| 欧美年轻男男videosbes| 日韩精品一区二区三区视频播放| 久久久99久久精品欧美| 精品福利视频一区二区三区| 亚洲激情中文1区| 国产一二三精品| 欧美激情艳妇裸体舞| 偷拍一区二区三区四区| 日韩欧美中文一区| 亚洲va国产va欧美va观看| 91在线观看美女| 亚洲国产精品传媒在线观看| 色综合天天做天天爱| 国产亚洲成av人在线观看导航 | 麻豆精品视频在线观看免费| 一本大道av伊人久久综合| 欧美经典一区二区三区| 美女在线视频一区| 国产午夜精品福利| 日本韩国一区二区三区视频| 国产精品久久777777| 国产毛片精品视频| 亚洲欧美精品午睡沙发| 99热99精品| 欧美国产成人在线| 欧美性猛交xxxxxxxx| 亚洲一区在线观看免费| 欧美无乱码久久久免费午夜一区| 黄色成人免费在线| 久久久三级国产网站| 91麻豆免费看| 国产久卡久卡久卡久卡视频精品| 久久免费午夜影院| 欧美性三三影院| 国产成人免费视频网站高清观看视频| 久久精品视频在线免费观看| 欧美日韩在线电影| 高清免费成人av| 国产精品毛片a∨一区二区三区| 成人理论电影网| 久久er99精品| 欧美高清在线一区二区| 欧美精品电影在线播放| 美女脱光内衣内裤视频久久网站| 亚洲天堂av一区| 欧美日韩高清一区二区| www.亚洲精品| 国产精品1024久久| 男人的天堂久久精品| 2023国产精品视频| 99精品1区2区| 三级亚洲高清视频| 久久美女艺术照精彩视频福利播放| 在线观看一区二区视频| 免费在线观看一区| 污片在线观看一区二区| 亚洲视频网在线直播| 国产欧美精品一区二区色综合 | 国产精品18久久久久久久久久久久| 亚洲综合无码一区二区| 中文字幕视频一区| 91.麻豆视频| 成熟亚洲日本毛茸茸凸凹| 久久成人羞羞网站| 美女视频第一区二区三区免费观看网站| 亚洲精品一二三| 亚洲婷婷在线视频| 亚洲日本在线天堂| 亚洲精品亚洲人成人网| 亚洲视频图片小说| 亚洲精品久久久蜜桃| 亚洲色图制服丝袜| 亚洲老司机在线| 一区二区三区精品视频在线| 久久综合久久久久88| 欧美xfplay| 欧美主播一区二区三区| 91久久香蕉国产日韩欧美9色| 91视频免费播放| 日本久久电影网| 欧洲日韩一区二区三区| 欧美中文一区二区三区| 欧美日韩一卡二卡| 欧美一级欧美三级在线观看| 99r精品视频| 97se亚洲国产综合自在线观| 99精品国产99久久久久久白柏| 欧美一区二区视频在线观看2022| 久久99精品一区二区三区| 欧美精品久久天天躁| 欧美视频完全免费看| 欧美精品日韩一本| 日韩精品一区二区三区在线播放| 亚洲精品在线免费播放| 国产欧美一区二区三区在线看蜜臀 | 国产亚洲成av人在线观看导航| 国产亚洲自拍一区| 自拍偷拍亚洲综合| 国产伦精品一区二区三区免费迷 | 成人福利视频在线| 日本亚洲三级在线| 亚洲柠檬福利资源导航| 一区二区三区日韩| 无码av中文一区二区三区桃花岛| 麻豆成人91精品二区三区| 国产成人午夜电影网| av电影天堂一区二区在线| 欧美三级在线看| 精品免费日韩av| |精品福利一区二区三区| 午夜精品一区二区三区免费视频| 极品美女销魂一区二区三区| 成人a级免费电影| 91精品综合久久久久久| 国产欧美精品一区二区三区四区 | 97精品超碰一区二区三区| 欧美日韩精品一区二区三区四区 | 亚洲精品乱码久久久久久黑人| 丝袜美腿高跟呻吟高潮一区| 国产馆精品极品| 精品视频一区二区三区免费| 欧美精品一区二区三区很污很色的 | 风流少妇一区二区| 欧洲色大大久久| 久久久久国产精品人| 亚洲午夜在线视频| 国产成人在线观看| 555夜色666亚洲国产免| 中文字幕亚洲视频| 国产一区二区视频在线播放| 欧美这里有精品| 国产精品妹子av| 久久se精品一区二区| 欧美日韩国产bt| 亚洲柠檬福利资源导航| 国产激情91久久精品导航| 欧美日韩免费电影| 亚洲日本va在线观看| 国产成人在线视频免费播放| 日韩欧美成人一区二区| 亚洲超丰满肉感bbw| 色综合久久精品| 国产精品人人做人人爽人人添| 美女视频黄a大片欧美| 欧美午夜精品电影| 亚洲青青青在线视频| 国产夫妻精品视频| 日韩精品一区二区三区在线播放| 亚洲妇女屁股眼交7| 91国产免费观看| 亚洲欧美一区二区三区国产精品| 高清在线成人网| www激情久久| 狠狠v欧美v日韩v亚洲ⅴ| 欧美高清www午色夜在线视频| 一个色在线综合| 91网站在线播放| 国产精品久线在线观看| 高清久久久久久| 中文天堂在线一区| 成人午夜精品在线| 国产精品日日摸夜夜摸av| 国产成人免费网站| 欧美国产综合色视频| 国产精品一级片在线观看| 久久这里只有精品首页| 久久99精品国产.久久久久| 日韩一区二区三区av| 老司机免费视频一区二区三区| 日韩美女视频在线| 韩国av一区二区三区在线观看| 欧美成人一级视频| 国产一二三精品| 国产精品伦一区二区三级视频| zzijzzij亚洲日本少妇熟睡| 中文字幕一区二区三区在线播放| 成人福利在线看| 亚洲综合一区二区| 欧美丰满高潮xxxx喷水动漫| 丝袜美腿亚洲综合| 久久婷婷综合激情| 成人午夜精品在线| 亚洲国产中文字幕在线视频综合| 欧美日韩一级片在线观看| 蜜臀av一区二区三区| 久久伊99综合婷婷久久伊| 风间由美性色一区二区三区| 中文字幕制服丝袜一区二区三区| 色先锋久久av资源部| 丝袜亚洲另类欧美综合| 久久久99久久| 在线观看一区二区视频| 蜜臀av一区二区在线免费观看 | 国产精品888| 亚洲欧美综合在线精品|