📄 ds1302-dsy.lst
字号:
036E 7003 455 JNZ K012C
0370 754223 456 K012B: MOV 42H,#23H
0373 7984 457 K012C: MOV R1,#84H ;写时寄存器
0375 A842 458 MOV R0,42H
0377 1201C2 459 LCALL WRITE
037A D1BA 460 CALL TIME_DELAY
037C 809E 461 JMP K010
462 ;-------------------------------------------------
037E D1BA 463 K002: CALL TIME_DELAY ;校分
0380 3096FB 464 JNB K3,K002 ;K3为位移键
465
0383 5135 466 K020: CALL CHULI
0385 300A08 467 JNB 0AH,KM01
468
0388 857F52 469 MOV 52H,7FH ;送入熄灭符
038B 857F53 470 MOV 53H,7FH
038E 8006 471 JMP KM02
472
0390 857252 473 KM01: MOV 52H,72H ;送实时值
0393 857353 474 MOV 53H,73H ;送实时值
0396 7850 475 KM02: MOV R0,#TIME_DATA
0398 51A2 476 CALL DISP
039A 7850 477 MOV R0,#TIME_DATA
039C 51AE 478 CALL TIME_DISPLAY
479
039E 309408 480 JNB K1,K021A
03A1 30951E 481 JNB K2,K021B
03A4 30963E 482 JNB K3,K003
03A7 80DA 483 JMP K020
484
03A9 485 K021A:
03A9 E541 486 MOV A,41H
03AB 2401 487 ADD A,#01H
03AD D4 488 DA A
03AE F541 489 MOV 41H,A
03B0 6460 490 XRL A,#60H
03B2 7003 491 JNZ K022A
03B4 754100 492 MOV 41H,#00H
03B7 7982 493 K022A: MOV R1,#82H ;写分寄存器
03B9 A841 494 MOV R0,41H
03BB 1201C2 495 LCALL WRITE
03BE D1BA 496 CALL TIME_DELAY
03C0 80C1 497 JMP K020
498 ;---------------------------------------------------
03C2 499 K021B:
03C2 E541 500 MOV A,41H
03C4 6400 501 XRL A,#00H
03C6 600F 502 JZ K022B
03C8 D3 503 SETB C ;求补运算
03C9 E4 504 CLR A
03CA 3499 505 ADDC A,#99H ;加99
03CC 9401 506 SUBB A,#01H ;减去减数
03CE 2541 507 ADD A,41H ;加被减数
03D0 D4 508 DA A ;十进制调整
03D1 F541 509 MOV 41H,A ;
03D3 6400 510 XRL A,#00H
03D5 7003 511 JNZ K022C
03D7 754159 512 K022B: MOV 41H,#59H
03DA 7982 513 K022C: MOV R1,#82H ;写分寄存器
03DC A841 514 MOV R0,41H
03DE 1201C2 515 LCALL WRITE
03E1 D1BA 516 CALL TIME_DELAY
03E3 809E 517 JMP K020
518 ;---------------------------------------------------
03E5 D1CB 519 K003: CALL DATE_DELAY ;校日
03E7 3096FB 520 JNB K3,K003 ;K3为位移键
A51 MACRO ASSEMBLER DS1302_DSY 07/21/2006 08:51:55 PAGE 9
521
03EA 5135 522 K030: CALL CHULI
03EC 300A08 523 JNB 0AH,KR01
524
03EF 857F60 525 MOV 60H,7FH ;送入熄灭符
03F2 857F61 526 MOV 61H,7FH
03F5 8006 527 JMP KR02
528
03F7 857660 529 KR01: MOV 60H,76H ;送实时值
03FA 857761 530 MOV 61H,77H ;送实时值
03FD 7860 531 KR02: MOV R0,#DATE_DATA
03FF 51A2 532 CALL DISP
0401 7860 533 MOV R0,#DATE_DATA
0403 51AE 534 CALL TIME_DISPLAY
0405 309408 535 JNB K1,K031A
0408 30951E 536 JNB K2,K031B
040B 30963E 537 JNB K3,K004
040E 80DA 538 JMP K030
0410 539 K031A:
0410 E543 540 MOV A,43H
0412 2401 541 ADD A,#01H
0414 D4 542 DA A
0415 F543 543 MOV 43H,A
0417 6432 544 XRL A,#32H
0419 7003 545 JNZ K032A
041B 754300 546 MOV 43H,#00H
041E 7986 547 K032A: MOV R1,#86H ;写日寄存器
0420 A843 548 MOV R0,43H
0422 1201C2 549 LCALL WRITE
0425 D1CB 550 CALL DATE_DELAY
0427 80C1 551 JMP K030
552
0429 553 K031B:
0429 E543 554 MOV A,43H
042B 6400 555 XRL A,#00H
042D 600F 556 JZ K032B
042F D3 557 SETB C ;求补运算
0430 E4 558 CLR A
0431 3499 559 ADDC A,#99H ;加99
0433 9401 560 SUBB A,#01H ;减去减数
0435 2543 561 ADD A,43H ;加被减数
0437 D4 562 DA A ;十进制调整
0438 F543 563 MOV 43H,A
043A 6400 564 XRL A,#00H
043C 7003 565 JNZ K032C
043E 754331 566 K032B: MOV 43H,#31H
0441 7986 567 K032C: MOV R1,#86H ;写日寄存器
0443 A843 568 MOV R0,43H
0445 1201C2 569 LCALL WRITE
0448 D1CB 570 CALL DATE_DELAY
044A 809E 571 JMP K030
572 ;------------------------------------------------
044C D1CB 573 K004: CALL DATE_DELAY ;校月
044E 3096FB 574 JNB K3,K004 ;K3为位移键
575
0451 5135 576 K040: CALL CHULI
0453 300A08 577 JNB 0AH,KC01
578
0456 857F62 579 MOV 62H,7FH ;送入熄灭符
0459 857F63 580 MOV 63H,7FH
045C 8006 581 JMP KC02
582
045E 857862 583 KC01: MOV 62H,78H ;送实时值
0461 857963 584 MOV 63H,79H ;送实时值
0464 7860 585 KC02: MOV R0,#DATE_DATA
0466 51A2 586 CALL DISP
A51 MACRO ASSEMBLER DS1302_DSY 07/21/2006 08:51:55 PAGE 10
0468 7860 587 MOV R0,#DATE_DATA
046A 51AE 588 CALL TIME_DISPLAY
046C 309408 589 JNB K1,K041A
046F 30951E 590 JNB K2,K041B
0472 30963E 591 JNB K3,K005
0475 80DA 592 JMP K040
0477 593 K041A:
0477 E544 594 MOV A,44H
0479 2401 595 ADD A,#01H
047B D4 596 DA A
047C F544 597 MOV 44H,A
047E 6413 598 XRL A,#13H
0480 7003 599 JNZ K042A
0482 754400 600 MOV 44H,#00H
0485 7988 601 K042A: MOV R1,#88H ;写月寄存器
0487 A844 602 MOV R0,44H
0489 1201C2 603 LCALL WRITE
048C D1CB 604 CALL DATE_DELAY
048E 80C1 605 JMP K040
606
0490 607 K041B:
0490 E544 608 MOV A,44H
0492 6400 609 XRL A,#00H
0494 600F 610 JZ K042B
0496 D3 611 SETB C ;求补运算
0497 E4 612 CLR A
0498 3499 613 ADDC A,#99H ;加99
049A 9401 614 SUBB A,#01H ;减去减数
049C 2544 615 ADD A,44H ;加被减数
049E D4 616 DA A ;十进制调整
049F F544 617 MOV 44H,A ;
04A1 6400 618 XRL A,#00H
04A3 7003 619 JNZ K042C
04A5 754412 620 K042B: MOV 44H,#12H
04A8 7988 621 K042C: MOV R1,#88H ;写月寄存器
04AA A844 622 MOV R0,44H
04AC 1201C2 623 LCALL WRITE
04AF D1CB 624 CALL DATE_DELAY
04B1 809E 625 JMP K040
626 ;-----------------------------------------------
04B3 D1CB 627 K005: CALL DATE_DELAY ;校年
04B5 3096FB 628 JNB K3,K005 ;K3为位移键
629
04B8 5135 630 K050: CALL CHULI
04BA 300A08 631 JNB 0AH,KY01
632
04BD 857F64 633 MOV 64H,7FH ;送入熄灭符
04C0 857F65 634 MOV 65H,7FH
04C3 8006 635 JMP KY02
636
04C5 857A64 637 KY01: MOV 64H,7AH ;送实时值
04C8 857B65 638 MOV 65H,7BH ;送实时值
04CB 7860 639 KY02: MOV R0,#DATE_DATA
04CD 51A2 640 CALL DISP
04CF 7860 641 MOV R0,#DATE_DATA
04D1 51AE 642 CALL TIME_DISPLAY
04D3 309408 643 JNB K1,K051A
04D6 30951E 644 JNB K2,K051B
04D9 30963E 645 JNB K3,K008
04DC 80DA 646 JMP K050
04DE 647 K051A:
04DE E545 648 MOV A,45H
04E0 2401 649 ADD A,#01H
04E2 D4 650 DA A
04E3 F545 651 MOV 45H,A
04E5 649A 652 XRL A,#9AH
A51 MACRO ASSEMBLER DS1302_DSY 07/21/2006 08:51:55 PAGE 11
04E7 7003 653 JNZ K052A
04E9 754500 654 MOV 45H,#00H
04EC 798C 655 K052A: MOV R1,#8CH ;写年寄存器
04EE A845 656 MOV R0,45H
04F0 1201C2 657 LCALL WRITE
04F3 D1CB 658 CALL DATE_DELAY
04F5 80C1 659 JMP K050
660
04F7 661 K051B:
04F7 E545 662 MOV A,45H
04F9 6400 663 XRL A,#00H
04FB 600F 664 JZ K052B
04FD D3 665 SETB C ;求补运算
04FE E4 666 CLR A
04FF 3499 667 ADDC A,#99H ;加99
0501 9401 668 SUBB A,#01H ;减去减数
0503 2545 669 ADD A,45H ;加被减数
0505 D4 670 DA A ;十进制调整
0506 F545 671 MOV 45H,A ;
0508 6400 672 XRL A,#00H
050A 7003 673 JNZ K052C
050C 754599 674 K052B: MOV 45H,#99H
050F 798C 675 K052C: MOV R1,#8CH ;写年寄存器
0511 A845 676 MOV R0,45H
0513 1201C2 677 LCALL WRITE
0516 D1CB 678 CALL DATE_DELAY
0518 809E 679 JMP K050
680 ;-------------------------------------------------
051A 3096FD 681 K008: JNB K3,K008
051D 7980 682 MOV R1,#80H ;写秒寄存器
051F 7800 683 MOV R0,#00H ;启动振荡器工作
0521 1201C2 684 LCALL WRITE
685
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -