⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.lst

📁 上载的程序可以用于PIC单片机,也可以用于430单片机,本人原创,到至今还没有发现哪位网友想出这种办法,希望站长能多加分.
💻 LST
📖 第 1 页 / 共 5 页
字号:
   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 + -