📄 i2c.lst
字号:
501 0663 1591 bsf 17,3
502 ;I2C.c: 201: while(!SSPIF);
503 0664 l116
504 0664 1283 bcf 3,5
505 0665 1D8C btfss 12,3
506 0666 2E64 goto l116
507 ;I2C.c: 204: ACKDT = 1;
508 0667 1683 bsf 3,5
509 0668 1691 bsf 17,5
510 ;I2C.c: 205: ACKEN = 1;
511 0669 1611 bsf 17,4
512 ;I2C.c: 206: while (ACKEN ==1);
513 066A l119
514 066A 1A11 btfsc 17,4
515 066B 2E6A goto l119
516 ;I2C.c: 208: PEN = 1;
517 066C 1511 bsf 17,2
518 ;I2C.c: 209: while(PEN);
519 066D l122
520 066D 1911 btfsc 17,2
521 066E 2E6D goto l122
522 ;I2C.c: 211: *DataBuf = SSPBUF;
523 066F 1283 bcf 3,5
524 0670 0828 movf ?_EEPROM_ReadByte1,w
525 0671 0084 movwf 4
526 0672 1383 bcf 3,7
527 0673 0813 movf 19,w ;volatile
528 0674 0080 movwf 0
529 ;I2C.c: 212: return 0;
530 0675 3000 movlw 0
531 ;I2C.c: 213: }
532 0676 l83
533 0676 1283 bcf 3,5
534 0677 0008 return
535
536 psect text4
537 0582 _EEPROM_WriteByte1
538 ; _Addr assigned to ?a_EEPROM_WriteByte1+0
539 0000 _EEPROM_WriteByte1$Addr set ?a_EEPROM_WriteByte
+ 1
540 ; _cnt assigned to ?a_EEPROM_WriteByte1+1
541 0000 _EEPROM_WriteByte1$cnt set ?a_EEPROM_WriteByte1
+ +1
542 ;_Addr stored from w
543 0582 0183 clrf 3 ;select bank 0
544 0583 00A8 movwf ?a_EEPROM_WriteByte1
545 ;I2C.c: 218: unsigned char cnt=0;
546 0584 01A9 clrf ?a_EEPROM_WriteByte1+1
547 ;I2C.c: 219: while((SSPCON2 & 0x1F) || RW ){
548 0585 2D8D goto l126
549 0586 l127
550 ;I2C.c: 220: SSPEN = 0;
551 0586 1283 bcf 3,5
552 0587 1294 bcf 20,5
553 ;I2C.c: 221: asm("nop");
554 0588 0000 nop ;#
555 ;I2C.c: 222: RC3 = 1;
556 0589 1587 bsf 7,3
557 ;I2C.c: 223: RC4 = 1;
558 058A 1607 bsf 7,4
559 ;I2C.c: 224: asm("nop");
560 058B 0000 nop ;#
561 ;I2C.c: 225: SSPEN = 1;
562 058C 1694 bsf 20,5
563 058D l126
564 ;I2C.c: 226: }
565 058D 1683 bsf 3,5
566 058E 0811 movf 17,w ;volatile
567 058F 391F andlw 31
568 0590 1903 btfsc 3,2
569 0591 1914 btfsc 20,2
570 0592 2D86 goto l127
571 ;I2C.c: 228: SEN = 1;
572 0593 1411 bsf 17,0
573 ;I2C.c: 229: while(SEN);
574 0594 l129
575 0594 1811 btfsc 17,0
576 0595 2D94 goto l129
577 ;I2C.c: 230: SSPIF = 0;
578 0596 1283 bcf 3,5
579 0597 118C bcf 12,3
580 ;I2C.c: 231: SSPBUF = 0b10100000;
581 0598 30A0 movlw -96
582 0599 0093 movwf 19 ;volatile
583 ;I2C.c: 232: while(!SSPIF);
584 059A l132
585 059A 198C btfsc 12,3
586 059B 2DAB goto l135
587 059C 2D9A goto l132
588 ;I2C.c: 234: while(ACKSTAT){
589 059D l136
590 ;I2C.c: 235: RSEN = 1;
591 059D 1491 bsf 17,1
592 ;I2C.c: 236: while(RSEN);
593 059E l138
594 059E 1891 btfsc 17,1
595 059F 2D9E goto l138
596 ;I2C.c: 237: SSPIF = 0;
597 05A0 1283 bcf 3,5
598 05A1 118C bcf 12,3
599 ;I2C.c: 238: SSPBUF = 0b10100000;
600 05A2 30A0 movlw -96
601 05A3 0093 movwf 19 ;volatile
602 ;I2C.c: 239: while(!SSPIF);
603 05A4 l141
604 05A4 1D8C btfss 12,3
605 05A5 2DA4 goto l141
606 ;I2C.c: 240: if(cnt++>200) return 0xAA;
607 05A6 30C9 movlw -55
608 05A7 0229 subwf ?a_EEPROM_WriteByte1+1,w
609 05A8 0AA9 incf ?a_EEPROM_WriteByte1+1
610 05A9 1803 btfsc 3,0
611 05AA 2DB9 goto u680
612 05AB l135
613 05AB 1683 bsf 3,5
614 05AC 1B11 btfsc 17,6
615 05AD 2D9D goto l136
616 ;I2C.c: 243: if(ACKSTAT) return 0xAA;
617 05AE 1B11 btfsc 17,6
618 05AF 2DB9 goto u680
619 ;I2C.c: 244: SSPIF = 0;
620 05B0 1283 bcf 3,5
621 05B1 118C bcf 12,3
622 ;I2C.c: 245: SSPBUF = Addr;
623 05B2 0828 movf ?a_EEPROM_WriteByte1,w
624 05B3 0093 movwf 19 ;volatile
625 ;I2C.c: 246: while(!SSPIF);
626 05B4 l146
627 05B4 1D8C btfss 12,3
628 05B5 2DB4 goto l146
629 ;I2C.c: 248: if(ACKSTAT) return 0xAA;
630 05B6 1683 bsf 3,5
631 05B7 1F11 btfss 17,6
632 05B8 2DBB goto l149
633 05B9 u680
634 05B9 30AA movlw -86
635 05BA 2DC6 goto l125
636 05BB l149
637 ;I2C.c: 249: SSPIF = 0;
638 05BB 1283 bcf 3,5
639 05BC 118C bcf 12,3
640 ;I2C.c: 250: SSPBUF = cData;
641 05BD 0827 movf ?_EEPROM_WriteByte1,w
642 05BE 0093 movwf 19 ;volatile
643 ;I2C.c: 251: while(!SSPIF);
644 05BF l150
645 05BF 1D8C btfss 12,3
646 05C0 2DBF goto l150
647 ;I2C.c: 253: PEN = 1;
648 05C1 1683 bsf 3,5
649 05C2 1511 bsf 17,2
650 ;I2C.c: 254: while(PEN);
651 05C3 l153
652 05C3 1911 btfsc 17,2
653 05C4 2DC3 goto l153
654 ;I2C.c: 256: return 0;
655 05C5 3000 movlw 0
656 ;I2C.c: 257: }
657 05C6 l125
658 05C6 1283 bcf 3,5
659 05C7 0008 return
660
661 psect text5
662 0000
663 0000
664 0000
665 0000
666 0000
667 0000
668 0000
669 0000
670 0000
671 0000
672 0000
673 0000
674 0000
675 0000
676 0000
677 0000
678 0000
679 0000
680 0000
681 0000
682 0000
683 0000
684 0000
685 0000
686 0000
687 0000
688 0000
689 0000
690 0000
691 0000
692 0000
693 0000
694 0000
695 0000
696 0000
697 0000
698 0000
699 0000
700 0000
701 0000
702 0000
703 0000
704 0000
705 0000
706 0000
707 0000
708 0000
709 0000
710 0000
711 0000
712 0000
713 0000
714 0000
715 0000
716 0000
717 0000
718 0000
719 0000
720 0000
721 0000
722 0000
723 0000
724 0000
725 0000
726 0000
727 0000
728 0000
729 0000
730 0000
731 0000
732 0000
733 0000
734 0000
735 0000
736 0000
737 0000
738 0000
739 0000
740 0000
741 0000
742 0000
743 0000
744 0000
745 0000
746 0000
747 0000
748 0000
749 0000
750 0000
751 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -