📄 t.ls1
字号:
0091 462 ?C0075:
0091 640A 463 XRL A,#0AH
0093 4500 F 464 ORL A,i?244
0095 70EB 465 JNZ ?C0022
0097 466 ?C0023:
0097 759055 467 MOV P1,#055H
468 ; }
469 ; SOURCE LINE # 78
009A 020000 F 470 LJMP ?C0040
009D 471 ?C0015:
472 ; else if(func==1)//pr display
473 ; SOURCE LINE # 79
009D E500 F 474 MOV A,func
009F 6401 475 XRL A,#01H
00A1 701D 476 JNZ ?C0026
477 ; {
478 ; SOURCE LINE # 80
479 ; if(k2==0) {pw=(pw+9)%10;P1=~wdat[pw];}//pw--
480 ; SOURCE LINE # 81
00A3 EE 481 MOV A,R6
00A4 7006 482 JNZ ?C0027
00A6 E500 F 483 MOV A,pw
00A8 2409 484 ADD A,#09H
00AA 8007 485 SJMP ?C0077
00AC 486 ?C0027:
487 ; else if(k3==0) {pw=(pw+1)%10;P1=~wdat[pw];}//pw++
488 ; SOURCE LINE # 82
00AC E500 F 489 MOV A,k3?247
00AE 7078 490 JNZ ?C0040
00B0 E500 F 491 MOV A,pw
00B2 04 492 INC A
00B3 493 ?C0077:
00B3 75F00A 494 MOV B,#0AH
00B6 84 495 DIV AB
00B7 85F000 F 496 MOV pw,B
00BA 7400 F 497 MOV A,#LOW (wdat)
00BC 2500 F 498 ADD A,pw
499 ; }
500 ; SOURCE LINE # 83
00BE 802C 501 SJMP ?C0079
00C0 502 ?C0026:
503 ; else if(func==2)//pr display
504 ; SOURCE LINE # 84
00C0 E500 F 505 MOV A,func
00C2 6402 506 XRL A,#02H
00C4 702D 507 JNZ ?C0031
508 ; {
509 ; SOURCE LINE # 85
510 ; if(k2==0) {pr=(pr+9)%10;P1=~rdat[pr];}//pr--
511 ; SOURCE LINE # 86
00C6 EE 512 MOV A,R6
00C7 7011 513 JNZ ?C0032
00C9 E500 F 514 MOV A,pr
00CB 2409 515 ADD A,#09H
00CD 75F00A 516 MOV B,#0AH
A51 MACRO ASSEMBLER T 06/27/2008 14:06:20 PAGE 9
00D0 84 517 DIV AB
00D1 85F000 F 518 MOV pr,B
00D4 7400 F 519 MOV A,#LOW (rdat)
00D6 2500 F 520 ADD A,pr
00D8 521 ?C0078:
00D8 8012 522 SJMP ?C0079
00DA 523 ?C0032:
524 ; else if(k3==0) {pr=(pr+1)%10;P1=~rdat[pr];}//pr++
525 ; SOURCE LINE # 87
00DA E500 F 526 MOV A,k3?247
00DC 704A 527 JNZ ?C0040
00DE E500 F 528 MOV A,pr
00E0 04 529 INC A
00E1 75F00A 530 MOV B,#0AH
00E4 84 531 DIV AB
00E5 85F000 F 532 MOV pr,B
00E8 7400 F 533 MOV A,#LOW (rdat)
00EA 2500 F 534 ADD A,pr
00EC 535 ?C0079:
00EC F8 536 MOV R0,A
00ED E6 537 MOV A,@R0
00EE F4 538 CPL A
00EF F590 539 MOV P1,A
540 ; }
541 ; SOURCE LINE # 88
00F1 8035 542 SJMP ?C0040
00F3 543 ?C0031:
544 ; #if 0
545 ; else if(func==3)//write and read
546 ; {
547 ; if(k2==0) {AT24C64_W(wdat,0x100,10); P1=~0xF0; }// write
548 ; else if(k3==0) {AT24C64_R(rdat,0x100,10); P1=~0xF1;}// read
549 ; }
550 ; #else
551 ; else if(func==3)//write and read
552 ; SOURCE LINE # 96
00F3 E500 F 553 MOV A,func
00F5 6403 554 XRL A,#03H
00F7 702F 555 JNZ ?C0040
556 ; {
557 ; SOURCE LINE # 97
558 ; if(k2==0) {I2C_SendToSubAddress(0xa0,0x100,wdat,10); P1=~0xF3; }// wr
ite
559 ; SOURCE LINE # 98
00F9 EE 560 MOV A,R6
00FA 7015 561 JNZ ?C0037
00FC FB 562 MOV R3,A
00FD 7A00 F 563 MOV R2,#HIGH (wdat)
00FF 7900 F 564 MOV R1,#LOW (wdat)
0101 75000A F 565 MOV ?_I2C_SendToSubAddress?BYTE+06H,#0AH
0104 FD 566 MOV R5,A
0105 7C01 567 MOV R4,#01H
0107 7FA0 568 MOV R7,#0A0H
0109 120000 F 569 LCALL _I2C_SendToSubAddress
010C 75900C 570 MOV P1,#0CH
010F 8017 571 SJMP ?C0040
0111 572 ?C0037:
573 ; else if(k3==0) {I2C_ReceiveFromSubAddress(0xa0,0x100,rdat,10); P1=~0xF1;}/
/ read
574 ; SOURCE LINE # 99
0111 E500 F 575 MOV A,k3?247
0113 7013 576 JNZ ?C0040
0115 FB 577 MOV R3,A
0116 7A00 F 578 MOV R2,#HIGH (rdat)
0118 7900 F 579 MOV R1,#LOW (rdat)
011A 75000A F 580 MOV ?_I2C_ReceiveFromSubAddress?BYTE+06H,#0AH
A51 MACRO ASSEMBLER T 06/27/2008 14:06:20 PAGE 10
011D FD 581 MOV R5,A
011E 7C01 582 MOV R4,#01H
0120 7FA0 583 MOV R7,#0A0H
0122 120000 F 584 LCALL _I2C_ReceiveFromSubAddress
0125 75900E 585 MOV P1,#0EH
586 ; }
587 ; SOURCE LINE # 100
588 ; #endif
589 ;
590 ; }
591 ; SOURCE LINE # 103
0128 592 ?C0040:
0128 D007 593 POP AR7
012A D006 594 POP AR6
012C D005 595 POP AR5
012E D004 596 POP AR4
0130 D003 597 POP AR3
0132 D002 598 POP AR2
0134 D001 599 POP AR1
0136 D000 600 POP AR0
0138 D0D0 601 POP PSW
013A D082 602 POP DPL
013C D083 603 POP DPH
013E D0F0 604 POP B
0140 D0E0 605 POP ACC
0142 32 606 RETI
607 ; END OF interrupt_func1
608
609 ;
610 ; #if 0
611 ; #define I2C_SCK SCL
612 ; #define I2C_SDA SDA
613 ;
614 ;
615 ; /*24C64子程序 */
616 ; void Delay_10_uS(void)
617 ; {
618 ; //uchar i=10;
619 ; //while(i--);
620 ; }
621 ; void Delay_N_mS( uint n_milisecond) /* n mS delay */
622 ; {
623 ; uint i;
624 ; while(n_milisecond--)
625 ; {
626 ; i=10;//37;
627 ; while(i--);
628 ; }
629 ; }
630 ; bit I2C_Start(void)
631 ; {
632 ; Delay_10_uS();
633 ; I2C_SDA =1;
634 ; Delay_10_uS();
635 ; I2C_SCK =1;
636 ; Delay_10_uS();
637 ; if ( I2C_SDA == 0) return 0;
638 ; if ( I2C_SCK == 0) return 0;
639 ; I2C_SDA = 0;
640 ; Delay_10_uS();
641 ; I2C_SCK = 0;
642 ; Delay_10_uS();
643 ; return 1;
644 ; }
645 ; void I2C_Stop(void)
646 ; {
A51 MACRO ASSEMBLER T 06/27/2008 14:06:20 PAGE 11
647 ; Delay_10_uS();
648 ; I2C_SDA = 0;
649 ; Delay_10_uS();
650 ; I2C_SCK = 1;
651 ; Delay_10_uS();
652 ; I2C_SDA = 1;
653 ; Delay_10_uS();
654 ; }
655 ; void I2C_Ack(void)
656 ; {
657 ; Delay_10_uS();
658 ; I2C_SDA=0;
659 ; Delay_10_uS();
660 ; I2C_SCK=1;
661 ; Delay_10_uS();
662 ; I2C_SCK=0;
663 ; Delay_10_uS();
664 ; }
665 ; void I2C_Nack(void)
666 ; {
667 ; Delay_10_uS();
668 ; I2C_SDA=1;
669 ; Delay_10_uS();
670 ; I2C_SCK=1;
671 ; Delay_10_uS();
672 ; I2C_SCK=0;
673 ; Delay_10_uS();
674 ; }
675 ; bit I2C_Send_Byte( uchar d)
676 ; {
677 ; uchar i = 8;
678 ; bit bit_ack;
679 ; while( i-- )
680 ; {
681 ; Delay_10_uS();
682 ; if ( d &0x80 ) I2C_SDA =1;
683 ; else I2C_SDA =0;
684 ; Delay_10_uS();
685 ; I2C_SCK = 1;
686 ; Delay_10_uS();
687 ; I2C_SCK = 0;
688 ; d = d << 1;
689 ; }
690 ; Delay_10_uS();
691 ; I2C_SDA = 1;
692 ; Delay_10_uS();
693 ; I2C_SCK = 1;
694 ; Delay_10_uS();
695 ; bit_ack = I2C_SDA;
696 ; I2C_SCK =0;
697 ; Delay_10_uS();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -