📄 i2c.lst
字号:
695 007A3E 6E00 movwf btemp,c
696 007A40 6A01 clrf btemp+1,c
697 007A42 l75:
698 007A42 0600 decf btemp,f,c
699 007A44 A0D8 btfss status,0,c
700 007A46 0601 decf btemp+1,f,c
701 007A48 5001 movf btemp+1,w,c
702 007A4A 0A80 xorlw 128
703 007A4C 0F80 addlw -128
704 007A4E 0E01 movlw 1
705 007A50 B4D8 btfsc status,2,c
706 007A52 5C00 subwf btemp,w,c
707 007A54 E2F6 bc l75
708 ;I2C.c: 218: I2C_Set_sck_low();
709 007A56 DE89 call _I2C_Set_sck_low ;wreg free
710 007A58 4AF3 infsnz prodl,f,c
711 007A5A 2AF4 incf prodh,f,c
712 007A5C 50F4 movf prodh,w,c
713 007A5E 0A80 xorlw 128
714 007A60 0F80 addlw -128
715 007A62 0E08 movlw 8
716 007A64 B4D8 btfsc status,2,c
717 007A66 5CF3 subwf prodl,w,c
718 007A68 E3D5 bnc l71
719 ;I2C.c: 219: }
720 007A6A CFF6 F000 movff tblptrl,btemp
721 007A6E CFF7 F001 movff tblptrh,btemp+1
722 007A72 0012 return
723 ;I2C.c: 222: }
724 ; param _nValue assigned to ?_Delay_ms+0
725 007A74 00FC dw ?_Delay_ms
726 007A76 _Delay_ms:
727 000000
728 ;I2C.c: 224: void Delay_ms(unsigned long nValue)
729 007A76 0E6B movlw 107
730 007A78 6E04 movwf btemp+4,c
731 007A7A 0E0A movlw 10
732 007A7C 6E05 movwf btemp+5,c
733 007A7E 6A06 clrf btemp+6,c
734 007A80 6A07 clrf btemp+7,c
735 ;I2C.c: 230: for(i = nValue;i > 0;i--)
736 007A82 C0FC FFF3 movff ?_Delay_ms,prodl
737 007A86 C0FD FFF4 movff ?_Delay_ms+1,prodh
738 007A8A L2:
739 007A8A 50F4 movf prodh,w,c
740 007A8C 0A80 xorlw 128
741 007A8E 0F80 addlw -128
742 007A90 0E01 movlw 1
743 007A92 B4D8 btfsc status,2,c
744 007A94 5CF3 subwf prodl,w,c
745 007A96 A0D8 btfss status,0,c
746 007A98 0012 return
747 ;I2C.c: 231: {
748 007A9A C004 F000 movff btemp+4,btemp
749 007A9E C005 F001 movff btemp+5,btemp+1
750 007AA2 C006 F002 movff btemp+6,btemp+2
751 007AA6 C007 F003 movff btemp+7,btemp+3
752 007AAA L1:
753 007AAA 5003 movf btemp+3,w,c
754 007AAC 1000 iorwf btemp,w,c
755 007AAE 1001 iorwf btemp+1,w,c
756 007AB0 1002 iorwf btemp+2,w,c
757 007AB2 E006 bz l83
758 007AB4 0600 decf btemp,f,c
759 007AB6 0E00 movlw 0
760 007AB8 5A01 subwfb btemp+1,f,c
761 007ABA 5A02 subwfb btemp+2,f,c
762 007ABC 5A03 subwfb btemp+3,f,c
763 007ABE D7F5 goto L1
764 007AC0 l83:
765 007AC0 06F3 decf prodl,f,c
766 007AC2 A0D8 btfss status,0,c
767 007AC4 06F4 decf prodh,f,c
768 007AC6 D7E1 goto L2
769 ;I2C.c: 233: }
770 ;I2C.c: 235: }
771 007AC8 00F2 dw ?_Delay_us
772 007ACA _Delay_us:
773 000000
774 ;I2C.c: 236: void Delay_us(unsigned long nValue)
775 007ACA 0E03 movlw 3
776 007ACC 6E00 movwf btemp,c
777 007ACE 6A01 clrf btemp+1,c
778 ;I2C.c: 242: for(i = nValue;i > 0;i--)
779 007AD0 C0F2 FFF6 movff ?_Delay_us,tblptrl
780 007AD4 C0F3 FFF7 movff ?_Delay_us+1,tblptrh
781 007AD8 L4:
782 007AD8 50F7 movf tblptrh,w,c
783 007ADA 0A80 xorlw 128
784 007ADC 0F80 addlw -128
785 007ADE 0E01 movlw 1
786 007AE0 B4D8 btfsc status,2,c
787 007AE2 5CF6 subwf tblptrl,w,c
788 007AE4 A0D8 btfss status,0,c
789 007AE6 0012 return
790 ;I2C.c: 243: {
791 007AE8 C000 FFF3 movff btemp,prodl
792 007AEC C001 FFF4 movff btemp+1,prodh
793 007AF0 L3:
794 007AF0 50F4 movf prodh,w,c
795 007AF2 0A80 xorlw 128
796 007AF4 0F80 addlw -128
797 007AF6 0E01 movlw 1
798 007AF8 B4D8 btfsc status,2,c
799 007AFA 5CF3 subwf prodl,w,c
800 007AFC E304 bnc l90
801 007AFE 06F3 decf prodl,f,c
802 007B00 A0D8 btfss status,0,c
803 007B02 06F4 decf prodh,f,c
804 007B04 D7F5 goto L3
805 007B06 l90:
806 007B06 06F6 decf tblptrl,f,c
807 007B08 A0D8 btfss status,0,c
808 007B0A 06F7 decf tblptrh,f,c
809 007B0C D7E5 goto L4
810 ;I2C.c: 245: }
811 ;I2C.c: 247: }
812 007B0E 00F4 dw ?_readByte24AA64
813 007B10 _readByte24AA64:
814 000000
815 ;I2C.c: 252: void readByte24AA64(int addr,unsign
+ ed char *reby_p)
816 007B10 0100 movlb __Lparam shr (0+8)
817 007B12 51F5 movf (?_readByte24AA64+1)^(__Lparam& (0+65280))
+ ,w
818 007B14 6ED9 movwf fsr2l,c
819 ;I2C.c: 259: hi &= 0x1F;
820 007B16 0E1F movlw 31
821 007B18 16D9 andwf fsr2l,f,c
822 ;I2C.c: 261: low = (char)(addr & 0xff);
823 007B1A 51F4 movf ?_readByte24AA64^(__Lparam& (0+65280)),w
824 007B1C 6EE1 movwf fsr1l,c
825 ;I2C.c: 264: I2C_START();
826 007B1E DE64 call _I2C_START ;wreg free
827 ;I2C.c: 266: I2C_TxHToL(0xA0);
828 007B20 0EA0 movlw 160
829 007B22 0100 movlb __Lparam shr (0+8)
830 007B24 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
831 007B26 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
832 007B28 DECB call _I2C_TxHToL ;wreg free
833 ;I2C.c: 268: I2C_GetACK();
834 007B2A DE27 call _I2C_GetACK ;wreg free
835 ;I2C.c: 270: I2C_TxHToL(hi);
836 007B2C 50D9 movf fsr2l,w,c
837 007B2E 0100 movlb __Lparam shr (0+8)
838 007B30 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
839 007B32 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
840 007B34 DEC5 call _I2C_TxHToL ;wreg free
841 ;I2C.c: 272: I2C_GetACK();
842 007B36 DE21 call _I2C_GetACK ;wreg free
843 ;I2C.c: 274: I2C_TxHToL(low);
844 007B38 50E1 movf fsr1l,w,c
845 007B3A 0100 movlb __Lparam shr (0+8)
846 007B3C 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
847 007B3E 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
848 007B40 DEBF call _I2C_TxHToL ;wreg free
849 ;I2C.c: 276: I2C_GetACK();
850 007B42 DE1B call _I2C_GetACK ;wreg free
851 ;I2C.c: 279: I2C_START();
852 007B44 DE51 call _I2C_START ;wreg free
853 ;I2C.c: 281: I2C_TxHToL(0xA1);
854 007B46 0EA1 movlw 161
855 007B48 0100 movlb __Lparam shr (0+8)
856 007B4A 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
857 007B4C 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
858 007B4E DEB8 call _I2C_TxHToL ;wreg free
859 ;I2C.c: 283: I2C_GetACK();
860 007B50 DE14 call _I2C_GetACK ;wreg free
861 ;I2C.c: 285: *reby_p= I2C_RxHToL();
862 007B52 DF56 call _I2C_RxHToL ;wreg free
863 007B54 C0F6 FFE9 movff ?_readByte24AA64+2,fsr0l
864 007B58 C0F7 FFEA movff ?_readByte24AA64+3,fsr0h
865 007B5C C000 FFEF movff btemp,indf0
866 ;I2C.c: 287: I2C_SetNAk();
867 007B60 DE3F call _I2C_SetNAk ;wreg free
868 ;I2C.c: 289: I2C_STOP();
869 007B62 D66D goto _I2C_STOP ;wreg free
870 ;I2C.c: 291: return;
871 ;I2C.c: 292: }
872 007B64 00F4 dw ?_writeByte24AA64
873 007B66 _writeByte24AA64:
874 000000
875 ;I2C.c: 293: void writeByte24AA64(int addr,unsig
+ ned char *wrby_p)
876 007B66 0100 movlb __Lparam shr (0+8)
877 007B68 51F5 movf (?_writeByte24AA64+1)^(__Lparam& (0+65280)
+ ),w
878 007B6A 6ED9 movwf fsr2l,c
879 ;I2C.c: 300: hi &= 0x1F;
880 007B6C 0E1F movlw 31
881 007B6E 16D9 andwf fsr2l,f,c
882 ;I2C.c: 302: low = (char)(addr & 0xff);
883 007B70 51F4 movf ?_writeByte24AA64^(__Lparam& (0+65280)),w
884 007B72 6EE1 movwf fsr1l,c
885 ;I2C.c: 305: I2C_START();
886 007B74 DE39 call _I2C_START ;wreg free
887 ;I2C.c: 307: I2C_TxHToL(0xA0);
888 007B76 0EA0 movlw 160
889 007B78 0100 movlb __Lparam shr (0+8)
890 007B7A 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
891 007B7C 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
892 007B7E DEA0 call _I2C_TxHToL ;wreg free
893 ;I2C.c: 309: I2C_GetACK();
894 007B80 DDFC call _I2C_GetACK ;wreg free
895 ;I2C.c: 311: I2C_TxHToL(hi);
896 007B82 50D9 movf fsr2l,w,c
897 007B84 0100 movlb __Lparam shr (0+8)
898 007B86 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
899 007B88 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
900 007B8A DE9A call _I2C_TxHToL ;wreg free
901 ;I2C.c: 313: I2C_GetACK();
902 007B8C DDF6 call _I2C_GetACK ;wreg free
903 ;I2C.c: 315: I2C_TxHToL(low);
904 007B8E 50E1 movf fsr1l,w,c
905 007B90 0100 movlb __Lparam shr (0+8)
906 007B92 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
907 007B94 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
908 007B96 DE94 call _I2C_TxHToL ;wreg free
909 ;I2C.c: 317: I2C_GetACK();
910 007B98 DDF0 call _I2C_GetACK ;wreg free
911 ;I2C.c: 319: I2C_TxHToL(*wrby_p);
912 007B9A C0F6 FFE9 movff ?_writeByte24AA64+2,fsr0l
913 007B9E C0F7 FFEA movff ?_writeByte24AA64+3,fsr0h
914 007BA2 50EF movf indf0,w,c
915 007BA4 0100 movlb __Lparam shr (0+8)
916 007BA6 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
917 007BA8 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
918 007BAA DE8A call _I2C_TxHToL ;wreg free
919 ;I2C.c: 321: I2C_GetACK();
920 007BAC DDE6 call _I2C_GetACK ;wreg free
921 ;I2C.c: 323: I2C_STOP();
922 007BAE D647 goto _I2C_STOP ;wreg free
923 ;I2C.c: 325: return;
924 ;I2C.c: 326: }
925 007BB0 00F4 dw ?_readPage24AA64
926 007BB2 _readPage24AA64:
927 000000
928 ;I2C.c: 327: int readPage24AA64(int addr,unsigne
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -