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

📄 eeprom.ls1

📁 c8051f310xmodembootloader.rar
💻 LS1
📖 第 1 页 / 共 5 页
字号:
----                 664             RSEG  ?PR?_AT25_SetStatusReg?EEPROM
0000                 665     _AT25_SetStatusReg:
                     666             USING   0
                     667                             ; SOURCE LINE # 138
0000 900000   F      668             MOV     DPTR,#status_data?447
0003 EF              669             MOV     A,R7
0004 F0              670             MOVX    @DPTR,A
                     671     ; {     
                     672                             ; SOURCE LINE # 139
                     673     ;      uint j;
                     674     ;       /* wait when device is busy */
                     675     ;       //while(!AT25_IsReady());       //jerkoh
                     676     ; 
                     677     ;        for(j=0;j<60000;j++)
                     678                             ; SOURCE LINE # 144
0005 E4              679             CLR     A
0006 A3              680             INC     DPTR
0007 F0              681             MOVX    @DPTR,A
0008 A3              682             INC     DPTR
0009 F0              683             MOVX    @DPTR,A
000A                 684     ?C0016:
000A 900000   F      685             MOV     DPTR,#j?448
000D E0              686             MOVX    A,@DPTR
000E FE              687             MOV     R6,A
000F A3              688             INC     DPTR
0010 E0              689             MOVX    A,@DPTR
0011 FF              690             MOV     R7,A
0012 E4              691             CLR     A
0013 FC              692             MOV     R4,A
0014 FD              693             MOV     R5,A
0015 7B60            694             MOV     R3,#060H
0017 7AEA            695             MOV     R2,#0EAH
0019 F9              696             MOV     R1,A
001A F8              697             MOV     R0,A
001B D3              698             SETB    C
001C 120000   F      699             LCALL   ?C?SLCMP
001F 4015            700             JC      ?C0017
                     701     ;        {
                     702                             ; SOURCE LINE # 145
                     703     ;           if(AT25_IsReady()==1)
                     704                             ; SOURCE LINE # 146
0021 120000   F      705             LCALL   AT25_IsReady
0024 4010            706             JC      ?C0017
                     707     ;               {
                     708                             ; SOURCE LINE # 147
                     709     ;                 break;
                     710                             ; SOURCE LINE # 148
                     711     ;               }
                     712                             ; SOURCE LINE # 149
                     713     ;        }
                     714                             ; SOURCE LINE # 150
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    12

0026                 715     ?C0018:
0026 900000   F      716             MOV     DPTR,#j?448+01H
0029 E0              717             MOVX    A,@DPTR
002A 04              718             INC     A
002B F0              719             MOVX    @DPTR,A
002C 70DC            720             JNZ     ?C0016
002E 900000   F      721             MOV     DPTR,#j?448
0031 E0              722             MOVX    A,@DPTR
0032 04              723             INC     A
0033 F0              724             MOVX    @DPTR,A
0034                 725     ?C0071:
0034 80D4            726             SJMP    ?C0016
0036                 727     ?C0017:
                     728     ;        if(j==60000)
                     729                             ; SOURCE LINE # 151
0036 900000   F      730             MOV     DPTR,#j?448
0039 E0              731             MOVX    A,@DPTR
003A FE              732             MOV     R6,A
003B A3              733             INC     DPTR
003C E0              734             MOVX    A,@DPTR
003D FF              735             MOV     R7,A
003E E4              736             CLR     A
003F FC              737             MOV     R4,A
0040 FD              738             MOV     R5,A
0041 7B60            739             MOV     R3,#060H
0043 7AEA            740             MOV     R2,#0EAH
0045 F9              741             MOV     R1,A
0046 F8              742             MOV     R0,A
0047 C3              743             CLR     C
0048 120000   F      744             LCALL   ?C?SLCMP
004B 6020            745             JZ      ?C0021
                     746     ;        {
                     747                             ; SOURCE LINE # 152
                     748     ;           return;
                     749     ;        }
                     750                             ; SOURCE LINE # 154
004D                 751     ?C0020:
                     752     ; 
                     753     ;       /* make sure that the device is write enabled */
                     754     ;       X_CS=0;
                     755                             ; SOURCE LINE # 157
004D C291            756             CLR     X_CS
                     757     ;       _nop_();
                     758                             ; SOURCE LINE # 158
004F 00              759             NOP     
                     760     ;       SPI_WriteByte(WREN);
                     761                             ; SOURCE LINE # 159
0050 7F06            762             MOV     R7,#06H
0052 120000   F      763             LCALL   _SPI_WriteByte
                     764     ;       X_CS=1;
                     765                             ; SOURCE LINE # 160
0055 D291            766             SETB    X_CS
                     767     ;       _nop_();
                     768                             ; SOURCE LINE # 161
0057 00              769             NOP     
                     770     ;       _nop_();
                     771                             ; SOURCE LINE # 162
0058 00              772             NOP     
                     773     ; 
                     774     ;       X_CS=0;
                     775                             ; SOURCE LINE # 164
0059 C291            776             CLR     X_CS
                     777     ;       _nop_();        
                     778                             ; SOURCE LINE # 165
005B 00              779             NOP     
                     780     ;       SPI_WriteByte(WRSR);
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    13

                     781                             ; SOURCE LINE # 166
005C 7F01            782             MOV     R7,#01H
005E 120000   F      783             LCALL   _SPI_WriteByte
                     784     ;       SPI_WriteByte(status_data & 0x8C);      
                     785                             ; SOURCE LINE # 167
0061 900000   F      786             MOV     DPTR,#status_data?447
0064 E0              787             MOVX    A,@DPTR
0065 548C            788             ANL     A,#08CH
0067 FF              789             MOV     R7,A
0068 120000   F      790             LCALL   _SPI_WriteByte
                     791     ;       X_CS=1; 
                     792                             ; SOURCE LINE # 168
006B D291            793             SETB    X_CS
                     794     ; }
                     795                             ; SOURCE LINE # 169
006D                 796     ?C0021:
006D 22              797             RET     
                     798     ; END OF _AT25_SetStatusReg
                     799     
                     800     ; 
                     801     ; 
                     802     ; 
                     803     ; 
                     804     ; /*---------------------------------------------------------
                     805     ;              AT25_ReadArray()
                     806     ; 
                     807     ; Function:  Read  data streams from AT25XXXA.
                     808     ; Input:     address,num_of_byte,destination
                     809     ; Output:    No return value.
                     810     ; NOTE:    The function do not report error if the parameters
                     811     ;                  are wrong(eg.address>4096),it modify the parameters.
                     812     ;                  So be careful.       
                     813     ; -----------------------------------------------------------*/
                     814     ; void AT25_ReadArray(uint address,             //from this address;
                     815     
----                 816             RSEG  ?PR?_AT25_ReadArray?EEPROM
0000                 817     _AT25_ReadArray:
                     818             USING   0
                     819                             ; SOURCE LINE # 184
0000 900000   F      820             MOV     DPTR,#address?549
0003 EE              821             MOV     A,R6
0004 F0              822             MOVX    @DPTR,A
0005 A3              823             INC     DPTR
0006 EF              824             MOV     A,R7
0007 F0              825             MOVX    @DPTR,A
0008 900000   F      826             MOV     DPTR,#destination?551
000B EB              827             MOV     A,R3
000C F0              828             MOVX    @DPTR,A
000D A3              829             INC     DPTR
000E EA              830             MOV     A,R2
000F F0              831             MOVX    @DPTR,A
0010 A3              832             INC     DPTR
0011 E9              833             MOV     A,R1
0012 F0              834             MOVX    @DPTR,A
0013 900000   F      835             MOV     DPTR,#num_of_byte?550
0016 EC              836             MOV     A,R4
0017 F0              837             MOVX    @DPTR,A
0018 A3              838             INC     DPTR
0019 ED              839             MOV     A,R5
001A F0              840             MOVX    @DPTR,A
                     841     ;                                       uint num_of_byte,       //the number of bytes to re
                             ad;
                     842     ;                                       uchar* destination      //store the result.
                     843     ;                                       )
                     844     ; {     
                     845                             ; SOURCE LINE # 188
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    14

                     846     ;       uint i=0;
                     847                             ; SOURCE LINE # 189
001B E4              848             CLR     A
001C 900000   F      849             MOV     DPTR,#i?552
001F F0              850             MOVX    @DPTR,A
0020 A3              851             INC     DPTR
0021 F0              852             MOVX    @DPTR,A
                     853     ;       uint j=0;
                     854                             ; SOURCE LINE # 190
0022 A3              855             INC     DPTR
0023 F0              856             MOVX    @DPTR,A
0024 A3              857             INC     DPTR
0025 F0              858             MOVX    @DPTR,A
                     859     ; 
                     860     ;       /* Filter the parameters */
                     861     ;       if(num_of_byte>4096) num_of_byte=1;
                     862                             ; SOURCE LINE # 193
0026 D3              863             SETB    C
0027 ED              864             MOV     A,R5
0028 9400            865             SUBB    A,#00H
002A EC              866             MOV     A,R4
002B 9410            867             SUBB    A,#010H
002D 4008            868             JC      ?C0022
002F 900000   F      869             MOV     DPTR,#num_of_byte?550
0032 E4              870             CLR     A
0033 F0              871             MOVX    @DPTR,A
0034 A3              872             INC     DPTR
0035 04              873             INC     A
0036 F0              874             MOVX    @DPTR,A
0037                 875     ?C0022:
                     876     ;       if(address>4096) address=0;
                     877                             ; SOURCE LINE # 194
0037 D3              878             SETB    C
0038 900000   F      879             MOV     DPTR,#address?549+01H
003B E0              880             MOVX    A,@DPTR
003C 9400            881             SUBB    A,#00H
003E 900000   F      882             MOV     DPTR,#address?549
0041 E0              883             MOVX    A,@DPTR
0042 9410            884             SUBB    A,#010H
0044 4004            885             JC      ?C0023
0046 E4              886             CLR     A
0047 F0              887             MOVX    @DPTR,A
0048 A3              888             INC     DPTR

⌨️ 快捷键说明

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