⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start_xc.lst

📁 7279是串行的LED键盘控制芯片
💻 LST
📖 第 1 页 / 共 2 页
字号:
                        151     
                        152                     EXTRN CODE (?C_START)
                        153                     PUBLIC  ?C_STARTUP
                        154     
000000                  155                     CSEG    AT      0
000000 020000     F     156     ?C_STARTUP:     LJMP    STARTUP1
                        157     
------                  158                     RSEG    ?C_C51STARTUP
                        159     
000000                  160     STARTUP1:
                        161     
                        162     IF XTAL <> 0
                                                                        ; switch to external XTAL
                                                MOV     SCU_PAGE,#1
                                                ORL     PLL_CON, #0x04  ; OSCDISC = 1   _ _ _ NDIV, VCOBYP, OSCDISC, RES
                               LD, LOCK
                                                ORL     OSC_CON, #0x04  ; OSCSS = 1     0, 0, 0, OSCPD, XPD, OSCSS, ORDR
                               ES, OSCR
                                                ANL     OSC_CON, #0xF7  ; XPD = 0       power xtal
                                                                
                                                MOV     R0,#10          ; delay around 1.5 ms
                                DelayXTAL:
                                                DJNZ    R1,$
                                                DJNZ    R0,DelayXTAL
                                                                        ; redetection of osc
                                OSCR_NOTSET:
                                                ORL     OSC_CON, #0x02  ; ORDRES = 1
                                WAIT_ORDRES_0:
                                                MOV     A,OSC_CON
                                                JB      ACC.1,WAIT_ORDRES_0
                                                JNB     ACC.0,OSCR_NOTSET
                                        
                                                                        ; VCOBYP to change N-Divider
                                                ORL     PLL_CON, #0x08  ; VCOBYP = 1
                                                ANL     PLL_CON, #0xFB  ; OSCDISC = 0
                                                MOV     PASSWD,  #0x98  ; open access to writing protected bit
                                                ANL     PLL_CON, #0x0F
                                                ORL     PLL_CON, #NDIV*16
                                
                                                ORL     PLL_CON, #0x02  ; detect PLL lock
AX51 MACRO ASSEMBLER  START_XC                                                              01/01/03 05:11:18 PAGE     4

                                WAIT_LOCK:
                                                MOV     A, PLL_CON
                                                JNB     ACC.0, WAIT_LOCK
                                                     ; reconnect to PLL
                                                ANL     PLL_CON, #0xF7  ; VCOBYP = 0
                                                MOV     SCU_PAGE,#0
                                ENDIF
                        196     
                        197     IF IDATALEN <> 0
000000 787F             198                     MOV     R0,#IDATALEN - 1
000002 E4               199                     CLR     A
000003 F6               200     IDATALOOP:      MOV     @R0,A
000004 D8FD             201                     DJNZ    R0,IDATALOOP
                        202     ENDIF
                        203     
                        204     IF XDATALEN <> 0
000006 90F000           205                     MOV     DPTR,#XDATASTART
000009 7F00             206                     MOV     R7,#LOW (XDATALEN)
                        207       IF (LOW (XDATALEN)) <> 0
                                                MOV     R6,#(HIGH (XDATALEN)) +1
                                  ELSE
00000B 7E02             210                     MOV     R6,#HIGH (XDATALEN)
                        211       ENDIF
00000D E4               212                     CLR     A
00000E F0               213     XDATALOOP:      MOVX    @DPTR,A
00000F A3               214                     INC     DPTR
000010 DFFC             215                     DJNZ    R7,XDATALOOP
000012 DEFA             216                     DJNZ    R6,XDATALOOP
                        217     ENDIF
                        218     
                        219     IF PPAGEENABLE <> 0
                                                MOV     PPAGE_SFR,#PPAGE
                                ENDIF
                        222     
                        223     IF PDATALEN <> 0
                                                MOV     R0,#LOW (PDATASTART)
                                                MOV     R7,#LOW (PDATALEN)
                                                CLR     A
                                PDATALOOP:      MOVX    @R0,A
                                                INC     R0
                                                DJNZ    R7,PDATALOOP
                                ENDIF
                        231     
                        232     IF IBPSTACK <> 0
                                EXTRN DATA (?C_IBP)
                                
                                                MOV     ?C_IBP,#LOW IBPSTACKTOP
                                ENDIF
                        237     
                        238     IF XBPSTACK <> 0
                                EXTRN DATA (?C_XBP)
                                
                                                MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                                MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                                ENDIF
                        244     
                        245     IF PBPSTACK <> 0
                                EXTRN DATA (?C_PBP)
                                                MOV     ?C_PBP,#LOW PBPSTACKTOP
                                ENDIF
                        249     
000014 758100     F     250                     MOV     SP,#?STACK-1
                        251     
000017 020000     E     252                     LJMP    ?C_START
                        253     
                        254     ; Overwrite ?C?DPSEL address for XC866 Device
AX51 MACRO ASSEMBLER  START_XC                                                              01/01/03 05:11:18 PAGE     5

                        255     PUBLIC ?C?DPSEL
 00A2                   256     ?C?DPSEL DATA 0A2H   ; DPSEL address for Mentor M8051EW
                        257     
                        258                     END
                        259     
AX51 MACRO ASSEMBLER  START_XC                                                              01/01/03 05:11:18 PAGE     6

SYMBOL TABLE LISTING
------ ----- -------


N A M E                         T Y P E  V A L U E     ATTRIBUTES

?C?DPSEL . . . . . . . . . . .  D  ADDR  00A2H     A   
?C_C51STARTUP. . . . . . . . .  C  SEG   00001AH       REL=UNIT, ALN=BYTE
?C_START . . . . . . . . . . .  C  ADDR  -------       EXT
?C_STARTUP . . . . . . . . . .  C  ADDR  0000H     R   SEG=?CO?START_XC?3
?STACK . . . . . . . . . . . .  I  SEG   000001H       REL=UNIT, ALN=BYTE
ACC. . . . . . . . . . . . . .  D  ADDR  00E0H     A   
B. . . . . . . . . . . . . . .  D  ADDR  00F0H     A   
DPH. . . . . . . . . . . . . .  D  ADDR  0083H     A   
DPL. . . . . . . . . . . . . .  D  ADDR  0082H     A   
IBPSTACK . . . . . . . . . . .  N  NUMB  0000H     A   
IBPSTACKTOP. . . . . . . . . .  N  NUMB  0100H     A   
IDATALEN . . . . . . . . . . .  N  NUMB  0080H     A   
IDATALOOP. . . . . . . . . . .  C  ADDR  0003H     R   SEG=?C_C51STARTUP
NDIV . . . . . . . . . . . . .  N  NUMB  0002H     A   
OSC_CON. . . . . . . . . . . .  D  ADDR  00B6H     A   
PASSWD . . . . . . . . . . . .  D  ADDR  00BBH     A   
PBPSTACK . . . . . . . . . . .  N  NUMB  0000H     A   
PBPSTACKTOP. . . . . . . . . .  N  NUMB  0100H     A   
PDATALEN . . . . . . . . . . .  N  NUMB  0000H     A   
PDATASTART . . . . . . . . . .  N  NUMB  0000H     A   
PLL_CON. . . . . . . . . . . .  D  ADDR  00B7H     A   
PPAGE. . . . . . . . . . . . .  N  NUMB  00F0H     A   
PPAGE_SFR. . . . . . . . . . .  D  ADDR  00A0H     A   
PPAGEENABLE. . . . . . . . . .  N  NUMB  0000H     A   
SCU_PAGE . . . . . . . . . . .  D  ADDR  00BFH     A   
SP . . . . . . . . . . . . . .  D  ADDR  0081H     A   
STARTUP1 . . . . . . . . . . .  C  ADDR  0000H     R   SEG=?C_C51STARTUP
XBPSTACK . . . . . . . . . . .  N  NUMB  0000H     A   
XBPSTACKTOP. . . . . . . . . .  N  NUMB  00010000H A   
XDATALEN . . . . . . . . . . .  N  NUMB  0200H     A   
XDATALOOP. . . . . . . . . . .  C  ADDR  000EH     R   SEG=?C_C51STARTUP
XDATASTART . . . . . . . . . .  N  NUMB  F000H     A   
XTAL . . . . . . . . . . . . .  N  NUMB  0000H     A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -