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

📄 prg.lst

📁 单片机对FLASH芯片的烧写,源程序,原理图,PCB图
💻 LST
📖 第 1 页 / 共 5 页
字号:
0095 22              178             RET
                     179     
                     180     SET_INTERFACE:
0096 7590FF          181             MOV     DXL,#0FFH
0099 75A0FF          182             MOV     DXH,#0FFH
009C D2B3            183             SETB    _DX_EN          ;J}>]O_XJ9D\
009E D2B6            184             SETB    ADDR_CLR        ;CLR THE ADDR TO ZERO
00A0 C287            185             CLR     _FLASH_PWR
00A2 22              186             RET
                     187     
                     188     
                     189     ;3uJ<;/3LPr
                     190     INITX:
                     191     ;       CLR     RX_FLAG
                     192     ;       CLR     TX_FLAG
                     193     ;       CLR     RX_END
                     194     ;       CLR     IN_RX
                     195     ;       CLR     IN_PROG
                     196     ;       CLR     IN_READ
                     197     ;       CLR     RET_ERR
                     198     ;       CLR     RD_FLAG
                     199     
00A3 752C00          200             MOV     2CH,#0
00A6 752D00          201             MOV     2DH,#0
00A9 752600          202             MOV     ERR_CODE0,#0            ;CLEAR THE REG OF ERR_CODE
00AC 752700          203             MOV     ERR_CODE1,#0            ;CLEAR THE REG OF ERR_CODE
                     204     
00AF 752280          205             MOV     RX_ADDRC,#80H           ;4.PP=SJUJWWV=Z5D4f7E5XV7:80h
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    5


LOC  OBJ            LINE     SOURCE

00B2 752540          206             MOV     TX_ADDRC,#40H           ;4.PP7"KMJWWV=Z5D4f7E5XV7:40h
                     207     
00B5 758DFF          208             MOV     TH1,#0FFH               ;IhVC2(LXBJ: #0FDH: BDR=9600,SMODE=0; FOSC=11.0592M
                             ; #0FFH: BDR=57.6K,SMODE=1
00B8 758780          209             MOV     PCON,#80H               ;SMODE=1
00BB 758920          210             MOV     TMOD,#20H               ;6(J1FwT1IhN*7=J=2, 6(J1FwT0IhN*D#J=0(13BIT)
00BE D28E            211             SETB    TR1                     ;Ft6/6(J1FwT1
00C0 7598D0          212             MOV     SCON,#0D0H              ;4.PP?Z9$Ww7=J=: 7=J=3,TJPm=SJU
00C3 D2AC            213             SETB    ES                      ;?*4.PP?ZVP6O
                     214     
                     215     ;       MOV     TMOD,#0H                ;6(J1FwT0IhN*D#J=0
00C5 758A00          216             MOV     TL0,#0H         ;T0VC3uV5(12M,8191ms)
00C8 758C00          217             MOV     TH0,#0H         ;
                     218     ;       SETB    TR0                     ;Ft6/T0
                     219     ;       SETB    ET0                     ;TJPmT0VP6O
00CB D2AF            220             SETB    EA                      ;CPU?*VP6O
00CD 22              221             RET
                     222     
                     223     ;=SJUU}H7, ;X4pPC: TZ1`3LW4L,J1#,GkGsPC7"KMOBR;WiJ}>]
00CE 7499            224     RETOK:  MOV     A,#CMD_OK
00D0 752600          225             MOV     ERR_CODE0,#0            ;CLEAR THE REG OF ERR_CODE
00D3 752700          226             MOV     ERR_CODE1,#0            ;CLEAR THE REG OF ERR_CODE
00D6 01E1            227             AJMP    RETX1
                     228     ;=SJU5=5DJ}>]SP4mNs-->;X84PC
                     229     RETERR:
00D8 C26F            230             CLR     IN_READ ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
00DA C26E            231             CLR     IN_PROG ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
00DC 752280          232             MOV     RX_ADDRC,#80H           ;7"Iz4mNs:s#,;V843uJ<IhVC#:4.PP=SJUJWWV=Z5D4f7E5XV7
                             :80h
00DF 7477            233             MOV     A,#CMD_ERR      ;V8AnWV
00E1 752404          234     RETX1:  MOV     TX_LEN,#04H     ;927"KM48vWV=Z: CMD_XXX,ERR_CODE1,ERR_CODE0, P#Qi:M
00E4 752305          235             MOV     TX_COUNT,#05H   ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
                             51HTXLEN6`1
00E7 A825            236             MOV     R0,TX_ADDRC
00E9 F6              237             MOV     @R0,A           ;############V8AnWV########################
00EA 08              238             INC     R0
00EB A627            239             MOV     @R0,ERR_CODE1   ;H!4mNs4zBk: 0--NO ERROR
00ED 2527            240             ADD     A,ERR_CODE1
00EF 752700          241             MOV     ERR_CODE1,#0            ;CLEAR THE REG OF ERR_CODE
00F2 08              242             INC     R0
00F3 A626            243             MOV     @R0,ERR_CODE0   ;H!4mNs4zBk: 0--NO ERROR
00F5 2526            244             ADD     A,ERR_CODE0
00F7 752600          245             MOV     ERR_CODE0,#0            ;CLEAR THE REG OF ERR_CODE
00FA 08              246             INC     R0
00FB F6              247             MOV     @R0,A           ;P#Qi:M
00FC 852509          248             MOV     TX_INDEX,TX_ADDRC       ;
00FF 120315          249             LCALL   TX_COMM_START   ;7"KMM(Q6FpJ<1jJ6
0102 C260            250             CLR     RET_ERR
0104 22              251             RET
                     252     
                     253     ;4&@m=SJU5=5DJ}>]
                     254     TRXPRO:
0105 A822            255             MOV     R0,RX_ADDRC     ;H!4.PP=SJUJWWV=Z5D4f7E5XV7
0107 E4              256             CLR     A               ;P#QiJ}>]@[<S:M
0108 D5200E          257     TRXP0:  DJNZ    RX_COUNT,TRXP1
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    6


LOC  OBJ            LINE     SOURCE

010B 66              258             XRL     A,@R0
010C 600F            259             JZ      TRXP2           ;@[<S:MU}H7->TRXP2
010E D234            260             SETB    ERR_SUM
0110 C26A            261             CLR     RX_END          ;TJPm=SJUOBR;WiJ}>]
0112 206DFD          262     TRXPE:  JB      TX_FLAG,TRXPE   ;5H4}7"KMMj1O
0115 1200D8          263             LCALL   RETERR          ;ERROR  ;       AJMP    INIT            ;##################
                             ####################
0118 22              264             RET                     ;
0119 26              265     TRXP1:  ADD     A,@R0           ;<FKcJ}>]@[<S:M
011A 08              266             INC     R0
011B 2108            267             AJMP    TRXP0
                     268     TRXP2:
                     269     ;       MOV     B,RX_ADDRC      ;V8AnWV=Z4f7E5XV7
011D 1200CE          270             LCALL   RETOK           ;;X4p(TO PC): CMDOK
0120 A822            271             MOV     R0,RX_ADDRC     ;V8AnWV=Z4f7E5XV7
0122 306DFD          272     TRXPW0: JNB     TX_FLAG,TRXPW0  ;5H4}7"KM
0125 B216            273             CPL     RX_ADDR_X       ;IhVCOBR;4N=SJU5D5XV7#:4.PP=SJUJWWV=Z5D4f7E5XV7(5XV7N*: 80H
                             ;rC0H, SIBIT16HH76()
0127 E521            274             MOV     A,RX_LEN        ;1#4f=SJU5=5DWV=ZJ}
0129 C26A            275             CLR     RX_END          ;TJPm=SJUOBR;WiJ}>]
012B 14              276             DEC     A
012C C3              277             CLR     C
012D 13              278             RRC     A
012E FC              279             MOV     R4,A            ;
                     280     ;       MOV     R0,B            ;V8AnWV=Z4f7E5XV7
012F E6              281             MOV     A,@R0           ;H!V8An
0130 08              282             INC     R0
                     283     ;       INC     B
0131 206DFD          284     TRXPW1: JB      TX_FLAG,TRXPW1  ;5H4}7"KMMj1O
                     285     
0134 B49901          286             CJNE    A,#CMD_OK,TRXP20        ;M(Q6A*BgC|An
0137 22              287             RET
0138 B4660A          288     TRXP20: CJNE    A,#CMD_RSTFLASH,TRXP3   ;FLASH P>F,84N;:CMD+SUM, 84N;:sFLASH P>F,N*6AW4L,
013B 12034A          289             LCALL   RST_RDID_RST
013E 2062D1          290             JB      CALL_RET,TRXPE
0141 1202EA          291             LCALL   RET_ID                          ;=+IDKM8xPC
0144 22              292             RET
0145 B4550B          293     TRXP3:  CJNE    A,#CMD_READ,TRXP4               ;6AFLASHJ}>]: CMD+START_ADDR(3 BYTES: H---L
                             )+READ_LEN(3 BYTES: H---L)+SUM
0148 306E04          294             JNB     IN_PROG,TRXP31
014B D236            295     TRXP30: SETB    ERR_STATE
014D 2112            296             AJMP    TRXPE
014F 1204FE          297     TRXP31: LCALL   RD_PREPARE
0152 22              298             RET
0153 B43307          299     TRXP4:  CJNE    A,#CMD_PROG,TRXP40              ;FLASH1`3L: CMD+START_ADDR(3 BYTES: H---L)+
                             PRG_LEN(3 BYTES: H---L)+SUM
0156 206FF2          300             JB      IN_READ,TRXP30
0159 12018B          301             LCALL   PRG_PREPARE                     ;=SJU1`3LJ}>]#:CMD+J}>]+SUM
015C 22              302             RET
015D B44407          303     TRXP40: CJNE    A,#CMD_PROGX,TRXP5      ;=SJU1`3LJ}>]#:CMD+J}>]+SUM
0160 306E03          304             JNB     IN_PROG,TRXP41
0163 1201DE          305             LCALL   PROGM   ;
0166 22              306     TRXP41: RET
0167 B4110F          307     TRXP5:  CJNE    A,#CMD_CHIP_ERASE,TRXP6 ;FLASH2A3}
016A 12037D          308             LCALL   CHIP_ERASE                      ;P>F,2A3}
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    7


LOC  OBJ            LINE     SOURCE

016D 2062A2          309             JB      CALL_RET,TRXPE
0170 7411            310             MOV     A,#CMD_CHIP_ERASE
0172 206DFD          311     TRXP50: JB      TX_FLAG,TRXP50  ;5H4}7"KMMj1O
0175 1202EC          312             LCALL   RET_ID1
0178 22              313             RET
0179 B4220B          314     TRXP6:  CJNE    A,#CMD_SECT_ERASE,TRXPEND       ;FLASH2A3}
017C 1203DF          315             LCALL   SECT_ERASE                      ;IHGx2A3}
017F 206290          316             JB      CALL_RET,TRXPE
0182 7422            317             MOV     A,#CMD_SECT_ERASE
0184 2172            318             AJMP    TRXP50
                     319     ;TRXP7: CJNE    A,#CMD_SHKHND,TRXPE     ;M(Q6NUJV
                     320     ;       LCALL   RETOK
0186 22              321             RET
0187 D239            322     TRXPEND:        SETB    ERR_CMD
0189 2112            323             AJMP    TRXPE
                     324     
                     325     ;JU5=FLASH1`3LC|An:s#:OH6AH!ID#,7"KM8xPC#,H;:sTYIhVCSP9X1jV>#,5H4}=SJU1`3LJ}>]
                     326     PRG_PREPARE:
018B 860A            327             MOV     ADDR2,@R0       ;SAVE THE ADDR
018D 08              328             INC     R0
018E 860B            329             MOV     ADDR1,@R0       ;SAVE THE ADDR
0190 08              330             INC     R0
0191 860C            331             MOV     ADDR0,@R0       ;SAVE THE ADDR
0193 08              332             INC     R0
0194 860D            333             MOV     LEN2,@R0        ;SAVE THE LEN
0196 08              334             INC     R0
0197 860E            335             MOV     LEN1,@R0        ;SAVE THE LEN
0199 08              336             INC     R0
019A 860F            337             MOV     LEN0,@R0        ;SAVE THE LEN
                     338     ;       INC     R0
                     339     
019C 1204D3          340             LCALL   CHK_ADD_LEN             ;<l2i5XV7!"3$6H
019F 206238          341             JB      CALL_RET,P_PE   ;ERROR
01A2 12034A          342             LCALL   RST_RDID_RST            ;P>F,84N;!"6AH!ID
01A5 206232          343             JB      CALL_RET,P_PE
01A8 1202EA          344             LCALL   RET_ID                  ;=+IDKM8xPC
                     345     
01AB 120677          346             LCALL   WRITE_CMD_HEAD  ;UNLOCK CMD SEQUENCE
01AE D2B4            347             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
01B0 C2B3            348             CLR     _DX_EN          ;J}>]O_J9D\
01B2 759020          349             MOV     DXL,#20H        ;unlock bypass CMD
01B5 75A000          350             MOV     DXH,#0          ;SET THE DATA: 20
01B8 C284            351             CLR     _FLASH_WE
01BA C282            352             CLR     _FLASH_CE       ;LATCH THE ADDR
01BC D282            353             SETB    _FLASH_CE       ;LATCH THE DATA
01BE D284            354             SETB    _FLASH_WE       ;
01C0 D2B3            355             SETB    _DX_EN          ;9X1UJ}>]O_
                     356     
01C2 850A10          357             MOV     CB2,ADDR2               ;IhVCFpJ<5XV7
01C5 850B11          358             MOV     CB1,ADDR1
01C8 850C12          359             MOV     CB0,ADDR0
01CB 1205F8          360             LCALL   SETADDR
01CE 850D10          361             MOV     CB2,LEN2                ;IhVCWV=Z<FJ}
01D1 850E11          362             MOV     CB1,LEN1
01D4 850F12          363             MOV     CB0,LEN0
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    8


LOC  OBJ            LINE     SOURCE

⌨️ 快捷键说明

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