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

📄 prg.lst

📁 单片机对FLASH芯片的烧写,源程序,原理图,PCB图
💻 LST
📖 第 1 页 / 共 5 页
字号:
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    1


DOS 7.10 (038-N) MCS-51 MACRO ASSEMBLER, V2.2
OBJECT MODULE PLACED IN PRG.OBJ
ASSEMBLER INVOKED BY:  D:\PRG\51\ASM51.EXE PRG.ASM
                       

LOC  OBJ            LINE     SOURCE

                       1     ;OBN;;z--program the flash HY29LV1620 //89C52
                       2     
                       3     ;M(Q64+Jd5DJ}>]8qJ=N*#:88H#(M(Q6FpJ<1jJ6#)+ LEN #(J}>]3$6H#)+ CMD + #(LEN-28vJ}>]#)+ P#Qi:M
                             #;LEN<=60
                       4     ;=SJUJ}>]4f7ETZ80H:MC0H?*J<5DN;VC#,7"KMJ}>]7ETZ40H?*J<5DN;VC#,TZ6AFLASHJ1#,7"KMJ}>]7ETZ40H:
                             MC0H?*J<5DN;VC#,SIRD_FLAG1jV>>v6(
                       5     ;;;;;;;;;;;;;;B--BACKUP =SJUJ}>]5D4f7E5XV7
                       6     ;C_RX_ADDR0     EQU     80h     ;4.PP=SJUJ}>]5D4f7E5XV70
                       7     ;C_RX_ADDR1     EQU     C0h     ;4.PP=SJUJ}>]5D4f7E5XV71
                       8     ;REG BANK0: 
                       9     ;R2--6AFLASHJ}>]J1#:J5<J6AH!5D3$6H#(WV=ZJ}#)
                      10     ;R3--6AFLASHJ}>]J1#:@[<S:M
                      11     ;R4--6AFLASHJ}>]J1#:6AH!5DWn4sWV=ZJ}#;/1`3LJ1#:4f4"=SJU5=5DWV=ZJ}
                      12     ;R5--ERASE: DELAY REG
                      13     ;R6,R7--DELAY REG; 
                      14     ;REG BANK1: 
                      15     ;R0(08H),R1(09H)--COMM-ADDRESSING; 
                      16     ;R2-R3-R4(0AH-0BH-0CH)---FLASH START-ADDR FOR READ/PROGRAM(H---L),
                      17     ;R5-R6-R7(0DH-0EH-0FH)---NUMBERS OF BYTES TO BE PROGRAMED/READ(H---L)
                      18     ;REG BANK2:
                      19     ;R0-R1-R2(10H-11H-12H, CB0-CB1-CB2)---TMP REG FOR COUNTING; 
                      20     ;13H-14H-15H-16H-17H---TMP REG USED IN COUNTING ROUTING;???????????????????
                      21     ;REG BANK3: 
                      22     ;18H-19H -- ID_MC(MANUFACTURER CODE), 
                      23     ;1AH-1BH -- ID_DC(DEVICE CODE), 
                      24     ;1CH--BACK A; 
                      25     ;1DH--RTMP
                      26     
                      27     ;REG DEF <D4fFw6(Re
  0087                28     PCON    EQU     87H             ;SMOD ADDR
  002D                29     SPX     EQU     2DH             ;IhVCU;V8Uk(2EH~3FH)
                      30     
  0020                31     RX_COUNT        EQU     20H             ;4.PP=SJUWV=Z5D8vJ}(<FJ})
  0021                32     RX_LEN          EQU     21H             ;4.PP=SJUWV=Z5DW\J}
  0022                33     RX_ADDRC        EQU     22H             ;4.PP=SJUJWWV=Z5D4f7E5XV7(5XV7N*: 80H;rC0H, SIBIT16
                             HH76()
  0023                34     TX_COUNT        EQU     23H             ;4.PP7"KMWV=Z5D8vJ}(<FJ})
  0024                35     TX_LEN          EQU     24H             ;4.PP7"KMWV=Z5DW\J}
  0025                36     TX_ADDRC        EQU     25H             ;4.PP7"KMJWWV=Z5D4f7E5XV7#(JWWV=Z5XV7#:40H#)
  0026                37     ERR_CODE0       EQU     26H             ;1#4f4mNs4zBk(30H~37H)
  0027                38     ERR_CODE1       EQU     27H             ;1#4f4mNs4zBk(38H~3FH)
                      39     
  0028                40     PRC_LEN EQU     28H             ;U}TZ4&@m5DJ}>]5D3$6H
  0029                41     PRC_ADDR        EQU     29H             ;U}TZ4&@m5DJ}>]5D5XV7
  002A                42     PRC_COUNT       EQU     2AH             ;U}TZ4&@m5DJ}>]5D<FJ}
  002B                43     PRC_ADDRX       EQU     2BH             ;OBR;WiR*4&@m5DJ}>]5DFpJ<5XV7(514.PPM(Q63LPrJU5=MjU
                             {5DJ}>]J1#,=+4.PP=SJUJWWV=Z5D4f7E5XV74fHk8C<D4fFw#,M,J1VCRXEND1jV>)
                      44     
  0009                45     TX_INDEX        EQU     09H     ;7"KM<dV7<D4fFwBANK1--R1
  000A                46     ADDR2           EQU     0AH     ;THE HIGHT BYTE OF THE ADDR
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    2


LOC  OBJ            LINE     SOURCE

  000B                47     ADDR1           EQU     0BH     ;
  000C                48     ADDR0           EQU     0CH     ;THE LOWER BYTE OF THE ADDR
  000D                49     LEN2            EQU     0DH     ;THE HIGHT BYTE OF THE LEN
  000E                50     LEN1            EQU     0EH     ;
  000F                51     LEN0            EQU     0FH     ;THE LOWER BYTE OF THE LEN
                      52     
  0010                53     CB2             EQU     10H     ;THE HIGHT BYTE OF THE NUMBER FOR COUNTING DOWN
  0011                54     CB1             EQU     11H     ;
  0012                55     CB0             EQU     12H     ;THE LOWERST BYTE OF THE NUMBER FOR COUNTING DOWN
  0018                56     ID_MCL          EQU     18H     ;LOWERE BYTE OF THE ID_MC
  0019                57     ID_MCH          EQU     19H     ;HIGHER BYTE OF THE ID_MC
  001A                58     ID_DCL          EQU     1AH     ;LOWERE BYTE OF THE ID_DC
  001B                59     ID_DCH          EQU     1BH     ;HIGHER BYTE OF THE ID_DC
  001C                60     ABAK            EQU     1CH             ;BACKUP A
  001D                61     RTMP            EQU     1DH
                      62     ;ERR_NUM        EQU     1EH     ;1#4f4mNs4zBk
                      63     
  0090                64     DXL             EQU     90H             ;P1: 16N;J}>]5D5M8N;
  00A0                65     DXH             EQU     0A0H            ;P2--16N;J}>]5D8_8N;
                      66     
                      67     ;
                      68     ;4mNsBk : BIT REG -- 26H,27H (30H~3FH)
  0030                69     ERR_IC_READY    EQU     30H     ;FLASH NOT READY
  0031                70     ERR_LEN EQU     31H     ;6AP4WV=Z3$6H#(8vJ}#)4mNs#(=0#)
  0032                71     ERR_ID          EQU     32H     ;6AP>F,ID4mNs
  0033                72     ERR_PERITY      EQU     33H     ;=SJU9}3LVPFfE<P#Qi4m
  0034                73     ERR_SUM EQU     34H     ;@[<S:M4m
  0035                74     ERR_ADDR        EQU     35H     ;5XV74m#:3,3v76N'#(0--0FFFFF#)
  0036                75     ERR_STATE       EQU     36H     ;W4L,4mNs#:Hg--TZV4PP6AFLASHV8An9}3LVPJU5=2A3}V8An
  0037                76     ERR_TIMEOUT     EQU     37H     ;1`3LJ13,J1
  0038                77     ERR_ERASE       EQU     38H     ;P>F,2A3}J1P#Qi4m#(#!=0FFH#)
  0039                78     ERR_CMD EQU     39H     ;V8An4mNs
  003A                79     ERR_PRG_DATALEN EQU     3AH     ;1`3LJ1J}>]3$6H=0
                      80     
                      81     ;BIT REG DEFINE(2CH~2DH: 60H~6FH)
  0060                82     RET_ERR         EQU     60H             ;PhR*OrPC;X4p#:=SJU4mNs#(P#Qi:M/FfE<P#Qi#)
  0061                83     RD_FLAG         EQU     61H             ;6AFLASH9}3LVP#,7"KM;:3eGx5XV71jV>: 0--TRANSMITTING
                              ADDR=40H; 1--TRANSMITTING ADDR=C0H;
  0062                84     CALL_RET        EQU     62H     ;:/J}5wSC75;XV5#:1--error, 0-- normal
  0063                85     FLAG0           EQU     63H     ;M(SC1jV>
  0064                86     FLAG1           EQU     64H     ;M(SC1jV>
                      87     ;IC-NORDY               EQU     62H             ;1--FLASH READY FOR OPERATING
                      88     ;ERR_CODE       EQU     63H             ;1--2YWw9}3LVP7"Iz4mNs
                      89     ;ERR_RD_ID      EQU     64H             ;1--6AP>F,ID4mNs
                      90     ;ERR_LEN        EQU     65H             ;1--6AP4WV=Z3$6H#(8vJ}#)4mNs#(=0#)
  0069                91     CBAK            EQU     69H             ;BACKUP C
  006A                92     RX_END          EQU     6AH             ;1--RECEIVED ALL DATA
  006B                93     RX_FLAG         EQU     6BH             ;1--COMM_START RECEIVED(M(Q6FpJ<1jJ6)
  006C                94     IN_RX           EQU     6CH             ;1--IN RECEIVING
  006D                95     TX_FLAG         EQU     6DH             ;1--IN TRANSMITTING
  006E                96     IN_PROG         EQU     6EH             ;1--IN PROGRAM
  006F                97     IN_READ         EQU     6FH             ;1--IN READING FLASH
                      98     
  0016                99     RX_ADDR_X       EQU     16H     ;0--RX_ADDRC=80H, 1--RX_ADDRC=C0H
                     100     
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    3


LOC  OBJ            LINE     SOURCE

  00B3               101     _DX_EN          EQU     0B3H    ;P3.3           ;DXL/DXHJ}>]O_J9D\: 5MSPP'
  00B4               102     _DX_RD          EQU     0B4H    ;P3.4           ;4SJ}>]O_6AJ}>]DXL/DXH: 5MSPP'; 1--OrJ}>]O_
                             P4J}>]
  00B5               103     _ADDR_INC       EQU     0B5H    ;P3.5           ;5XV7Tv1J1VS: OB=5QXSPP'
  00B6               104     ADDR_CLR        EQU     0B6H    ;P3.6           ;5XV7GeAc:  8_SPP'
  00B7               105     IC_READY        EQU     0B7H    ;P3.7           ;FLASH P>F,W<18:C
  0080               106     _FLASH_BYTE     EQU     80H     ;P0.0           ;FLASH2YWwN*WV=Z7=J=(2;JGWORDWV7=J=): 5MSPP
                             '(WV=Z7=J=), 8_N*WV7=J=
  0081               107     _FLASH_OE       EQU     81H     ;P0.1           ;FLASHJ}>]O_Jd3vSPP', <4: 4SFLASH6AJ}>]
  0082               108     _FLASH_CE       EQU     82H     ;P0.2           ;FLASH P>F,F,Q!: 5MSPP'
  0083               109     _FLASH_RST      EQU     83H     ;P0.3           ;FLASH P>F,84N;: 5MSPP', 84N;:sFLASH P>F,N*
                             6AW4L,
  0084               110     _FLASH_WE       EQU     84H     ;P0.4           ;FLASH P>F,P4?XVF: 5MSPP'
  0085               111     _FLASH_BUSY     EQU     85H     ;P0.5           ;FLASH C&(U}TZV4PP2YWw): 5MSPP'
  0087               112     _FLASH_PWR      EQU     87H     ;P0.7           ;N*FLASH 9)5g: 5MSPP'
                     113     
                     114     ;M(Q6C|An(3#J})6(Re
  0088               115     COMM_START      EQU     88H             ;M(Q6FpJ<1jJ6
  0011               116     CMD_CHIP_ERASE  EQU     11H             ;V8An: 2A3}
  0022               117     CMD_SECT_ERASE  EQU     22H             ;V8An: 2A3}
  0033               118     CMD_PROG        EQU     33H             ;1`3LV8An: 4+KM1`3L5XV7!"3$6H
  0044               119     CMD_PROGX       EQU     044H            ;1`3LV8An: 4+KM1`3LJ}>]
  0055               120     CMD_READ        EQU     55H             ;V8An: 6AFLASH
  0066               121     CMD_RSTFLASH    EQU     66H             ;FLASH84N;
  0077               122     CMD_ERR EQU     77H             ;4mNs75;X#:SI4mNsBkH76(
  0099               123     CMD_OK          EQU     99H             ;=SJUU}H7#:4mNsBk=0
  00AA               124     CMD_CHIP_ID     EQU     0AAH            ;V8An: FLASH ID
  00BB               125     CMD_ERR_PRG     EQU     0BBH            ;1`3L4mNs#:CMD+ADDR(3 byteS)+SOURCE DATA+REAL DATA+
                             SUM
  00CC               126     CMD_END EQU     0CCH            ;1`3L!"6AFLASHV8AnV4PPMj1O
                     127     ;CMD_SHKHND     EQU     0DDH            ;M(Q6NUJV#:75;XCMD_OK
                     128     
  0014               129     T_RESET         EQU     20              ;FLASH84N;QS3YJ1<d#:20us
  003C               130     RD_BYTES        EQU     60              ;C?4N6A60WV=Z
                     131     
                     132     
0000                 133             ORG     0000H
0000 0150            134             AJMP    INIT            ;84N;:sW*3uJ<;/3LPr
                     135     
000B                 136             ORG     000BH           ;6(J1FwT0VP6O
000B 0204C1          137             LJMP    TIMER           ;W*6(J13LPr
                     138     
0023                 139             ORG     0023H           ;4.?ZVP6O
0023 020433          140             LJMP    TX_RX
                     141     
0050                 142             ORG     0050H
0050 75812D          143     INIT:   MOV     SP,#SPX         ;IhVCU;V8Uk
0053 1200A3          144             LCALL   INITX
                     145     
                     146     LOOP:
                     147     ;       MOV     C,IC_READY      ;********************
                     148     ;       CPL     C               ;********************
                     149     ;       MOV     _FLASH_PWR,C
0056 20B705          150             JB      IC_READY,LOOP0
0059 120085          151             LCALL   CLR_INTERFACE
MCS-51 MACRO ASSEMBLER    PRG                                                                       11/06/:1   PAGE    4


LOC  OBJ            LINE     SOURCE

005C 0167            152             AJMP    LOOP01
005E 206F06          153     LOOP0:  JB      IN_READ,LOOP01
0061 206E03          154             JB      IN_PROG,LOOP01
0064 120096          155             LCALL   SET_INTERFACE
                     156     LOOP01:
0067 206013          157             JB      RET_ERR,L0
006A 306F08          158     LOOP1:  JNB     IN_READ,LOOP2   ;TZ6AFLASH9}3LVP#:Hg9{IOR;WiJ}>]7"KMMj1O#(TX_FLAG=0#)#,Tr5w
                             SCREADTX6AH!OBR;WiJ}>]
006D 206D05          159             JB      TX_FLAG,LOOP2
0070 120549          160             LCALL   READTX                  ;=+FLASHJ}>]6AHk7"KM;:3eGx#,
0073 0156            161             AJMP    LOOP
0075 306ADE          162     LOOP2:  JNB     RX_END,LOOP             ;<l2iJG7qJU5=J}>]
0078 120105          163             LCALL   TRXPRO
007B 0156            164             AJMP    LOOP
007D 206DEA          165     L0:     JB      TX_FLAG,LOOP1
0080 1200D8          166             LCALL   RETERR
0083 0156            167             AJMP    LOOP
                     168     
                     169     
                     170     CLR_INTERFACE:
0085 D287            171             SETB    _FLASH_PWR
0087 759000          172             MOV     DXL,#0
008A 75A000          173             MOV     DXH,#0
008D C2B4            174             CLR     _DX_RD          ;J}>]O_7=Or#:FLASH --> HOST
008F C2B3            175             CLR     _DX_EN          ;J}>]O_J9D\
0091 C2B6            176             CLR     ADDR_CLR        ;CLR THE ADDR TO ZERO
0093 C2B5            177             CLR     _ADDR_INC       ;

⌨️ 快捷键说明

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