📄 prg.lst
字号:
01D7 D26E 364 SETB IN_PROG ;VC1`3L1jV>
01D9 22 365 RET
01DA 1200D8 366 P_PE: LCALL RETERR
01DD 22 367 P_PX: RET
368
369
370 ;=SJU5=1`3LJ}>]#:CMD+J}>]+SUM#,R4--J}>]WVJ}
371 PROGM:
01DE 20B712 372 JB IC_READY,PRG0 ;$$$$$$$$$$$$$$$$$$$$$????????????
01E1 120085 373 LCALL CLR_INTERFACE
01E4 D230 374 SETB ERR_IC_READY
01E6 D260 375 PRGX: SETB RET_ERR
01E8 D287 376 PRGX1: SETB _FLASH_PWR
01EA C26E 377 CLR IN_PROG ;=aJxPROGRAM
01EC D2B3 378 SETB _DX_EN ;YES: 9X1UJ}>]O_
01EE D281 379 SETB _FLASH_OE
01F0 D282 380 SETB _FLASH_CE ;
01F2 22 381 RET
01F3 12060D 382 PRG0: LCALL ISZERO ;<l2iR*1`3L5DWV=ZJ}JG7qN*Ac
01F6 D23A 383 SETB ERR_PRG_DATALEN
01F8 60EC 384 JZ PRGX
01FA C23A 385 CLR ERR_PRG_DATALEN
01FC D2B4 386 SETB _DX_RD ;J}>]O_7=Or#:FLASH <-- HOST
01FE C2B3 387 CLR _DX_EN ;J}>]O_J9D\
0200 C282 388 CLR _FLASH_CE ;
0202 7590A0 389 PRG1: MOV DXL,#0A0H ;unlock bypass PROGRAM CMD
0205 75A000 390 MOV DXH,#0 ;SET THE DATA: 20
0208 C284 391 CLR _FLASH_WE ;LATCH THE ADDR
020A D284 392 SETB _FLASH_WE ;
020C E6 393 MOV A,@R0 ;PROGRAM DATA
020D F5A0 394 MOV DXH,A ;PROGRAM DATA
020F F583 395 MOV DPH,A ;STORE THE DATA: FOR VERIFY THE PROGRAMED DATA
0211 08 396 INC R0
0212 E6 397 MOV A,@R0 ;SET THE DATA
0213 F590 398 MOV DXL,A ;SET THE DATA
0215 F582 399 MOV DPL,A
0217 08 400 INC R0
0218 C284 401 CLR _FLASH_WE
021A D284 402 SETB _FLASH_WE ;
021C 74FF 403 MOV A,#0FFH
021E F590 404 MOV DXL,A
0220 F5A0 405 MOV DXH,A
406
0222 1205E2 407 LCALL COUNT_DOWN ;WV=ZJ}-1
0225 D263 408 SETB FLAG0
0227 603D 409 JZ PRG4
0229 1205E2 410 LCALL COUNT_DOWN ;WV=ZJ}-1
022C C263 411 CLR FLAG0
022E 6036 412 JZ PRG4
0230 7E14 413 MOV R6,#20 ;DELAY 20*3us
0232 208506 414 PRGDLY: JB _FLASH_BUSY,PRG3
0235 DEFB 415 DJNZ R6,PRGDLY
0237 D237 416 SETB ERR_TIMEOUT ;3,J1
0239 21E6 417 AJMP PRGX
418 PRG3:
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 9
LOC OBJ LINE SOURCE
023B C2B4 419 CLR _DX_RD ;J}>]O_7=Or#:FLASH --> HOST: P#QiJ}>]
023D C281 420 CLR _FLASH_OE ;FOR READING THE PROGRAMED DATA
023F E590 421 MOV A,DXL
0241 B58214 422 CJNE A,DPL,PRG30
0244 E5A0 423 MOV A,DXH
0246 B58316 424 CJNE A,DPH,PRG31
0249 D281 425 SETB _FLASH_OE ;FOR WRITING
024B D2B4 426 SETB _DX_RD ;J}>]O_7=Or#:FLASH <-- HOST
024D C2B5 427 CLR _ADDR_INC ;INC ADDR
024F D2B5 428 SETB _ADDR_INC
0251 DCAF 429 DJNZ R4,PRG1 ;END? no --> PRG1
0253 D2B3 430 SETB _DX_EN ;YES: 9X1UJ}>]O_
0255 D282 431 SETB _FLASH_CE ;
0257 22 432 RET
0258 D263 433 PRG30: SETB FLAG0
025A 1202A1 434 LCALL RET_PRG_ERR
025D 21E8 435 AJMP PRGX1
025F C263 436 PRG31: CLR FLAG0
0261 1202A1 437 LCALL RET_PRG_ERR
0264 21E8 438 AJMP PRGX1
439 PRG4:
0266 7E14 440 MOV R6,#20 ;DELAY 20*3us
0268 208506 441 PRGDLYX: JB _FLASH_BUSY,PRG4X
026B DEFB 442 DJNZ R6,PRGDLYX
026D D237 443 SETB ERR_TIMEOUT ;3,J1
026F 21E6 444 AJMP PRGX
445
0271 C2B4 446 PRG4X: CLR _DX_RD ;H+2?J}>]1`3LMj1O#,P#QiWn:sR;WiJ}>]!#J}>]O_7=Or#:FLASH -->
HOST
0273 C281 447 CLR _FLASH_OE ;FOR READING THE PROGRAMED DATA
0275 E590 448 MOV A,DXL
0277 6582 449 XRL A,DPL
0279 6005 450 JZ PRG40
027B 1202A1 451 LCALL RET_PRG_ERR
027E 21E8 452 AJMP PRGX1 ;P#Qi4m#:
0280 20630B 453 PRG40: JB FLAG0,PRG41
0283 E5A0 454 MOV A,DXH
0285 6583 455 XRL A,DPH
0287 6005 456 JZ PRG41
0289 1202A1 457 LCALL RET_PRG_ERR
028C 21E8 458 AJMP PRGX1
028E D281 459 PRG41: SETB _FLASH_OE ;FOR WRITING
0290 D2B3 460 SETB _DX_EN ;9X1UJ}>]O_
0292 D282 461 SETB _FLASH_CE ;
0294 74CC 462 MOV A,#CMD_END ;;X84PC#:1`3L=aJx--V8AnWV
0296 1200E1 463 LCALL RETX1
0299 120320 464 LCALL RST_FLASH
029C D287 465 SETB _FLASH_PWR
029E C26E 466 CLR IN_PROG ;=aJxPROGRAM
02A0 22 467 RET
468
469
470 ;1`3LJ1P#QiJ}>]3v4m#:;X84PC
471 RET_PRG_ERR:
02A1 C26E 472 CLR IN_PROG ;7"Iz4mNs:s#,M#V9U}TZ=xPP5D2YWw
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 10
LOC OBJ LINE SOURCE
02A3 74BB 473 MOV A,#CMD_ERR_PRG ;V8AnWV
02A5 752408 474 MOV TX_LEN,#08H ;927"KM88vWV=Z: CMD_ERR_PRG,CB2,CB1,CB0,PNUM,W_DATA,R_DATA,
P#Qi:M
02A8 752309 475 MOV TX_COUNT,#09H ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
51HTXLEN6`1
02AB A825 476 MOV R0,TX_ADDRC
02AD F6 477 MOV @R0,A ;############V8AnWV########################
02AE 08 478 INC R0
02AF A610 479 MOV @R0,CB2 ;H!4mNsN;VC
02B1 2510 480 ADD A,CB2
02B3 08 481 INC R0
02B4 A611 482 MOV @R0,CB1 ;H!4mNsN;VC
02B6 2511 483 ADD A,CB1
02B8 08 484 INC R0
02B9 A612 485 MOV @R0,CB0 ;H!4mNsN;VC
02BB 2512 486 ADD A,CB0
02BD 08 487 INC R0
02BE 20630F 488 JB FLAG0,R_P_E0
02C1 7601 489 MOV @R0,#1
02C3 08 490 INC R0
02C4 04 491 INC A
02C5 A683 492 MOV @R0,DPH
02C7 2583 493 ADD A,DPH
02C9 08 494 INC R0
02CA A6A0 495 MOV @R0,DXH
02CC 25A0 496 ADD A,DXH
02CE 41DE 497 AJMP R_P_E1
498 R_P_E0:
02D0 7602 499 MOV @R0,#2
02D2 08 500 INC R0
02D3 2402 501 ADD A,#2
02D5 A682 502 MOV @R0,DPL
02D7 2582 503 ADD A,DPL
02D9 08 504 INC R0
02DA A690 505 MOV @R0,DXL
02DC 2590 506 ADD A,DXL
02DE 08 507 R_P_E1: INC R0
02DF F6 508 MOV @R0,A ;P#Qi:M
02E0 852509 509 MOV TX_INDEX,TX_ADDRC ;
02E3 120315 510 LCALL TX_COMM_START ;7"KMM(Q6FpJ<1jJ6
511 R_P_E2:
02E6 306DFD 512 JNB TX_FLAG,R_P_E2
02E9 22 513 RET
514
515
516 ;=+FLASH IDKM8xPC
517 RET_ID:
02EA 74AA 518 MOV A,#CMD_CHIP_ID ;V8AnWV
519 RET_ID1:
02EC 752406 520 MOV TX_LEN,#06H ;927"KM68vWV=Z: CMD_XXX,ID_MCH,ID_MCL,ID_DCH,ID_DCL, P#Qi:M
02EF 752307 521 MOV TX_COUNT,#07H ;7"KMJ1#,<FJ}FwOH<u1H;:sTYEP6OJG7q7"KMMj1O#,KyRT#,<FJ}Fw3uV
51HTXLEN6`1
522
02F2 A825 523 MOV R0,TX_ADDRC
02F4 F6 524 MOV @R0,A ;############V8AnWV########################
MCS-51 MACRO ASSEMBLER PRG 11/06/:1 PAGE 11
LOC OBJ LINE SOURCE
02F5 08 525 INC R0
526
02F6 A619 527 MOV @R0,ID_MCH
02F8 2519 528 ADD A,ID_MCH
02FA 08 529 INC R0
02FB A618 530 MOV @R0,ID_MCL
02FD 2518 531 ADD A,ID_MCL
02FF 08 532 INC R0
0300 A61B 533 MOV @R0,ID_DCH
0302 251B 534 ADD A,ID_DCH
0304 08 535 INC R0
0305 A61A 536 MOV @R0,ID_DCL
0307 251A 537 ADD A,ID_DCL
0309 08 538 INC R0
539
030A F6 540 MOV @R0,A ;P#Qi:M
030B 852509 541 MOV TX_INDEX,TX_ADDRC ;
030E 120315 542 LCALL TX_COMM_START
0311 306DFD 543 RET_ID0: JNB TX_FLAG,RET_ID0 ;5H4}7"KM
0314 22 544 RET
545
546 ;7"KMM(Q6FpJ<1jJ6
547 TX_COMM_START:
0315 7488 548 MOV A,#COMM_START ;7"KMM(Q6FpJ<1jJ6
0317 A2D0 549 MOV C,P ;FfE<P#Qi
0319 929B 550 MOV TB8,C
031B F599 551 MOV SBUF,A
031D C26D 552 CLR TX_FLAG
031F 22 553 RET
554
555 ;P>F,84N;(hardware)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -