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

📄 mask_c_f.lst

📁 8051模拟IIC总线读写24CXX原程序。
💻 LST
字号:
A51 MACRO ASSEMBLER  MASK_C_F                                                             11/16/2005 11:33:00 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN mask_c_f.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE mask_c_f.a51 SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;$INCLUDE(REG52.INC)
                       2     
                       3     PUBLIC INIT_UART
                       4     PUBLIC delay_us
                       5     PUBLIC delay_us2
                       6     
                       7     program_dd segment code
                       8     PUBLIC _program_data ; must add _
                       9     
                      10     ;ly
                      11     PUBLIC READ_DATA
                      12     
                      13     PUBLIC ERS_BLOCK1
                      14     PUBLIC delay
                      15     PUBLIC delay_3sec
  FFF0                16     PGM_MTP EQU     0FFF0H
                      17     
----                  18     cseg at 08ff0h ; complete
8FF0                  19     complete:
8FF0 759055           20     MOV   P1, #55h
8FF3 80FB             21     jmp complete
                      22     
----                  23     cseg at 09000h ;data_start_addr
                      24     
                      25     ;CALL  INIT_UART
                      26     ;go:
9000 90A000           27      mov   DPTR,#MSG_toogle
9003 12A038           28      Lcall  SHOW2PC       
                      29      ;Lcall --> can be used within 64k,  Acall --> only within 2k
                      30      ; must use "Lcall" here,(because I want to copy this region to 0x1000)
                      31      ; if use "call", after disassembly --> become Acll, not Lcall, therefore it will not run p
                             roperly.
                      32     
9006 759000           33               MOV   P1, #00h       ;1 
9009 12A05B           34               Lcall delay
900C 12A05B           35               Lcall delay
900F 12A05B           36               Lcall delay
9012 12A05B           37               Lcall delay
9015 12A05B           38               Lcall delay
9018 12A05B           39               Lcall delay
901B 12A05B           40               Lcall delay
901E 12A05B           41               Lcall delay
                      42     
9021 7590FF           43               MOV   P1, #0ffh
9024 12A05B           44               Lcall delay
9027 12A05B           45               Lcall delay
902A 12A05B           46               Lcall delay
902D 12A05B           47               Lcall delay
9030 12A05B           48               Lcall delay
9033 12A05B           49               Lcall delay
9036 12A05B           50               Lcall delay
9039 12A05B           51               Lcall delay
                      52     
903C 759000           53               MOV   P1, #000h       ;2
903F 12A05B           54               Lcall delay
9042 12A05B           55               Lcall delay
9045 12A05B           56               Lcall delay
9048 12A05B           57               Lcall delay
A51 MACRO ASSEMBLER  MASK_C_F                                                             11/16/2005 11:33:00 PAGE     2

904B 12A05B           58               Lcall delay
904E 12A05B           59               Lcall delay
9051 12A05B           60               Lcall delay
9054 12A05B           61               Lcall delay
                      62     
9057 7590FF           63               MOV   P1, #0ffh
905A 12A05B           64               Lcall delay
905D 12A05B           65               Lcall delay
9060 12A05B           66               Lcall delay
9063 12A05B           67               Lcall delay
9066 12A05B           68               Lcall delay
9069 12A05B           69               Lcall delay
906C 12A05B           70               Lcall delay
906F 12A05B           71               Lcall delay
                      72     
9072 90A022           73     mov   DPTR,#MSG_OK
9075 12A038           74     Lcall  SHOW2PC 
                      75     ;jmp go    ;data_end_addr
                      76     
                      77     
                      78     
----                  79     cseg at 0A000h
A000                  80     MSG_toogle:
A000 0D0A2059         81             DB      0DH, 0AH, ' You will see P1 toogle 2 times','#'
A004 6F752077                
A008 696C6C20                
A00C 73656520                
A010 50312074                
A014 6F6F676C                
A018 65203220                
A01C 74696D65                
A020 7323                    
A022                  82     MSG_OK:
A022 0D0A204F         83             DB      0DH, 0AH, ' OK ','#'
A026 4B2023                  
                      84     
A029                  85     INIT_UART:
                      86     
A029 758920           87          MOV     TMOD,#020H      ; T1 MODE2 auto_reload
                      88     ;     MOV     TCON,#000H
A02C 758805           89          MOV     TCON,#005H
                      90     ;     MOV     TH1, #0F3H      ;(243) B.R.=2400 AT CLK=12MHz
                      91     ;      MOV     TH1, #253      ;(253) B.R.=19200 AT CLK=22.1184MHz    
A02F 758DF5           92           MOV     TH1, #245      ;(245) B.R.=4800 AT CLK=20MHz   or 10M 2400 
                      93     
                      94           ;MOV     TL1, #000H;;
A032 D28E             95          SETB    TR1             ; ENABLE TIME1
A034 759852           96          MOV     SCON,#052H      ; UART MODE1 **********8
A037 22               97          RET
                      98     
                      99     
A038                 100     SHOW2PC:
A038 E4              101             CLR     A
A039 93              102             MOVC    A,@A+DPTR
A03A B42301          103             CJNE    A,#23H,SHOW2PC_NEXT
A03D 22              104             RET
A03E                 105     SHOW2PC_NEXT:
A03E 12A044          106             LCALL   TRANS
A041 A3              107             INC     DPTR
A042 80F4            108             JMP     SHOW2PC
                     109     
                     110     
                     111     
A044                 112     TRANS:
A044 C2AF            113             CLR     EA
A046 C299            114             CLR     TI
A51 MACRO ASSEMBLER  MASK_C_F                                                             11/16/2005 11:33:00 PAGE     3

A048 759938          115             MOV     SBUF,#56;ly     A
A04B 3099FD          116             JNB     TI,$
A04E C299            117             CLR     TI
A050 22              118             RET
                     119     
A051                 120     delay_us:
A051 7FFA            121          mov    r7,#250  ;(r7*2)+1 us
A053 DFFE            122          djnz   r7,$
A055 22              123          ret
                     124     
                     125     
A056                 126     delay_us2:
A056 7F32            127          mov    r7,#50  ;(r7*2)+1 us
A058 DFFE            128          djnz   r7,$
A05A 22              129          ret
                     130     
                     131     
A05B                 132     delay:
A05B 7D01            133          mov r5,#1
A05D                 134     del0:
A05D 7E28            135         mov    r6,#40 ;R5*20ms
A05F                 136     del:
A05F 7FF6            137          mov    r7,#246
A061 DFFE            138          djnz   r7,$
A063 DEFA            139          djnz   r6,del
A065 DDF6            140          djnz   r5,del0
A067 22              141          ret                 
                     142     
                     143     
A068                 144     delay_3sec:
A068 7D96            145          mov r5,#150
A06A                 146     del00:
A06A 7E28            147         mov    r6,#40 ;R5*20ms
A06C                 148     del2:
A06C 7FF6            149          mov    r7,#246
A06E DFFE            150          djnz   r7,$
A070 DEFA            151          djnz   r6,del2
A072 DDF6            152          djnz   r5,del00
A074 22              153          ret 
                     154     
                     155     
                     156     
----                 157     RSEG program_dd
0000                 158     _program_data:  ;must add _
                     159     
                     160     ;ly
0000 12A044          161     LCALL   TRANS
                     162     
0003 852083          163     mov DPH,20H;R6
0006 852182          164     mov DPL,21H;R7
                     165     
0009 75F85A          166     MOV     0F8H,#5AH               ;ENTER IAP COMMAND KEY  
000C 43A220          167     ORL     0A2H,#20H               ; enable mask ROM
                     168     
000F 7902            169     MOV     R1, #02H                   ;PROGRAM  
                     170                    
0011 E522            171     MOV     A,22H;R5                  ;PROGRAM HI_now_sector_number TO flash
0013 12FFF0          172     CALL    PGM_MTP
0016 B40008          173     CJNE    A, #00H, PGM_ERR1
                     174     ;INC DPTR
                     175     
                     176     ;MOV     R1, #02H                  ;PROGRAM                 
                     177     ;MOV     A, R3                  ;PROGRAM LO_now_sector_number TO flash
                     178     ;CALL    PGM_MTP
                     179     ;CJNE    A, #00H, PGM_ERR2
                     180     ;MOV   0A2H,#00H               ; disable mask ROM
A51 MACRO ASSEMBLER  MASK_C_F                                                             11/16/2005 11:33:00 PAGE     4

                     181     ;MOV   0F8H,#00H 
0019 53A2DF          182     ANL   0A2H,#0DFH               ; disable mask ROM
001C 53F800          183     ANL   0F8H,#00H 
                     184     
                     185     ;INC DPTR
001F 8006            186     jmp end_p
                     187     
0021                 188     PGM_ERR1:
                     189     ;PGM_ERR2:
0021 900000   F      190      mov   DPTR,#PRG_FAIL
0024 12A038          191      call  SHOW2PC
                     192     
0027                 193     end_p:
0027 22              194     ret;;;;;;;;;
                     195     
0028                 196     PRG_FAIL:
0028 0D0A2050        197             DB      0DH, 0AH, ' PRG_FAIL ','#'
002C 52475F46                
0030 41494C20                
0034 23                      
                     198     
0035                 199     ERS_BLOCK1:
                     200     
                     201     ;ly
0035 12A044          202     LCALL   TRANS
                     203     
0038 75F85A          204     MOV     0F8H,#5AH               ;ENTER IAP COMMAND KEY  
003B 43A220          205     ORL     0A2H,#20H               ; enable mask ROM
                     206     
003E 7901            207     MOV     R1, #01H                  
0040 904000          208     MOV     DPTR,#04000H       ;ERASE block 1        
                     209                           
0043 12FFF0          210     CALL    PGM_MTP
                     211     
0046 B40008          212     CJNE    A, #00H, ERS_ERR
                     213     
0049 53A2DF          214     ANL   0A2H,#0DFH               ; disable mask ROM
004C 53F800          215     ANL   0F8H,#00H 
                     216     
004F 8006            217     jmp end_ers
                     218     
0051                 219     ERS_ERR:
0051 900000   F      220      mov   DPTR,#ERS_FAIL
0054 12A038          221      call  SHOW2PC
0057                 222     end_ers:
0057 22              223     ret
                     224     
0058                 225     ERS_FAIL:
0058 0D0A2045        226             DB      0DH, 0AH, ' ERS_BLOCK1_FAIL ','#'
005C 52535F42                
0060 4C4F434B                
0064 315F4641                
0068 494C2023                
                     227     
                     228     ;ly
006C                 229     READ_DATA:
006C 12A044          230     LCALL TRANS
                     231     
006F 852083          232     MOV DPH,20H
0072 852182          233     MOV DPL,21H
                     234     
0075 75F85A          235     MOV 0F8H,#5AH
0078 43A220          236     ORL 0A2H,#20H
                     237     
007B 7903            238     MOV R1,#03H
                     239     
A51 MACRO ASSEMBLER  MASK_C_F                                                             11/16/2005 11:33:00 PAGE     5

007D 12FFF0          240     CALL PGM_MTP
                     241     
0080 F522            242     MOV 22H,A
                     243     
0082 53A2DF          244     ANL   0A2H,#0DFH               
0085 53F800          245     ANL   0F8H,#00H 
                     246     
0088 8000            247     jmp end_read
                     248     
008A                 249     end_read:
008A 22              250     ret
                     251     
                     252     END
                             

⌨️ 快捷键说明

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