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

📄 i2c24lc onebyte.lst

📁 上载的程序可以用于PIC单片机,也可以用于430单片机,本人原创,到至今还没有发现哪位网友想出这种办法,希望站长能多加分.
💻 LST
📖 第 1 页 / 共 4 页
字号:
   451                           ;I2C24LC onebyte.c: 192: for(p=0;p<ByteQuantity;
      +                          p++)
   452  007B5A  0100               	movlb	__Lparam shr (0+8)
   453  007B5C  6BFF               	clrf	?a_IIC^(__Lparam& (0+65280)),b
   454  007B5E                     l32:
   455  007B5E  0100               	movlb	__Lparam shr (0+8)
   456  007B60  51FB               	movf	(?_IIC+2)^(__Lparam& (0+65280)),w
   457  007B62  5DFF               	subwf	?a_IIC^(__Lparam& (0+65280)),w
   458  007B64  B0D8               	btfsc	status,0,c
   459  007B66  0012               	return	
   460                           ;I2C24LC onebyte.c: 193: { i=1;
   461  007B68  0E01               	movlw	1
   462  007B6A  6EF4               	movwf	prodh,c
   463                           ;I2C24LC onebyte.c: 194: q=1;
   464  007B6C  6EF3               	movwf	prodl,c
   465                           ;I2C24LC onebyte.c: 195: while(i--)
   466  007B6E                     l33:
   467  007B6E  06F4               	decf	prodh,f,c
   468  007B70  28F4               	incf	prodh,w,c
   469  007B72  E04B               	bz	l35
   470                           ;I2C24LC onebyte.c: 196: {
   471  007B74  DF46               	call	_I2CStart	;wreg free
   472                           ;I2C24LC onebyte.c: 198: I2CSendByte(ControlByte
      +                          &0xfe);
   473  007B76  0100               	movlb	__Lparam shr (0+8)
   474  007B78  51FE               	movf	(?_IIC+5)^(__Lparam& (0+65280)),w
   475  007B7A  0BFE               	andlw	-2
   476  007B7C  DFA3               	call	_I2CSendByte
   477                           ;I2C24LC onebyte.c: 199: if(!WaitAck())
   478  007B7E  DF6B               	call	_WaitAck	;wreg free
   479  007B80  0900               	iorlw	0
   480  007B82  E0F5               	bz	l33
   481                           ;I2C24LC onebyte.c: 200: continue;
   482                           ;I2C24LC onebyte.c: 201: if(1==0)
   483                           ;I2C24LC onebyte.c: 206: else
   484  007B84  0100               	movlb	__Lparam shr (0+8)
   485  007B86  51FD               	movf	(?_IIC+4)^(__Lparam& (0+65280)),w
   486  007B88  DF9D               	call	_I2CSendByte
   487                           ;I2C24LC onebyte.c: 208: if(!WaitAck())
   488  007B8A  DF65               	call	_WaitAck	;wreg free
   489  007B8C  0900               	iorlw	0
   490  007B8E  E0EF               	bz	l33
   491                           ;I2C24LC onebyte.c: 209: continue;
   492                           ;I2C24LC onebyte.c: 211: I2CSendByte(*((char *)&
      +                          Address+0));
   493  007B90  0100               	movlb	__Lparam shr (0+8)
   494  007B92  51FC               	movf	(?_IIC+3)^(__Lparam& (0+65280)),w
   495  007B94  DF97               	call	_I2CSendByte
   496                           ;I2C24LC onebyte.c: 212: if(!WaitAck())
   497  007B96  DF5F               	call	_WaitAck	;wreg free
   498  007B98  0900               	iorlw	0
   499  007B9A  E0E9               	bz	l33
   500                           ;I2C24LC onebyte.c: 213: continue;
   501                           ;I2C24LC onebyte.c: 214: }
   502  007B9C  0100               	movlb	__Lparam shr (0+8)
   503  007B9E  4BFC               	infsnz	(?_IIC+3)^(__Lparam& (0+65280)),f,b
   504  007BA0  2BFD               	incf	(?_IIC+4)^(__Lparam& (0+65280)),f,b
   505                           ;I2C24LC onebyte.c: 219: if(!(ControlByte&0x01))
   506  007BA2  B1FE               	btfsc	(?_IIC+5)^(__Lparam& (0+65280)),0,b
   507  007BA4  D015               	goto	l42
   508                           ;I2C24LC onebyte.c: 220: {
   509                           ; _errorflag allocated to btemp
   510  007BA6  6A00               	clrf	btemp,c
   511                           ;I2C24LC onebyte.c: 222: while(q--)
   512                           ;I2C24LC onebyte.c: 228: break;
   513  007BA8                     l43:
   514  007BA8  06F3               	decf	prodl,f,c
   515  007BAA  28F3               	incf	prodl,w,c
   516  007BAC  E00E               	bz	l45
   517                           ;I2C24LC onebyte.c: 223: {
   518  007BAE  C0F9  FFE9         	movff	?_IIC,fsr0l
   519  007BB2  C0FA  FFEA         	movff	?_IIC+1,fsr0h
   520  007BB6  0100               	movlb	__Lparam shr (0+8)
   521  007BB8  4BF9               	infsnz	?_IIC^(__Lparam& (0+65280)),f,b
   522  007BBA  2BFA               	incf	(?_IIC+1)^(__Lparam& (0+65280)),f,b
   523  007BBC  50EF               	movf	indf0,w,c
   524  007BBE  DF82               	call	_I2CSendByte
   525                           ;I2C24LC onebyte.c: 225: if(WaitAck())
   526  007BC0  DF4A               	call	_WaitAck	;wreg free
   527  007BC2  0900               	iorlw	0
   528  007BC4  E1F1               	bnz	l43
   529                           ;I2C24LC onebyte.c: 226: continue;
   530                           ;I2C24LC onebyte.c: 227: errorflag=0x01;
   531  007BC6  0E01               	movlw	1
   532  007BC8  6E00               	movwf	btemp,c
   533  007BCA                     l45:
   534                           ;I2C24LC onebyte.c: 229: }
   535  007BCA  0400               	decf	btemp,w,c
   536  007BCC  E0D0               	bz	l33
   537  007BCE  D01D               	goto	l35
   538                           ;I2C24LC onebyte.c: 231: continue;
   539                           ;I2C24LC onebyte.c: 232: break;
   540  007BD0                     l42:
   541                           ;I2C24LC onebyte.c: 234: else
   542  007BD0  DF18               	call	_I2CStart	;wreg free
   543                           ;I2C24LC onebyte.c: 236: I2CSendByte(ControlByte
      +                          );
   544  007BD2  0100               	movlb	__Lparam shr (0+8)
   545  007BD4  51FE               	movf	(?_IIC+5)^(__Lparam& (0+65280)),w
   546  007BD6  DF76               	call	_I2CSendByte
   547                           ;I2C24LC onebyte.c: 237: if(!WaitAck())
   548  007BD8  DF3E               	call	_WaitAck	;wreg free
   549  007BDA  0900               	iorlw	0
   550  007BDC  E0C8               	bz	l33
   551  007BDE                     l50:
   552  007BDE  06F3               	decf	prodl,f,c
   553  007BE0  28F3               	incf	prodl,w,c
   554  007BE2  E00B               	bz	u160
   555                           ;I2C24LC onebyte.c: 238: {continue;}
   556                           ;I2C24LC onebyte.c: 239: while(q--)
   557                           ;I2C24LC onebyte.c: 240: {*DataBuff++=I2CReceive
      +                          Byte();
   558  007BE4  DF8E               	call	_I2CReceiveByte	;wreg free
   559  007BE6  C0F9  FFE9         	movff	?_IIC,fsr0l
   560  007BEA  C0FA  FFEA         	movff	?_IIC+1,fsr0h
   561  007BEE  6EEF               	movwf	indf0,c
   562  007BF0  0100               	movlb	__Lparam shr (0+8)
   563  007BF2  4BF9               	infsnz	?_IIC^(__Lparam& (0+65280)),f,b
   564  007BF4  2BFA               	incf	(?_IIC+1)^(__Lparam& (0+65280)),f,b
   565                           ;I2C24LC onebyte.c: 241: SendAck();}
   566  007BF6  DF48               	call	_SendAck	;wreg free
   567  007BF8  D7F2               	goto	l50
   568  007BFA                     u160:
   569                           ;I2C24LC onebyte.c: 242: *DataBuff=I2CReceiveByt
      +                          e();
   570  007BFA  DF83               	call	_I2CReceiveByte	;wreg free
   571  007BFC  C0F9  FFE9         	movff	?_IIC,fsr0l
   572  007C00  C0FA  FFEA         	movff	?_IIC+1,fsr0h
   573  007C04  6EEF               	movwf	indf0,c
   574                           ;I2C24LC onebyte.c: 243: SendNotAck();
   575  007C06  DF4F               	call	_SendNotAck	;wreg free
   576                           ;I2C24LC onebyte.c: 244: errorflag=0x00;
   577                           ; _errorflag allocated to prodl
   578  007C08  6AF3               	clrf	prodl,c
   579                           ;I2C24LC onebyte.c: 245: break;}
   580  007C0A                     l35:
   581                           ;I2C24LC onebyte.c: 246: }
   582  007C0A  DF12               	call	_I2CStop	;wreg free
   583                           ;I2C24LC onebyte.c: 248: if(!(ControlByte&0x01))
   584  007C0C  0100               	movlb	__Lparam shr (0+8)
   585  007C0E  A1FE               	btfss	(?_IIC+5)^(__Lparam& (0+65280)),0,b
   586                           ;I2C24LC onebyte.c: 249: I2C_QUERY();
   587  007C10  D83B               	call	_I2C_QUERY	;wreg free
   588                           ;I2C24LC onebyte.c: 250: nop_();
   589  007C12  DEE9               	call	_nop_	;wreg free
   590  007C14  0100               	movlb	__Lparam shr (0+8)
   591  007C16  2BFF               	incf	?a_IIC^(__Lparam& (0+65280)),f,b
   592  007C18  D7A2               	goto	l32
   593                           ;I2C24LC onebyte.c: 252: }
   594  007C1A  00F5               	dw	?_delay
   595  007C1C                     _delay:
   596  000000                     
   597                           ;I2C24LC onebyte.c: 262: void delay(unsigned int
      +                           n)
   598  007C1C  6AF3               	clrf	prodl,c
   599  007C1E  6AF4               	clrf	prodh,c
   600  007C20                     l58:
   601  007C20  0100               	movlb	__Lparam shr (0+8)
   602  007C22  51F6               	movf	(?_delay+1)^(__Lparam& (0+65280)),w
   603  007C24  5CF4               	subwf	prodh,w,c
   604  007C26  E102               	bnz	u205
   605  007C28  51F5               	movf	?_delay^(__Lparam& (0+65280)),w
   606  007C2A  5CF3               	subwf	prodl,w,c
   607  007C2C                     u205:
   608  007C2C  B0D8               	btfsc	status,0,c
   609  007C2E  0012               	return	
   610  007C30  4AF3               	infsnz	prodl,f,c
   611  007C32  2AF4               	incf	prodh,f,c
   612  007C34  D7F5               	goto	l58
   613                           ;I2C24LC onebyte.c: 265: }
   614  007C36  00F5               	dw	?_data_check
   615  007C38                     _data_check:
   616  000000                     
   617                           ;I2C24LC onebyte.c: 272: unsigned char data_chec
      +                          k(unsigned char *Data_REF, unsigned char *Data_C
      +                          HK,
   618                           ;I2C24LC onebyte.c: 283: continue;
   619  007C38                     l60:
   620  007C38  0100               	movlb	__Lparam shr (0+8)
   621  007C3A  51F9               	movf	(?_data_check+4)^(__Lparam& (0+65280)),w
   622  007C3C  E023               	bz	u220
   623                           ;I2C24LC onebyte.c: 276: {
   624  007C3E  51F9               	movf	(?_data_check+4)^(__Lparam& (0+65280)),w
   625  007C40  25F7               	addwf	(?_data_check+2)^(__Lparam& (0+65280)),w
   626  007C42  6E00               	movwf	btemp,c
   627  007C44  0E00               	movlw	0
   628  007C46  21F8               	addwfc	(?_data_check+3)^(__Lparam& (0+65280)),w
   629  007C48  6E01               	movwf	btemp+1,c
   630  007C4A  0EFF               	movlw	255
   631  007C4C  2400               	addwf	btemp,w,c
   632  007C4E  6ED9               	movwf	fsr2l,c
   633  007C50  0EFF               	movlw	255
   634  007C52  2001               	addwfc	btemp+1,w,c
   635  007C54  6EDA               	movwf	fsr2h,c
   636  007C56  50DF               	movf	indf2,w,c
   637  007C58  6E00               	movwf	btemp,c
   638  007C5A  51F9               	movf	(?_data_check+4)^(__Lparam& (0+65280)),w
   639  007C5C  25F5               	addwf	?_data_check^(__Lparam& (0+65280)),w
   640  007C5E  6E02               	movwf	btemp+2,c
   641  007C60  0E00               	movlw	0
   642  007C62  21F6               	addwfc	(?_data_check+1)^(__Lparam& (0+65280)),w
   643  007C64  6E03               	movwf	btemp+3,c
   644  007C66  0EFF               	movlw	255
   645  007C68  2402               	addwf	btemp+2,w,c
   646  007C6A  6ED9               	movwf	fsr2l,c
   647  007C6C  0EFF               	movlw	255
   648  007C6E  2003               	addwfc	btemp+3,w,c
   649  007C70  6EDA               	movwf	fsr2h,c
   650  007C72  50DF               	movf	indf2,w,c
   651  007C74  1800               	xorwf	btemp,w,c
   652  007C76  E103               	bnz	l63
   653                           ;I2C24LC onebyte.c: 278: { chk = 0x00;
   654  007C78  6AD9               	clrf	fsr2l,c
   655                           ;I2C24LC onebyte.c: 279: n--;
   656  007C7A  07F9               	decf	(?_data_check+4)^(__Lparam& (0+65280)),f,b
   657                           ;I2C24LC onebyte.c: 280: }
   658  007C7C  D7DD               	goto	l60
   659  007C7E                     l63:
   660                           ;I2C24LC onebyte.c: 281: else
   661  007C7E  0E01               	movlw	1
   662  007C80  6ED9               	movwf	fsr2l,c
   663  007C82  D7DA               	goto	l60
   664  007C84                     u220:
   665                           ;I2C24LC onebyte.c: 284: }
   666  007C84  50D9               	movf	fsr2l,w,c
   667  007C86  0012               	return	
   668                           ;I2C24LC onebyte.c: 287: }
   669  007C88                     _I2C_QUERY:
   670  000000                     
   671  007C88                     l67:
   672                           ;I2C24LC onebyte.c: 289: void I2C_QUERY(void)
   673                           ;I2C24LC onebyte.c: 292: {
   674  007C88  DEBC               	call	_I2CStart	;wreg free
   675                           ;I2C24LC onebyte.c: 294: I2CSendByte((0xA0|0x00)
      +                          &0xfe);
   676  007C8A  0EA0               	movlw	160
   677  007C8C  DF1B               	call	_I2CSendByte
   678                           ;I2C24LC onebyte.c: 295: if(WaitAck())
   679  007C8E  DEE3               	call	_WaitAck	;wreg free
   680  007C90  0900               	iorlw	0
   681  007C92  A4D8               	btfss	status,2,c
   682  007C94  0012               	return	
   683  007C96  D7F8               	goto	l67
   684                           ;I2C24LC onebyte.c: 296: {break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -