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

📄 prg.lst

📁 单片机对FLASH芯片的烧写,源程序,原理图,PCB图
💻 LST
📖 第 1 页 / 共 5 页
字号:

01D7 D26E            364             SETB    IN_PROG         ;VC1`3L1jV>
01D9 22              365             RET
01DA 1200D8          366     P_PE:   LCALL   RETERR
01DD 22              367     P_PX:   RET
                     368     
                     369     
                     370     ;=SJU5=1`3LJ}>]#:CMD+J}>]+SUM#,R4--J}>]WVJ}
                     371     PROGM:
01DE 20B712          372             JB      IC_READY,PRG0   ;$$$$$$$$$$$$$$$$$$$$$????????????
01E1 120085          373             LCALL   CLR_INTERFACE
01E4 D230            374             SETB    ERR_IC_READY
01E6 D260            375     PRGX:   SETB    RET_ERR
01E8 D287            376     PRGX1:  SETB    _FLASH_PWR
01EA C26E            377             CLR     IN_PROG         ;=aJxPROGRAM
01EC D2B3            378             SETB    _DX_EN          ;YES: 9X1UJ}>]O_
01EE D281            379             SETB    _FLASH_OE
01F0 D282            380             SETB    _FLASH_CE       ;
01F2 22              381             RET
01F3 12060D          382     PRG0:   LCALL   ISZERO                  ;<l2iR*1`3L5DWV=ZJ}JG7qN*Ac
01F6 D23A            383             SETB    ERR_PRG_DATALEN
01F8 60EC            384             JZ      PRGX
01FA C23A            385             CLR     ERR_PRG_DATALEN
01FC D2B4            386             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
01FE C2B3            387             CLR     _DX_EN          ;J}>]O_J9D\
0200 C282            388             CLR     _FLASH_CE       ;
0202 7590A0          389     PRG1:   MOV     DXL,#0A0H       ;unlock bypass PROGRAM CMD
0205 75A000          390             MOV     DXH,#0          ;SET THE DATA: 20
0208 C284            391             CLR     _FLASH_WE       ;LATCH THE ADDR
020A D284            392             SETB    _FLASH_WE       ;
020C E6              393             MOV     A,@R0           ;PROGRAM DATA
020D F5A0            394             MOV     DXH,A           ;PROGRAM DATA
020F F583            395             MOV     DPH,A           ;STORE THE DATA: FOR VERIFY THE PROGRAMED DATA
0211 08              396             INC     R0
0212 E6              397             MOV     A,@R0           ;SET THE DATA
0213 F590            398             MOV     DXL,A           ;SET THE DATA
0215 F582            399             MOV     DPL,A
0217 08              400             INC     R0
0218 C284            401             CLR     _FLASH_WE
021A D284            402             SETB    _FLASH_WE       ;
021C 74FF            403             MOV     A,#0FFH
021E F590            404             MOV     DXL,A
0220 F5A0            405             MOV     DXH,A
                     406     
0222 1205E2          407             LCALL   COUNT_DOWN              ;WV=ZJ}-1
0225 D263            408             SETB    FLAG0
0227 603D            409             JZ      PRG4
0229 1205E2          410             LCALL   COUNT_DOWN              ;WV=ZJ}-1
022C C263            411             CLR     FLAG0
022E 6036            412             JZ      PRG4
0230 7E14            413             MOV     R6,#20          ;DELAY 20*3us
0232 208506          414     PRGDLY: JB      _FLASH_BUSY,PRG3
0235 DEFB            415             DJNZ    R6,PRGDLY
0237 D237            416             SETB    ERR_TIMEOUT     ;3,J1
0239 21E6            417             AJMP    PRGX
                     418     PRG3:
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    9


LOC  OBJ            LINE     SOURCE

023B C2B4            419             CLR     _DX_RD          ;J}>]O_7=Or#:FLASH --> HOST: P#QiJ}>]
023D C281            420             CLR     _FLASH_OE       ;FOR READING THE PROGRAMED DATA
023F E590            421             MOV     A,DXL
0241 B58214          422             CJNE    A,DPL,PRG30
0244 E5A0            423             MOV     A,DXH
0246 B58316          424             CJNE    A,DPH,PRG31
0249 D281            425             SETB    _FLASH_OE       ;FOR WRITING
024B D2B4            426             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
024D C2B5            427             CLR     _ADDR_INC               ;INC ADDR
024F D2B5            428             SETB    _ADDR_INC       
0251 DCAF            429             DJNZ    R4,PRG1 ;END? no --> PRG1
0253 D2B3            430             SETB    _DX_EN          ;YES: 9X1UJ}>]O_
0255 D282            431             SETB    _FLASH_CE       ;
0257 22              432             RET
0258 D263            433     PRG30:  SETB    FLAG0
025A 1202A1          434             LCALL   RET_PRG_ERR
025D 21E8            435             AJMP    PRGX1
025F C263            436     PRG31:  CLR     FLAG0
0261 1202A1          437             LCALL   RET_PRG_ERR
0264 21E8            438             AJMP    PRGX1
                     439     PRG4:
0266 7E14            440             MOV     R6,#20          ;DELAY 20*3us
0268 208506          441     PRGDLYX:        JB      _FLASH_BUSY,PRG4X
026B DEFB            442             DJNZ    R6,PRGDLYX
026D D237            443             SETB    ERR_TIMEOUT     ;3,J1
026F 21E6            444             AJMP    PRGX
                     445     
0271 C2B4            446     PRG4X:  CLR     _DX_RD          ;H+2?J}>]1`3LMj1O#,P#QiWn:sR;WiJ}>]!#J}>]O_7=Or#:FLASH --> 
                             HOST
0273 C281            447             CLR     _FLASH_OE       ;FOR READING THE PROGRAMED DATA
0275 E590            448             MOV     A,DXL
0277 6582            449             XRL     A,DPL
0279 6005            450             JZ      PRG40
027B 1202A1          451             LCALL   RET_PRG_ERR
027E 21E8            452             AJMP    PRGX1           ;P#Qi4m#:
0280 20630B          453     PRG40:  JB      FLAG0,PRG41
0283 E5A0            454             MOV     A,DXH
0285 6583            455             XRL     A,DPH
0287 6005            456             JZ      PRG41
0289 1202A1          457             LCALL   RET_PRG_ERR
028C 21E8            458             AJMP    PRGX1
028E D281            459     PRG41:  SETB    _FLASH_OE       ;FOR WRITING
0290 D2B3            460             SETB    _DX_EN          ;9X1UJ}>]O_
0292 D282            461             SETB    _FLASH_CE       ;
0294 74CC            462             MOV     A,#CMD_END      ;;X84PC#:1`3L=aJx--V8AnWV
0296 1200E1          463             LCALL   RETX1
0299 120320          464             LCALL   RST_FLASH
029C D287            465             SETB    _FLASH_PWR
029E C26E            466             CLR     IN_PROG         ;=aJxPROGRAM
02A0 22              467             RET
                     468     
                     469     
                     470     ;1`3LJ1P#QiJ}>]3v4m#:;X84PC
                     471     RET_PRG_ERR:
02A1 C26E            472             CLR     IN_PROG ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   10


LOC  OBJ            LINE     SOURCE

02A3 74BB            473             MOV     A,#CMD_ERR_PRG  ;V8AnWV
02A5 752408          474             MOV     TX_LEN,#08H     ;927"KM88vWV=Z: CMD_ERR_PRG,CB2,CB1,CB0,PNUM,W_DATA,R_DATA,
                             P#Qi:M
02A8 752309          475             MOV     TX_COUNT,#09H   ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
                             51HTXLEN6`1
02AB A825            476             MOV     R0,TX_ADDRC
02AD F6              477             MOV     @R0,A           ;############V8AnWV########################
02AE 08              478             INC     R0
02AF A610            479             MOV     @R0,CB2 ;H!4mNsN;VC
02B1 2510            480             ADD     A,CB2
02B3 08              481             INC     R0
02B4 A611            482             MOV     @R0,CB1 ;H!4mNsN;VC
02B6 2511            483             ADD     A,CB1
02B8 08              484             INC     R0
02B9 A612            485             MOV     @R0,CB0 ;H!4mNsN;VC
02BB 2512            486             ADD     A,CB0
02BD 08              487             INC     R0
02BE 20630F          488             JB      FLAG0,R_P_E0
02C1 7601            489             MOV     @R0,#1
02C3 08              490             INC     R0
02C4 04              491             INC     A
02C5 A683            492             MOV     @R0,DPH
02C7 2583            493             ADD     A,DPH
02C9 08              494             INC     R0
02CA A6A0            495             MOV     @R0,DXH
02CC 25A0            496             ADD     A,DXH
02CE 41DE            497             AJMP    R_P_E1
                     498     R_P_E0:
02D0 7602            499             MOV     @R0,#2
02D2 08              500             INC     R0
02D3 2402            501             ADD     A,#2
02D5 A682            502             MOV     @R0,DPL
02D7 2582            503             ADD     A,DPL
02D9 08              504             INC     R0
02DA A690            505             MOV     @R0,DXL
02DC 2590            506             ADD     A,DXL
02DE 08              507     R_P_E1: INC     R0
02DF F6              508             MOV     @R0,A           ;P#Qi:M
02E0 852509          509             MOV     TX_INDEX,TX_ADDRC       ;
02E3 120315          510             LCALL   TX_COMM_START   ;7"KMM(Q6FpJ<1jJ6
                     511     R_P_E2:
02E6 306DFD          512             JNB     TX_FLAG,R_P_E2
02E9 22              513             RET
                     514     
                     515     
                     516     ;=+FLASH IDKM8xPC
                     517     RET_ID:
02EA 74AA            518             MOV     A,#CMD_CHIP_ID  ;V8AnWV
                     519     RET_ID1:
02EC 752406          520             MOV     TX_LEN,#06H     ;927"KM68vWV=Z: CMD_XXX,ID_MCH,ID_MCL,ID_DCH,ID_DCL, P#Qi:M
02EF 752307          521             MOV     TX_COUNT,#07H   ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
                             51HTXLEN6`1
                     522     
02F2 A825            523             MOV     R0,TX_ADDRC
02F4 F6              524             MOV     @R0,A           ;############V8AnWV########################
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   11


LOC  OBJ            LINE     SOURCE

02F5 08              525             INC     R0
                     526     
02F6 A619            527             MOV     @R0,ID_MCH
02F8 2519            528             ADD     A,ID_MCH
02FA 08              529             INC     R0
02FB A618            530             MOV     @R0,ID_MCL
02FD 2518            531             ADD     A,ID_MCL
02FF 08              532             INC     R0
0300 A61B            533             MOV     @R0,ID_DCH
0302 251B            534             ADD     A,ID_DCH
0304 08              535             INC     R0
0305 A61A            536             MOV     @R0,ID_DCL
0307 251A            537             ADD     A,ID_DCL
0309 08              538             INC     R0
                     539     
030A F6              540             MOV     @R0,A           ;P#Qi:M
030B 852509          541             MOV     TX_INDEX,TX_ADDRC       ;
030E 120315          542             LCALL   TX_COMM_START
0311 306DFD          543     RET_ID0:        JNB     TX_FLAG,RET_ID0 ;5H4}7"KM
0314 22              544             RET
                     545     
                     546     ;7"KMM(Q6FpJ<1jJ6
                     547     TX_COMM_START:
0315 7488            548             MOV     A,#COMM_START   ;7"KMM(Q6FpJ<1jJ6
0317 A2D0            549             MOV     C,P             ;FfE<P#Qi
0319 929B            550             MOV     TB8,C
031B F599            551             MOV     SBUF,A
031D C26D            552             CLR     TX_FLAG
031F 22              553             RET
                     554     
                     555     ;P>F,84N;(hardware)

⌨️ 快捷键说明

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