📄 prg.lst
字号:
0095 22 178 RET
179
180 SET_INTERFACE:
0096 7590FF 181 MOV DXL,#0FFH
0099 75A0FF 182 MOV DXH,#0FFH
009C D2B3 183 SETB _DX_EN ;J}>]O_XJ9D\
009E D2B6 184 SETB ADDR_CLR ;CLR THE ADDR TO ZERO
00A0 C287 185 CLR _FLASH_PWR
00A2 22 186 RET
187
188
189 ;3uJ<;/3LPr
190 INITX:
191 ; CLR RX_FLAG
192 ; CLR TX_FLAG
193 ; CLR RX_END
194 ; CLR IN_RX
195 ; CLR IN_PROG
196 ; CLR IN_READ
197 ; CLR RET_ERR
198 ; CLR RD_FLAG
199
00A3 752C00 200 MOV 2CH,#0
00A6 752D00 201 MOV 2DH,#0
00A9 752600 202 MOV ERR_CODE0,#0 ;CLEAR THE REG OF ERR_CODE
00AC 752700 203 MOV ERR_CODE1,#0 ;CLEAR THE REG OF ERR_CODE
204
00AF 752280 205 MOV RX_ADDRC,#80H ;4.PP=SJUJWWV=Z5D4f7E5XV7:80h
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 5
LOC OBJ LINE SOURCE
00B2 752540 206 MOV TX_ADDRC,#40H ;4.PP7"KMJWWV=Z5D4f7E5XV7:40h
207
00B5 758DFF 208 MOV TH1,#0FFH ;IhVC2(LXBJ: #0FDH: BDR=9600,SMODE=0; FOSC=11.0592M
; #0FFH: BDR=57.6K,SMODE=1
00B8 758780 209 MOV PCON,#80H ;SMODE=1
00BB 758920 210 MOV TMOD,#20H ;6(J1FwT1IhN*7=J=2, 6(J1FwT0IhN*D#J=0(13BIT)
00BE D28E 211 SETB TR1 ;Ft6/6(J1FwT1
00C0 7598D0 212 MOV SCON,#0D0H ;4.PP?Z9$Ww7=J=: 7=J=3,TJPm=SJU
00C3 D2AC 213 SETB ES ;?*4.PP?ZVP6O
214
215 ; MOV TMOD,#0H ;6(J1FwT0IhN*D#J=0
00C5 758A00 216 MOV TL0,#0H ;T0VC3uV5(12M,8191ms)
00C8 758C00 217 MOV TH0,#0H ;
218 ; SETB TR0 ;Ft6/T0
219 ; SETB ET0 ;TJPmT0VP6O
00CB D2AF 220 SETB EA ;CPU?*VP6O
00CD 22 221 RET
222
223 ;=SJUU}H7, ;X4pPC: TZ1`3LW4L,J1#,GkGsPC7"KMOBR;WiJ}>]
00CE 7499 224 RETOK: MOV A,#CMD_OK
00D0 752600 225 MOV ERR_CODE0,#0 ;CLEAR THE REG OF ERR_CODE
00D3 752700 226 MOV ERR_CODE1,#0 ;CLEAR THE REG OF ERR_CODE
00D6 01E1 227 AJMP RETX1
228 ;=SJU5=5DJ}>]SP4mNs-->;X84PC
229 RETERR:
00D8 C26F 230 CLR IN_READ ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
00DA C26E 231 CLR IN_PROG ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
00DC 752280 232 MOV RX_ADDRC,#80H ;7"Iz4mNs:s#,;V843uJ<IhVC#:4.PP=SJUJWWV=Z5D4f7E5XV7
:80h
00DF 7477 233 MOV A,#CMD_ERR ;V8AnWV
00E1 752404 234 RETX1: MOV TX_LEN,#04H ;927"KM48vWV=Z: CMD_XXX,ERR_CODE1,ERR_CODE0, P#Qi:M
00E4 752305 235 MOV TX_COUNT,#05H ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
51HTXLEN6`1
00E7 A825 236 MOV R0,TX_ADDRC
00E9 F6 237 MOV @R0,A ;############V8AnWV########################
00EA 08 238 INC R0
00EB A627 239 MOV @R0,ERR_CODE1 ;H!4mNs4zBk: 0--NO ERROR
00ED 2527 240 ADD A,ERR_CODE1
00EF 752700 241 MOV ERR_CODE1,#0 ;CLEAR THE REG OF ERR_CODE
00F2 08 242 INC R0
00F3 A626 243 MOV @R0,ERR_CODE0 ;H!4mNs4zBk: 0--NO ERROR
00F5 2526 244 ADD A,ERR_CODE0
00F7 752600 245 MOV ERR_CODE0,#0 ;CLEAR THE REG OF ERR_CODE
00FA 08 246 INC R0
00FB F6 247 MOV @R0,A ;P#Qi:M
00FC 852509 248 MOV TX_INDEX,TX_ADDRC ;
00FF 120315 249 LCALL TX_COMM_START ;7"KMM(Q6FpJ<1jJ6
0102 C260 250 CLR RET_ERR
0104 22 251 RET
252
253 ;4&@m=SJU5=5DJ}>]
254 TRXPRO:
0105 A822 255 MOV R0,RX_ADDRC ;H!4.PP=SJUJWWV=Z5D4f7E5XV7
0107 E4 256 CLR A ;P#QiJ}>]@[<S:M
0108 D5200E 257 TRXP0: DJNZ RX_COUNT,TRXP1
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 6
LOC OBJ LINE SOURCE
010B 66 258 XRL A,@R0
010C 600F 259 JZ TRXP2 ;@[<S:MU}H7->TRXP2
010E D234 260 SETB ERR_SUM
0110 C26A 261 CLR RX_END ;TJPm=SJUOBR;WiJ}>]
0112 206DFD 262 TRXPE: JB TX_FLAG,TRXPE ;5H4}7"KMMj1O
0115 1200D8 263 LCALL RETERR ;ERROR ; AJMP INIT ;##################
####################
0118 22 264 RET ;
0119 26 265 TRXP1: ADD A,@R0 ;<FKcJ}>]@[<S:M
011A 08 266 INC R0
011B 2108 267 AJMP TRXP0
268 TRXP2:
269 ; MOV B,RX_ADDRC ;V8AnWV=Z4f7E5XV7
011D 1200CE 270 LCALL RETOK ;;X4p(TO PC): CMDOK
0120 A822 271 MOV R0,RX_ADDRC ;V8AnWV=Z4f7E5XV7
0122 306DFD 272 TRXPW0: JNB TX_FLAG,TRXPW0 ;5H4}7"KM
0125 B216 273 CPL RX_ADDR_X ;IhVCOBR;4N=SJU5D5XV7#:4.PP=SJUJWWV=Z5D4f7E5XV7(5XV7N*: 80H
;rC0H, SIBIT16HH76()
0127 E521 274 MOV A,RX_LEN ;1#4f=SJU5=5DWV=ZJ}
0129 C26A 275 CLR RX_END ;TJPm=SJUOBR;WiJ}>]
012B 14 276 DEC A
012C C3 277 CLR C
012D 13 278 RRC A
012E FC 279 MOV R4,A ;
280 ; MOV R0,B ;V8AnWV=Z4f7E5XV7
012F E6 281 MOV A,@R0 ;H!V8An
0130 08 282 INC R0
283 ; INC B
0131 206DFD 284 TRXPW1: JB TX_FLAG,TRXPW1 ;5H4}7"KMMj1O
285
0134 B49901 286 CJNE A,#CMD_OK,TRXP20 ;M(Q6A*BgC|An
0137 22 287 RET
0138 B4660A 288 TRXP20: CJNE A,#CMD_RSTFLASH,TRXP3 ;FLASH P>F,84N;:CMD+SUM, 84N;:sFLASH P>F,N*6AW4L,
013B 12034A 289 LCALL RST_RDID_RST
013E 2062D1 290 JB CALL_RET,TRXPE
0141 1202EA 291 LCALL RET_ID ;=+IDKM8xPC
0144 22 292 RET
0145 B4550B 293 TRXP3: CJNE A,#CMD_READ,TRXP4 ;6AFLASHJ}>]: CMD+START_ADDR(3 BYTES: H---L
)+READ_LEN(3 BYTES: H---L)+SUM
0148 306E04 294 JNB IN_PROG,TRXP31
014B D236 295 TRXP30: SETB ERR_STATE
014D 2112 296 AJMP TRXPE
014F 1204FE 297 TRXP31: LCALL RD_PREPARE
0152 22 298 RET
0153 B43307 299 TRXP4: CJNE A,#CMD_PROG,TRXP40 ;FLASH1`3L: CMD+START_ADDR(3 BYTES: H---L)+
PRG_LEN(3 BYTES: H---L)+SUM
0156 206FF2 300 JB IN_READ,TRXP30
0159 12018B 301 LCALL PRG_PREPARE ;=SJU1`3LJ}>]#:CMD+J}>]+SUM
015C 22 302 RET
015D B44407 303 TRXP40: CJNE A,#CMD_PROGX,TRXP5 ;=SJU1`3LJ}>]#:CMD+J}>]+SUM
0160 306E03 304 JNB IN_PROG,TRXP41
0163 1201DE 305 LCALL PROGM ;
0166 22 306 TRXP41: RET
0167 B4110F 307 TRXP5: CJNE A,#CMD_CHIP_ERASE,TRXP6 ;FLASH2A3}
016A 12037D 308 LCALL CHIP_ERASE ;P>F,2A3}
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 7
LOC OBJ LINE SOURCE
016D 2062A2 309 JB CALL_RET,TRXPE
0170 7411 310 MOV A,#CMD_CHIP_ERASE
0172 206DFD 311 TRXP50: JB TX_FLAG,TRXP50 ;5H4}7"KMMj1O
0175 1202EC 312 LCALL RET_ID1
0178 22 313 RET
0179 B4220B 314 TRXP6: CJNE A,#CMD_SECT_ERASE,TRXPEND ;FLASH2A3}
017C 1203DF 315 LCALL SECT_ERASE ;IHGx2A3}
017F 206290 316 JB CALL_RET,TRXPE
0182 7422 317 MOV A,#CMD_SECT_ERASE
0184 2172 318 AJMP TRXP50
319 ;TRXP7: CJNE A,#CMD_SHKHND,TRXPE ;M(Q6NUJV
320 ; LCALL RETOK
0186 22 321 RET
0187 D239 322 TRXPEND: SETB ERR_CMD
0189 2112 323 AJMP TRXPE
324
325 ;JU5=FLASH1`3LC|An:s#:OH6AH!ID#,7"KM8xPC#,H;:sTYIhVCSP9X1jV>#,5H4}=SJU1`3LJ}>]
326 PRG_PREPARE:
018B 860A 327 MOV ADDR2,@R0 ;SAVE THE ADDR
018D 08 328 INC R0
018E 860B 329 MOV ADDR1,@R0 ;SAVE THE ADDR
0190 08 330 INC R0
0191 860C 331 MOV ADDR0,@R0 ;SAVE THE ADDR
0193 08 332 INC R0
0194 860D 333 MOV LEN2,@R0 ;SAVE THE LEN
0196 08 334 INC R0
0197 860E 335 MOV LEN1,@R0 ;SAVE THE LEN
0199 08 336 INC R0
019A 860F 337 MOV LEN0,@R0 ;SAVE THE LEN
338 ; INC R0
339
019C 1204D3 340 LCALL CHK_ADD_LEN ;<l2i5XV7!"3$6H
019F 206238 341 JB CALL_RET,P_PE ;ERROR
01A2 12034A 342 LCALL RST_RDID_RST ;P>F,84N;!"6AH!ID
01A5 206232 343 JB CALL_RET,P_PE
01A8 1202EA 344 LCALL RET_ID ;=+IDKM8xPC
345
01AB 120677 346 LCALL WRITE_CMD_HEAD ;UNLOCK CMD SEQUENCE
01AE D2B4 347 SETB _DX_RD ;J}>]O_7=Or#:FLASH <-- HOST
01B0 C2B3 348 CLR _DX_EN ;J}>]O_J9D\
01B2 759020 349 MOV DXL,#20H ;unlock bypass CMD
01B5 75A000 350 MOV DXH,#0 ;SET THE DATA: 20
01B8 C284 351 CLR _FLASH_WE
01BA C282 352 CLR _FLASH_CE ;LATCH THE ADDR
01BC D282 353 SETB _FLASH_CE ;LATCH THE DATA
01BE D284 354 SETB _FLASH_WE ;
01C0 D2B3 355 SETB _DX_EN ;9X1UJ}>]O_
356
01C2 850A10 357 MOV CB2,ADDR2 ;IhVCFpJ<5XV7
01C5 850B11 358 MOV CB1,ADDR1
01C8 850C12 359 MOV CB0,ADDR0
01CB 1205F8 360 LCALL SETADDR
01CE 850D10 361 MOV CB2,LEN2 ;IhVCWV=Z<FJ}
01D1 850E11 362 MOV CB1,LEN1
01D4 850F12 363 MOV CB0,LEN0
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 8
LOC OBJ LINE SOURCE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -