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

📄 main.lst

📁 该压缩包里包含了51单片机syncoms的ISP源程序代码。
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 07/25/2005 11:24:57 PAGE     1


MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN .\Main.obj
ASSEMBLER INVOKED BY: D:\applysoft\Keil\C51\BIN\A51.EXE ..\Main.asm NOMOD51 SET(LARGE) DEBUG PAGELENGTH(1000) OBJECT(.\M
                      ain.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     ;********************************************************************************
                       2     ;                               main.asm                                              *
                       3     ;********************************************************************************
                       4     ;$include (Sm5964.h)
                +1     5     ;********************************************************************************
                +1     6     ;                              Sm5964.h                                             *
                +1     7     ;********************************************************************************
                +1     8     ;$include (Mcs51.h)
                +2     9     ;********************************************************************************
                +2    10     ;                               Mcs51.h                                               *
                +2    11     ;********************************************************************************
                +2    12  +1 $save 
                +2   124  +1 $restore 
                +2   125     ;================================================================================
                +1   126     
                +1   127     ;================================================================================
  00D8          +1   128     P4        DATA      0XD8
  009F          +1   129     WDTC      DATA      0X9F
  00BF          +1   130     SCONF     DATA      0XBF
  00F4          +1   131     ISPFAH    DATA      0XF4
  00F5          +1   132     ISPFAL    DATA      0XF5
  00F6          +1   133     ISPFD     DATA      0XF6
  00F7          +1   134     ISPC      DATA      0XF7
  0085          +1   135     RCON      DATA      0X85
  0086          +1   136     DBANK     DATA      0X86
  009B          +1   137     P1CON     DATA      0X9B
  00A3          +1   138     SPWMC     DATA      0XA3
  00A4          +1   139     SPWMD0    DATA      0XA4
  00A5          +1   140     SPWMD1    DATA      0XA5
  00A6          +1   141     SPWMD2    DATA      0XA6
  00A7          +1   142     SPWMD3    DATA      0XA7
  00AC          +1   143     SPWMD4    DATA      0XAC
  00C9          +1   144     T2MOD     DATA      0XC9
                +1   145     ;================================================================================
                     146     
                     147     ;================================================================================
  0040               148     STACKSIZE     EQU       40H
  00FA               149     W_TH1         EQU       0XFA
                     150     ;================================================================================
  00B5               151     WatchDog      EQU       P3.5
                     152     ;================================================================================
  F000               153     ISPVECTOR     EQU       0XF000
                     154     ;================================================================================
                     155     MainIDseg       SEGMENT   IDATA
----                 156               RSEG       MainIDseg
0000                 157     Stack:    DS           STACKSIZE
                     158     ;================================================================================
                     159     MainDSeg  SEGMENT   DATA
----                 160               RSEG      MainDSeg
0000                 161     DLCNT:    DS        1
0001                 162     ?Debug_Str?BYTE:
0001                 163     BYTE1:    DS        1
0002                 164     BYTE2:    DS        1
0003                 165     ?Debug_Mem?BYTE:
0003                 166     ?Debug_Rom?BYTE:
0003                 167     BYTE3:    DS        1
0004                 168     BYTE4:    DS        1
0005                 169     BYTE5:    DS        1
  0001               170     StrPtr              EQU      BYTE1
  0003               171     MemPtr              EQU      BYTE3
  0004               172     MemLen              EQU      BYTE4
  0003               173     RomPtr              EQU      BYTE3
  0005               174     RomLen              EQU      BYTE5
                     175     ;================================================================================
----                 176     CSEG         AT        0XF000
                     177     USING       0
                     178     ;================================================================================
F000                 179     DownLoad:
F000 758100   F      180               MOV         SP,       #Stack-1
F003 75D000          181               MOV       PSW,      #00000000B
F006 75A800          182               MOV       IE,       #00000000B
                     183     
F009 75BF04          184               MOV       SCONF,    #00000100B
F00C 759F00          185               MOV       WDTC,     #00000000B
F00F 12F0C9          186               LCALL     InitDownLoadUart
F012                 187     DownLoad_L1:
F012 7500F5   F      188               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Star)
F015 750056   F      189               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Star)
F018 12F43F          190               LCALL     Debug_Str
F01B 7500F5   F      191               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Title1)
F01E 75007C   F      192               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Title1)
F021 12F43F          193               LCALL     Debug_Str
F024 7500F5   F      194               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Title2)
F027 7500A2   F      195               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Title2)
F02A 12F43F          196               LCALL     Debug_Str
F02D 7500F5   F      197               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select1)
F030 7500C8   F      198               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select1)
F033 12F43F          199               LCALL     Debug_Str
F036 7500F5   F      200               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select2)
F039 7500EE   F      201               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select2)
F03C 12F43F          202               LCALL     Debug_Str
F03F 7500F6   F      203               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select3)
F042 750014   F      204               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select3)
F045 12F43F          205               LCALL     Debug_Str
F048 7500F6   F      206               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select4)
F04B 75003A   F      207               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select4)
F04E 12F43F          208               LCALL     Debug_Str
F051 7500F6   F      209               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select5)
F054 750060   F      210               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select5)
F057 12F43F          211               LCALL     Debug_Str
F05A 7500F6   F      212               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Select6)
F05D 750086   F      213               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Select6)
F060 12F43F          214               LCALL     Debug_Str
F063 7500F5   F      215               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Star)
F066 750056   F      216               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Star)
F069 12F43F          217               LCALL     Debug_Str
F06C 12F0EE          218               LCALL     StartISP
                     219     
F06F 12F403          220               LCALL     Debug_In
F072 F5F0            221               MOV       B,        A       
F074 7500F6   F      222               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Choice)
F077 7500AC   F      223               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Choice)
F07A 12F43F          224               LCALL     Debug_Str
F07D 12F40D          225               LCALL     Debug_Byte
F080 7500F5   F      226               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_LF)
F083 750053   F      227               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_LF)
F086 12F43F          228               LCALL     Debug_Str
                     229     
F089 E5F0            230               MOV       A,        B
F08B 6431            231               XRL       A,        #'1'
F08D 7006            232               JNZ       DownLoad_L2
F08F 12F0F8          233               LCALL     ChipErease
F092 02F012          234               LJMP      DownLoad_L1
F095                 235     DownLoad_L2:          
F095 E5F0            236               MOV       A,        B
F097 6432            237               XRL       A,        #'2'
F099 7006            238               JNZ       DownLoad_L3
F09B 12F148          239               LCALL     PageErease
F09E 02F012          240               LJMP      DownLoad_L1
F0A1                 241     DownLoad_L3:
F0A1 E5F0            242               MOV       A,        B
F0A3 6433            243               XRL       A,        #'3'
F0A5 7006            244               JNZ       DownLoad_L4
F0A7 12F1C8          245               LCALL     Program
F0AA 02F012          246               LJMP      DownLoad_L1
F0AD                 247     DownLoad_L4:
F0AD E5F0            248               MOV       A,        B
F0AF 6434            249               XRL       A,        #'4'
F0B1 7006            250               JNZ       DownLoad_L5
F0B3 12F2AD          251               LCALL     Protect
F0B6 02F012          252               LJMP      DownLoad_L1
F0B9                 253     DownLoad_L5:
F0B9 E5F0            254               MOV       A,        B
F0BB 6435            255               XRL       A,        #'5'
F0BD 7003            256               JNZ       DownLoad_L6
F0BF 020000          257               LJMP      0X0000
F0C2                 258     DownLoad_L6:
F0C2 12F2C8          259               LCALL     ShowRom
F0C5 02F012          260               LJMP      DownLoad_L1
F0C8 22              261               RET
                     262     ;================================================================================
F0C9                 263     InitDownLoadUart:
F0C9 C2AC            264               CLR         ES 
F0CB C28E            265               CLR       TR1
F0CD 758780          266               MOV         PCON,     #80H
F0D0 759870          267               MOV       SCON,     #01110000B
F0D3 E589            268               MOV       A,        TMOD
F0D5 540F            269               ANL       A,        #00001111B
F0D7 4420            270               ORL       A,        #00100000B
F0D9 F589            271               MOV       TMOD,     A
F0DB 758BFA          272               MOV         TL1,      #W_TH1
F0DE 758DFA          273               MOV         TH1,      #W_TH1
F0E1 C2AB            274               CLR       ET1
F0E3 C2BC            275               CLR       PS 
F0E5 D28E            276               SETB       TR1
F0E7 C299            277               CLR         TI        
F0E9 C298            278               CLR         RI
F0EB D2AC            279               SETB       ES
                     280                           
F0ED 22              281               RET
                     282     ;================================================================================
F0EE                 283     StartISP:
F0EE 75F655          284               MOV         ISPFD,    #0X55
F0F1 75F6AA          285               MOV         ISPFD,    #0XAA
F0F4 75F655          286               MOV         ISPFD,    #0X55
F0F7 22              287               RET
                     288     ;================================================================================
F0F8                 289     ChipErease:
F0F8 7500F6   F      290               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_ChipErease)
F0FB 7500BC   F      291               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_ChipErease)
F0FE 12F43F          292               LCALL     Debug_Str
F101 12F345          293               LCALL     AreYouSure
F104 5041            294               JNC       ChipErease_Ret
                     295     
F106 75F783          296               MOV       ISPC,     #0X83
F109 75F783          297               MOV       ISPC,     #0X83
                     298     
F10C 75F4EF          299               MOV       ISPFAH,   #HIGH(ISPVECTOR-1)
F10F 75F5FF          300               MOV       ISPFAL,   #LOW(ISPVECTOR-1)
                     301     
F112                 302     ChipErease_L1:
F112 B2B5            303               CPL       WatchDog
F114 85F483          304               MOV       DPH,      ISPFAH
F117 85F582          305               MOV       DPL,      ISPFAL
F11A E4              306               CLR       A
F11B 93              307               MOVC      A,        @A+DPTR
F11C 64FF            308               XRL       A,        #0XFF
F11E 600A            309               JZ        ChipErease_L2
F120 7500F7   F      310               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Failure)
F123 750014   F      311               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Failure)
F126 12F43F          312               LCALL     Debug_Str
F129 22              313               RET          
F12A                 314     ChipErease_L2:
F12A E5F4            315               MOV       A,        ISPFAH
F12C 700E            316               JNZ       ChipErease_L3
F12E E5F5            317               MOV       A,        ISPFAL
F130 700A            318               JNZ       ChipErease_L3
F132 7500F7   F      319               MOV       ?Debug_Str?BYTE+0,  #HIGH(Str_Success)
F135 750009   F      320               MOV       ?Debug_Str?BYTE+1,  #LOW(Str_Success)
F138 12F43F          321               LCALL     Debug_Str
F13B 22              322               RET
F13C                 323     ChipErease_L3:
F13C 15F5            324               DEC       ISPFAL
F13E E5F5            325               MOV       A,        ISPFAL
F140 04              326               INC       A
F141 7002            327               JNZ       ChipErease_L4
F143 15F4            328               DEC       ISPFAH
F145                 329     ChipErease_L4:

⌨️ 快捷键说明

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