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

📄 eeprom.ls1

📁 c8051f310xmodembootloader.rar
💻 LS1
📖 第 1 页 / 共 5 页
字号:
0049 F0              889             MOVX    @DPTR,A
004A                 890     ?C0023:
                     891     ;       
                     892     ;       /* wait when device is busy */
                     893     ;       //while(!AT25_IsReady());       //jerkoh
                     894     ; 
                     895     ;        for(j=0;j<60000;j++)
                     896                             ; SOURCE LINE # 199
004A E4              897             CLR     A
004B 900000   F      898             MOV     DPTR,#j?553
004E F0              899             MOVX    @DPTR,A
004F A3              900             INC     DPTR
0050 F0              901             MOVX    @DPTR,A
0051                 902     ?C0024:
0051 900000   F      903             MOV     DPTR,#j?553
0054 E0              904             MOVX    A,@DPTR
0055 FE              905             MOV     R6,A
0056 A3              906             INC     DPTR
0057 E0              907             MOVX    A,@DPTR
0058 FF              908             MOV     R7,A
0059 E4              909             CLR     A
005A FC              910             MOV     R4,A
005B FD              911             MOV     R5,A
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    15

005C 7B60            912             MOV     R3,#060H
005E 7AEA            913             MOV     R2,#0EAH
0060 F9              914             MOV     R1,A
0061 F8              915             MOV     R0,A
0062 D3              916             SETB    C
0063 120000   F      917             LCALL   ?C?SLCMP
0066 4015            918             JC      ?C0025
                     919     ;        {
                     920                             ; SOURCE LINE # 200
                     921     ;           if(AT25_IsReady()==1)
                     922                             ; SOURCE LINE # 201
0068 120000   F      923             LCALL   AT25_IsReady
006B 4010            924             JC      ?C0025
                     925     ;               {
                     926                             ; SOURCE LINE # 202
                     927     ;                 break;
                     928                             ; SOURCE LINE # 203
                     929     ;               }
                     930                             ; SOURCE LINE # 204
                     931     ;        }
                     932                             ; SOURCE LINE # 205
006D                 933     ?C0026:
006D 900000   F      934             MOV     DPTR,#j?553+01H
0070 E0              935             MOVX    A,@DPTR
0071 04              936             INC     A
0072 F0              937             MOVX    @DPTR,A
0073 70DC            938             JNZ     ?C0024
0075 900000   F      939             MOV     DPTR,#j?553
0078 E0              940             MOVX    A,@DPTR
0079 04              941             INC     A
007A F0              942             MOVX    @DPTR,A
007B                 943     ?C0072:
007B 80D4            944             SJMP    ?C0024
007D                 945     ?C0025:
                     946     ;        if(j==60000)
                     947                             ; SOURCE LINE # 206
007D 900000   F      948             MOV     DPTR,#j?553
0080 E0              949             MOVX    A,@DPTR
0081 FE              950             MOV     R6,A
0082 A3              951             INC     DPTR
0083 E0              952             MOVX    A,@DPTR
0084 FF              953             MOV     R7,A
0085 E4              954             CLR     A
0086 FC              955             MOV     R4,A
0087 FD              956             MOV     R5,A
0088 7B60            957             MOV     R3,#060H
008A 7AEA            958             MOV     R2,#0EAH
008C F9              959             MOV     R1,A
008D F8              960             MOV     R0,A
008E C3              961             CLR     C
008F 120000   F      962             LCALL   ?C?SLCMP
0092 6065            963             JZ      ?C0029
                     964     ;        {
                     965                             ; SOURCE LINE # 207
                     966     ;           return;
                     967     ;        }
                     968                             ; SOURCE LINE # 209
0094                 969     ?C0028:
                     970     ; 
                     971     ;       X_CS=0;//Enable the AT25XXXA.
                     972                             ; SOURCE LINE # 211
0094 C291            973             CLR     X_CS
                     974     ;       _nop_();
                     975                             ; SOURCE LINE # 212
0096 00              976             NOP     
                     977     ;       
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    16

                     978     ;       SPI_WriteByte(READ);//op_code
                     979                             ; SOURCE LINE # 214
0097 7F03            980             MOV     R7,#03H
0099 120000   F      981             LCALL   _SPI_WriteByte
                     982     ;       SPI_WriteByte((uchar)((address & 0x0F00)>>8));  //write address A11~A0
                     983                             ; SOURCE LINE # 215
009C 900000   F      984             MOV     DPTR,#address?549
009F E0              985             MOVX    A,@DPTR
00A0 540F            986             ANL     A,#0FH
00A2 FF              987             MOV     R7,A
00A3 120000   F      988             LCALL   _SPI_WriteByte
                     989     ;       SPI_WriteByte((uchar)(address & 0x00FF));               
                     990                             ; SOURCE LINE # 216
00A6 900000   F      991             MOV     DPTR,#address?549
00A9 A3              992             INC     DPTR
00AA E0              993             MOVX    A,@DPTR
00AB FF              994             MOV     R7,A
00AC 120000   F      995             LCALL   _SPI_WriteByte
                     996     ;       
                     997     ; 
                     998     ;       for(i=0;i<num_of_byte;i++)
                     999                             ; SOURCE LINE # 219
00AF E4             1000             CLR     A
00B0 900000   F     1001             MOV     DPTR,#i?552
00B3 F0             1002             MOVX    @DPTR,A
00B4 A3             1003             INC     DPTR
00B5 F0             1004             MOVX    @DPTR,A
00B6                1005     ?C0030:
00B6 900000   F     1006             MOV     DPTR,#num_of_byte?550
00B9 E0             1007             MOVX    A,@DPTR
00BA FE             1008             MOV     R6,A
00BB A3             1009             INC     DPTR
00BC E0             1010             MOVX    A,@DPTR
00BD FF             1011             MOV     R7,A
00BE C3             1012             CLR     C
00BF 900000   F     1013             MOV     DPTR,#i?552+01H
00C2 E0             1014             MOVX    A,@DPTR
00C3 9F             1015             SUBB    A,R7
00C4 900000   F     1016             MOV     DPTR,#i?552
00C7 E0             1017             MOVX    A,@DPTR
00C8 9E             1018             SUBB    A,R6
00C9 502C           1019             JNC     ?C0031
                    1020     ;       {
                    1021                             ; SOURCE LINE # 220
                    1022     ;               *destination=SPI_ReadByte();
                    1023                             ; SOURCE LINE # 221
00CB 120000   F     1024             LCALL   SPI_ReadByte
00CE 900000   F     1025             MOV     DPTR,#destination?551
00D1 E0             1026             MOVX    A,@DPTR
00D2 FB             1027             MOV     R3,A
00D3 A3             1028             INC     DPTR
00D4 E0             1029             MOVX    A,@DPTR
00D5 FA             1030             MOV     R2,A
00D6 A3             1031             INC     DPTR
00D7 E0             1032             MOVX    A,@DPTR
00D8 F9             1033             MOV     R1,A
00D9 EF             1034             MOV     A,R7
00DA 120000   F     1035             LCALL   ?C?CSTPTR
                    1036     ;               destination++;
                    1037                             ; SOURCE LINE # 222
00DD 900000   F     1038             MOV     DPTR,#destination?551+01H
00E0 E4             1039             CLR     A
00E1 75F001         1040             MOV     B,#01H
00E4 120000   F     1041             LCALL   ?C?IILDX
                    1042     ;       }
                    1043                             ; SOURCE LINE # 223
A51 MACRO ASSEMBLER  EEPROM                                                               08/03/2009 16:57:28 PAGE    17

00E7 900000   F     1044             MOV     DPTR,#i?552+01H
00EA E0             1045             MOVX    A,@DPTR
00EB 04             1046             INC     A
00EC F0             1047             MOVX    @DPTR,A
00ED 70C7           1048             JNZ     ?C0030
00EF 900000   F     1049             MOV     DPTR,#i?552
00F2 E0             1050             MOVX    A,@DPTR
00F3 04             1051             INC     A
00F4 F0             1052             MOVX    @DPTR,A
00F5                1053     ?C0073:
00F5 80BF           1054             SJMP    ?C0030
00F7                1055     ?C0031:
                    1056     ; 
                    1057     ;       X_CS=1;//Disable the AT25XXXA.
                    1058                             ; SOURCE LINE # 225
00F7 D291           1059             SETB    X_CS
                    1060     ;       
                    1061     ; }     
                    1062                             ; SOURCE LINE # 227
00F9                1063     ?C0029:
00F9 22             1064             RET     
                    1065     ; END OF _AT25_ReadArray
                    1066     
                    1067     ; 
                    1068     ; 
                    1069     ; 
                    1070     ; /*---------------------------------------------------------
                    1071     ;              AT25_ReadByte()
                    1072     ; 
                    1073     ; Function:  Read only one byte from the AT25XXXA,as a return 
                    1074     ;                  value.
                    1075     ; -----------------------------------------------------------*/
                    1076     ; /*
                    1077     ; uchar AT25_ReadByte(uint address)
                    1078     ; {
                    1079     ;       uchar temp[1];
                    1080     ; 
                    1081     ;       AT25_ReadArray(address,1,&temp);
                    1082     ;       return temp[0]; 
                    1083     ; }
                    1084     ; */
                    1085     ; 
                    1086     ; 
                    1087     ; /*---------------------------------------------------------
                    1088     ;              AT25_WritePage()
                    1089     ; 
                    1090     ; Function:  Write data(<=32 bytes) to the AT25XXXA.
                    1091     ; Input:     address,num_of_byte,source
                    1092     ; Output:    No return value.
                    1093     ; NOTE:    The function do not report error if the parameters
                    1094     ;                  are wrong(eg.address>4096),it modify the parameters.
                    1095     ;                  So be careful.       
                    1096     ; -----------------------------------------------------------*/
                    1097     ; void AT25_WritePage(uint address,             //from this address;
                    1098     
----                1099             RSEG  ?PR?_AT25_WritePage?EEPROM
0000                1100     _AT25_WritePage:
                    1101             USING   0
                    1102                             ; SOURCE LINE # 258
0000 900000   F     1103             MOV     DPTR,#address?654
0003 EE             1104             MOV     A,R6
0004 F0             1105             MOVX    @DPTR,A
0005 A3             1106             INC     DPTR
0006 EF             1107             MOV     A,R7
0007 F0             1108             MOVX    @DPTR,A
0008 900000   F     1109             MOV     DPTR,#source?656
A51 MACRO ASSEMBLER  EEPROM                                                           

⌨️ 快捷键说明

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