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

📄 prg.lst

📁 单片机对FLASH芯片的烧写,源程序,原理图,PCB图
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     556     RST_FLASH:
0320 C262            557             CLR     CALL_RET
0322 20B70A          558             JB      IC_READY,RST_F0         ;33333333333333333333#############????/
0325 120085          559             LCALL   CLR_INTERFACE
0328 D230            560             SETB    ERR_IC_READY
032A D287            561             SETB    _FLASH_PWR
032C D262            562             SETB    CALL_RET
032E 22              563             RET
032F C230            564     RST_F0: CLR     ERR_IC_READY
0331 D2B3            565             SETB    _DX_EN
0333 C287            566             CLR     _FLASH_PWR      ;POWER THE FLASH
0335 7F32            567             MOV     R7,#50          ;DELAY 50ms AFTER POWER
0337 1204CC          568             LCALL   DELAY
033A D2B4            569             SETB    _DX_RD
033C D281            570             SETB    _FLASH_OE
033E D284            571             SETB    _FLASH_WE
0340 C283            572             CLR     _FLASH_RST
0342 7F01            573             MOV     R7,#1           ;DELAY 1ms
0344 D283            574             SETB    _FLASH_RST
0346 1204CC          575             LCALL   DELAY
0349 22              576             RET
                     577     
                     578     ;P>F,84N;(HARDWARE)!"6AH!ID!"P>F,TY84N;(HARDWARE)
                     579     RST_RDID_RST:
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   12


LOC  OBJ            LINE     SOURCE

034A C26F            580             CLR     IN_READ ;V4PP84N;V8An:s#,M#V9U}TZ=xPP5D2YWw
034C C26E            581             CLR     IN_PROG ;V4PP84N;V8An:s#,M#V9U}TZ=xPP5D2YWw
                     582     ;       CLR     CALL_RET
034E 120320          583             LCALL   RST_FLASH
0351 306201          584             JNB     CALL_RET,R_R_R1
0354 22              585             RET
                     586     R_R_R1:
0355 120614          587             LCALL   RD_ID
0358 306201          588             JNB     CALL_RET,R_R_R2
035B 22              589             RET
                     590     R_R_R2:
035C 120320          591             LCALL   RST_FLASH
035F 22              592             RET
                     593     
                     594     
                     595     ;P>F,2A3}/IHGx2A3}V8An5D92M,2?7V
                     596     ERASE_CMDX:
0360 C26F            597             CLR     IN_READ ;V4PP2A3}V8An:s#,M#V9U}TZ=xPP5D2YWw
0362 C26E            598             CLR     IN_PROG ;V4PP2A3}V8An:s#,M#V9U}TZ=xPP5D2YWw
0364 120677          599             LCALL   WRITE_CMD_HEAD
0367 D2B4            600             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
0369 C2B3            601             CLR     _DX_EN          ;J}>]O_J9D\
036B 759080          602             MOV     DXL,#80H        ;ERASE CMD
036E 75A000          603             MOV     DXH,#0          ;SET THE DATA: 80
0371 C284            604             CLR     _FLASH_WE
0373 C282            605             CLR     _FLASH_CE       ;LATCH THE ADDR
0375 D282            606             SETB    _FLASH_CE       ;LATCH THE DATA
0377 D284            607             SETB    _FLASH_WE       ;
0379 120677          608             LCALL   WRITE_CMD_HEAD
037C 22              609             RET
                     610     
                     611     ;P>F,2A3}
                     612     CHIP_ERASE:
037D 12034A          613             LCALL   RST_RDID_RST
0380 306201          614             JNB     CALL_RET,C_E1
0383 22              615             RET
0384 1202EA          616     C_E1:   LCALL   RET_ID
0387 C237            617             CLR     ERR_TIMEOUT
0389 C238            618             CLR     ERR_ERASE
038B 120360          619             LCALL   ERASE_CMDX
038E D2B4            620             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
0390 C2B3            621             CLR     _DX_EN          ;J}>]O_J9D\
                     622     ;       MOV     CB2,#0          ;H}WV=Z5XV7#(20BITS#)
                     623     ;       MOV     CB1,#5H
                     624     ;       MOV     CB0,#55H
                     625     ;       LCALL   SETADDR
0392 75A000          626             MOV     DXH,#0
0395 759010          627             MOV     DXL,#10H        ;CHIP ERASE CMD
0398 C282            628             CLR     _FLASH_CE
039A C284            629             CLR     _FLASH_WE
039C D282            630             SETB    _FLASH_CE
039E D284            631             SETB    _FLASH_WE
03A0 D2B3            632             SETB    _DX_EN          ;9X1UJ}>]O_
                     633     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                     634     ;www:   jb      TX_FLAG,www
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   13


LOC  OBJ            LINE     SOURCE

                     635     ;       LCALL   RETOK
                     636     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
03A2 7D96            637             MOV     R5,#150         ;DELAY 14s: WAIT TO FINISH ERASING
                     638     C_E_DLY:
03A4 7F00            639             MOV     R7,#0
03A6 20850A          640             JB      _FLASH_BUSY,C_E2
03A9 1204CC          641             LCALL   DELAY           ;200ms
03AC DDF6            642             DJNZ    R5,C_E_DLY
03AE D237            643             SETB    ERR_TIMEOUT
03B0 D262            644             SETB    CALL_RET
03B2 22              645             RET
03B3 1203B7          646     C_E2:   LCALL   VERIFY_ERASE
                     647     ;       JNB     CALL_RET,C_E3           ;;X84PC
                     648     ;       LCALL   RETERR
                     649     ;       RET
                     650     ;C_E3:  MOV     A,#CMD_CHIP_ERASE
                     651     ;C_EE:  LCALL   RETX1
03B6 22              652             RET
                     653     
                     654     ;<l2i2A3}=a9{
                     655     VERIFY_ERASE:
03B7 7590FF          656             MOV     DXL,#0FFH
03BA 75A0FF          657             MOV     DXH,#0FFH
03BD C2B4            658             CLR     _DX_RD          ;J}>]O_7=Or#:FLASH --> HOST
03BF C2B3            659             CLR     _DX_EN          ;J}>]O_J9D\
03C1 C282            660             CLR     _FLASH_CE
03C3 C281            661             CLR     _FLASH_OE
03C5 859082          662             MOV     DPL,DXL
03C8 85A083          663             MOV     DPH,DXH
03CB D2B3            664             SETB    _DX_EN          ;9X1UJ}>]O_
03CD D282            665             SETB    _FLASH_CE
03CF D281            666             SETB    _FLASH_OE
03D1 74FF            667             MOV     A,#0FFH
03D3 B59004          668             CJNE    A,DXL,V_E3
03D6 B5A001          669             CJNE    A,DXH,V_E3
03D9 22              670             RET
                     671     V_E3:   
03DA D238            672             SETB    ERR_ERASE
03DC D262            673             SETB    CALL_RET
03DE 22              674             RET
                     675     
                     676     ;IHGx2A3}
                     677     SECT_ERASE:
03DF 860A            678             MOV     ADDR2,@R0       ;SAVE THE ADDR
03E1 08              679             INC     R0
03E2 860B            680             MOV     ADDR1,@R0       ;SAVE THE ADDR
03E4 08              681             INC     R0
03E5 860C            682             MOV     ADDR0,@R0       ;SAVE THE ADDR
                     683     
03E7 12034A          684             LCALL   RST_RDID_RST
03EA 306201          685             JNB     CALL_RET,S_E1
03ED 22              686             RET
03EE 1202EA          687     S_E1:   LCALL   RET_ID
03F1 C237            688             CLR     ERR_TIMEOUT
03F3 C238            689             CLR     ERR_ERASE
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   14


LOC  OBJ            LINE     SOURCE

03F5 120360          690             LCALL   ERASE_CMDX
03F8 D2B4            691             SETB    _DX_RD          ;J}>]O_7=Or#:FLASH <-- HOST
03FA C2B3            692             CLR     _DX_EN          ;J}>]O_J9D\
03FC 850C12          693             MOV     CB0,ADDR0       ;H}WV=ZIHGx5XV7#(20BITS#)
03FF 850B11          694             MOV     CB1,ADDR1
0402 850A10          695             MOV     CB2,ADDR2
0405 1205F8          696             LCALL   SETADDR
0408 75A000          697             MOV     DXH,#0
040B 759030          698             MOV     DXL,#30H        ;IHGx ERASE CMD
040E C282            699             CLR     _FLASH_CE
0410 C284            700             CLR     _FLASH_WE
0412 D282            701             SETB    _FLASH_CE
0414 D284            702             SETB    _FLASH_WE
0416 D2B3            703             SETB    _DX_EN          ;9X1UJ}>]O_
0418 7590FF          704             MOV     DXL,#0FFH
041B 75A0FF          705             MOV     DXH,#0FFH
041E 7D32            706             MOV     R5,#50          ;DELAY 6s: WAIT TO FINISH ERASING
                     707     S_E_DLY:
0420 7F00            708             MOV     R7,#0
0422 20850A          709             JB      _FLASH_BUSY,S_E2
0425 1204CC          710             LCALL   DELAY           ;200ms
0428 DDF6            711             DJNZ    R5,S_E_DLY
042A D237            712             SETB    ERR_TIMEOUT
042C D262            713             SETB    CALL_RET
042E 22              714             RET
042F 1203B7          715     S_E2:   LCALL   VERIFY_ERASE
                     716     ;       JNB     CALL_RET,S_E3           ;;X84PC
                     717     ;       LCALL   RETERR
                     718     ;       RET
                     719     ;S_E3:  MOV     A,#CMD_SECT_ERASE;
                     720     ;S_EE:  LCALL   RETX1
0432 22              721             RET
                     722     
                     723     
                     724     ;=SJU/7"KM: 5XV7(8_4N;=5M4N;=1~6), J}>]3$6H(8_4N;=5M4N;=1~15), J}>]((3$6H-1)WV=Z), @[<S:M(1
                             WV=Z)(J}>]WV=ZJ}+@[<S:MWV=ZJ}=J}>]3$6H)
0433 F51C            725     TX_RX:  MOV     ABAK,A                  ;SAVE A
0435 9269            726             MOV     CBAK,C                  ;SAVE C
0437 D2D3            727             SETB    RS0                     ;SELECT WORK REGS 1
0439 209964          728     TX_RX0: JB      TI,TX                   ;7"KM/=SJU? 7"KM->TX
043C C298            729     RX:     CLR     RI                      ;=SJU
043E 206A79          730             JB      RX_END,TRXEND           ;
0441 E599            731             MOV     A,SBUF                  ;FfE<P#Qi
0443 20D005          732             JB      P,RX_P
0446 309A0E          733             JNB     RB8,RX_0                        ;OK
0449 814E            734             AJMP    RX_PE
044B 209A09          735     RX_P:   JB      RB8,RX_0                        ;OK
044E 306C45          736     RX_PE:  JNB     IN_RX,RX12              ;JG7qTZ=SJU9}3LVP#?
0451 D233            737             SETB    ERR_PERITY
0453 D260            738             SETB    RET_ERR                 ;JG: VC;X4p4mNs1jV>
0455 8196            739             AJMP    RX12
                     740     
0457 206B11          741     RX_0:   JB      RX_FLAG,RX1             ;JG7qRQ>-JU5=M(Q6FpJ<1jJ6#?
045A B4885D          742             CJNE    A,#COMM_START,TRXEND    ;JG7qN*M(Q6FpJ<1jJ6,7q->END
045D D26B            743             SETB    RX_FLAG                 ;JG: W<18=SJUJ}>]3$6H
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE   15


LOC  OBJ            LINE     SOURCE

045F 758A00          744     RX0:    MOV     TL0,#0H                 ;T0VC3uV5(12M,8.191ms): IhVC=SJU3,J1--3,J1:sM#V9=SJ
                             U,Ge3}=SJU1jV>
0462 758C00          745             MOV     TH0,#0H                 ;

⌨️ 快捷键说明

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