📄 spidriv.lst
字号:
227 1 //读出所有的数据并存起来,下面将其写入的数据挨个比较
228 1 //-------------------------------------------------
229 1 FMSPIRead(FM25L04RDStore, 0x00, 512); //读取所有数据
230 1
231 1 #ifdef FM25L04DATASHOW
UART0_Printf("\n\n Read from 0x:%x \n",0x0000);
for(FM25L04ADDR = 0x00; FM25L04ADDR < 512; FM25L04ADDR ++)
{
UART0_Printf(" %d ",(int)FM25L04RDStore[FM25L04ADDR]);
}
#endif
238 1
239 1 for(FM25L04ADDR = 0x00; FM25L04ADDR < 512; FM25L04ADDR ++) //检查是否有错误
240 1 {
241 2 if(FM25L04RDStore[FM25L04ADDR] == FM25L04WRStore[FM25L04ADDR])
C51 COMPILER V8.01 SPIDRIV 09/30/2007 11:14:55 PAGE 5
242 2 {;}
243 2 else
244 2 {
245 3 UART0_Printf("\n\n Data Err Occur at 0x:%x \n\n", FM25L04ADDR);
246 3 }
247 2 }
248 1 UART0_Printf("\n FM25L04 test OK! \n");
249 1 }
C51 COMPILER V8.01 SPIDRIV 09/30/2007 11:14:55 PAGE 6
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION SPIInit (BEGIN)
; SOURCE LINE # 21
; SOURCE LINE # 22
; SOURCE LINE # 23
0000 43F4C0 ORL PERIPHEN1,#0C0H
0003 ?C0001:
; SOURCE LINE # 26
0003 E5C9 MOV A,SPISTATUS
0005 30E3FB JNB ACC.3,?C0001
0008 ?C0002:
; SOURCE LINE # 29
0008 75C163 MOV SPICTRL,#063H
; SOURCE LINE # 35
000B 75C280 MOV SPICONFIG,#080H
; SOURCE LINE # 42
000E E4 CLR A
000F F5C9 MOV SPISTATUS,A
; SOURCE LINE # 46
0011 22 RET
; FUNCTION SPIInit (END)
; FUNCTION _FMSPIWrite (BEGIN)
; SOURCE LINE # 56
0000 900000 R MOV DPTR,#Dst
0003 EC MOV A,R4
0004 F0 MOVX @DPTR,A
0005 A3 INC DPTR
0006 ED MOV A,R5
0007 F0 MOVX @DPTR,A
;---- Variable 'Src' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 57
; SOURCE LINE # 61
0008 53C27F ANL SPICONFIG,#07FH
; SOURCE LINE # 64
;---- Variable 'Temp' assigned to Register 'R7' ----
000B AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 65
000D 75C406 MOV SPIRXTX0,#06H
0010 ?C0004:
; SOURCE LINE # 67
0010 E5C9 MOV A,SPISTATUS
0012 30E1FB JNB ACC.1,?C0004
0015 ?C0005:
; SOURCE LINE # 71
0015 43C280 ORL SPICONFIG,#080H
; SOURCE LINE # 74
0018 C3 CLR C
0019 900000 R MOV DPTR,#Dst
001C E0 MOVX A,@DPTR
001D 9401 SUBB A,#01H
001F 501A JNC ?C0006
; SOURCE LINE # 75
; SOURCE LINE # 76
0021 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 77
0023 75C402 MOV SPIRXTX0,#02H
0026 ?C0007:
; SOURCE LINE # 79
0026 E5C9 MOV A,SPISTATUS
C51 COMPILER V8.01 SPIDRIV 09/30/2007 11:14:55 PAGE 7
0028 30E1FB JNB ACC.1,?C0007
002B ?C0008:
; SOURCE LINE # 82
002B AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 83
002D 900000 R MOV DPTR,#Dst
0030 A3 INC DPTR
0031 E0 MOVX A,@DPTR
0032 F5C4 MOV SPIRXTX0,A
0034 ?C0009:
; SOURCE LINE # 85
0034 E5C9 MOV A,SPISTATUS
0036 20E11A JB ACC.1,?C0016
0039 80F9 SJMP ?C0009
; SOURCE LINE # 87
003B ?C0006:
; SOURCE LINE # 89
; SOURCE LINE # 90
003B AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 91
003D 75C40A MOV SPIRXTX0,#0AH
0040 ?C0012:
; SOURCE LINE # 93
0040 E5C9 MOV A,SPISTATUS
0042 30E1FB JNB ACC.1,?C0012
0045 ?C0013:
; SOURCE LINE # 96
0045 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 97
0047 900000 R MOV DPTR,#Dst
004A A3 INC DPTR
004B E0 MOVX A,@DPTR
004C F5C4 MOV SPIRXTX0,A
004E ?C0014:
; SOURCE LINE # 99
004E E5C9 MOV A,SPISTATUS
0050 30E1FB JNB ACC.1,?C0014
; SOURCE LINE # 101
; SOURCE LINE # 103
0053 ?C0016:
0053 900000 R MOV DPTR,#DataLen
0056 74FF MOV A,#0FFH
0058 F5F0 MOV B,A
005A 120000 E LCALL ?C?ILDIX
005D 45F0 ORL A,B
005F 6015 JZ ?C0017
; SOURCE LINE # 104
; SOURCE LINE # 105
0061 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 106
0063 120000 E LCALL ?C?CLDPTR
0066 F5C4 MOV SPIRXTX0,A
0068 ?C0019:
; SOURCE LINE # 109
0068 E5C9 MOV A,SPISTATUS
006A 30E1FB JNB ACC.1,?C0019
006D ?C0020:
; SOURCE LINE # 112
006D 7401 MOV A,#01H
006F 29 ADD A,R1
0070 F9 MOV R1,A
0071 E4 CLR A
C51 COMPILER V8.01 SPIDRIV 09/30/2007 11:14:55 PAGE 8
0072 3A ADDC A,R2
0073 FA MOV R2,A
; SOURCE LINE # 113
0074 80DD SJMP ?C0016
0076 ?C0017:
; SOURCE LINE # 117
0076 53C27F ANL SPICONFIG,#07FH
; SOURCE LINE # 119
0079 22 RET
; FUNCTION _FMSPIWrite (END)
; FUNCTION _FMSPIRead (BEGIN)
; SOURCE LINE # 129
0000 900000 R MOV DPTR,#Src
0003 EC MOV A,R4
0004 F0 MOVX @DPTR,A
0005 A3 INC DPTR
0006 ED MOV A,R5
0007 F0 MOVX @DPTR,A
;---- Variable 'Dst' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 130
; SOURCE LINE # 134
0008 43C280 ORL SPICONFIG,#080H
; SOURCE LINE # 136
;---- Variable 'Temp' assigned to Register 'R7' ----
000B AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 138
000D C3 CLR C
000E 900000 R MOV DPTR,#Src
0011 E0 MOVX A,@DPTR
0012 9401 SUBB A,#01H
0014 501A JNC ?C0022
; SOURCE LINE # 139
; SOURCE LINE # 140
0016 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 141
0018 75C403 MOV SPIRXTX0,#03H
001B ?C0023:
; SOURCE LINE # 143
001B E5C9 MOV A,SPISTATUS
001D 30E1FB JNB ACC.1,?C0023
0020 ?C0024:
; SOURCE LINE # 146
0020 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 147
0022 900000 R MOV DPTR,#Src
0025 A3 INC DPTR
0026 E0 MOVX A,@DPTR
0027 F5C4 MOV SPIRXTX0,A
0029 ?C0025:
; SOURCE LINE # 149
0029 E5C9 MOV A,SPISTATUS
002B 20E11A JB ACC.1,?C0032
002E 80F9 SJMP ?C0025
; SOURCE LINE # 151
0030 ?C0022:
; SOURCE LINE # 153
; SOURCE LINE # 154
0030 AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 155
0032 75C40B MOV SPIRXTX0,#0BH
0035 ?C0028:
C51 COMPILER V8.01 SPIDRIV 09/30/2007 11:14:55 PAGE 9
; SOURCE LINE # 157
0035 E5C9 MOV A,SPISTATUS
0037 30E1FB JNB ACC.1,?C0028
003A ?C0029:
; SOURCE LINE # 160
003A AFC4 MOV R7,SPIRXTX0
; SOURCE LINE # 161
003C 900000 R MOV DPTR,#Src
003F A3 INC DPTR
0040 E0 MOVX A,@DPTR
0041 F5C4 MOV SPIRXTX0,A
0043 ?C0030:
; SOURCE LINE # 163
0043 E5C9 MOV A,SPISTATUS
0045 30E1FB JNB ACC.1,?C0030
; SOURCE LINE # 165
; SOURCE LINE # 167
0048 ?C0032:
0048 900000 R MOV DPTR,#DataLen
004B 74FF MOV A,#0FFH
004D F5F0 MOV B,A
004F 120000 E LCALL ?C?ILDIX
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -