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

📄 i2c.lst

📁 上载的程序可以用于PIC单片机,也可以用于430单片机,本人原创,到至今还没有发现哪位网友想出这种办法,希望站长能多加分.
💻 LST
📖 第 1 页 / 共 5 页
字号:
   219  00778A  06F3               	decf	prodl,f,c
   220  00778C  A0D8               	btfss	status,0,c
   221  00778E  06F4               	decf	prodh,f,c
   222  007790  50F4               	movf	prodh,w,c
   223  007792  0A80               	xorlw	128
   224  007794  0F80               	addlw	-128
   225  007796  0E01               	movlw	1
   226  007798  B4D8               	btfsc	status,2,c
   227  00779A  5CF3               	subwf	prodl,w,c
   228  00779C  E2F6               	bc	l7
   229                           ;I2C.c: 67: TRISC |= 0B00010000;
   230  00779E  8894               	bsf	3988,4,c	;volatile
   231                           ;I2C.c: 68: I2C_Set_sck_high();
   232  0077A0  DFDC               	call	_I2C_Set_sck_high	;wreg free
   233                           ;I2C.c: 70: for(j = 30;j > 0;j--);
   234  0077A2  0E1E               	movlw	30
   235  0077A4  6EF3               	movwf	prodl,c
   236  0077A6  6AF4               	clrf	prodh,c
   237  0077A8                     l10:
   238  0077A8  06F3               	decf	prodl,f,c
   239  0077AA  A0D8               	btfss	status,0,c
   240  0077AC  06F4               	decf	prodh,f,c
   241  0077AE  50F4               	movf	prodh,w,c
   242  0077B0  0A80               	xorlw	128
   243  0077B2  0F80               	addlw	-128
   244  0077B4  0E01               	movlw	1
   245  0077B6  B4D8               	btfsc	status,2,c
   246  0077B8  5CF3               	subwf	prodl,w,c
   247  0077BA  E2F6               	bc	l10
   248                           ;I2C.c: 72: nTemp = (int)(PORTC&0B00010000);
   249  0077BC  5082               	movf	3970,w,c	;volatile
   250  0077BE  0B10               	andlw	16
   251  0077C0  6EF3               	movwf	prodl,c
   252  0077C2  6AF4               	clrf	prodh,c
   253                           ;I2C.c: 74: I2C_Set_sck_low();
   254  0077C4  DFD2               	call	_I2C_Set_sck_low	;wreg free
   255                           ;I2C.c: 76: return (nTemp & 0B00010000);
   256  0077C6  0E10               	movlw	16
   257  0077C8  CFF3 F000          	movff	prodl,btemp
   258  0077CC  CFF4 F001          	movff	prodh,btemp+1
   259  0077D0  1600               	andwf	btemp,f,c
   260  0077D2  0E00               	movlw	0
   261  0077D4  6A01               	clrf	btemp+1,c
   262  0077D6  0012               	return	
   263                           ;I2C.c: 77: }
   264  0077D8                     _I2C_SetACK:
   265  000000                     
   266                           ;I2C.c: 78: void I2C_SetACK(void)
   267  0077D8  DFC8               	call	_I2C_Set_sck_low	;wreg free
   268                           ;I2C.c: 81: I2C_Set_sda_low();
   269  0077DA  DFB7               	call	_I2C_Set_sda_low	;wreg free
   270                           ;I2C.c: 82: I2C_Set_sck_high();
   271  0077DC  DFBE               	call	_I2C_Set_sck_high	;wreg free
   272                           ;I2C.c: 83: I2C_Set_sck_low();
   273  0077DE  D7C5               	goto	_I2C_Set_sck_low	;wreg free
   274                           ;I2C.c: 84: return;
   275                           ;I2C.c: 85: }
   276  0077E0                     _I2C_SetNAk:
   277  000000                     
   278                           ;I2C.c: 86: void I2C_SetNAk(void)
   279  0077E0  DFC4               	call	_I2C_Set_sck_low	;wreg free
   280                           ;I2C.c: 89: I2C_Set_sda_high();
   281  0077E2  DFAB               	call	_I2C_Set_sda_high	;wreg free
   282                           ;I2C.c: 90: I2C_Set_sck_high();
   283  0077E4  DFBA               	call	_I2C_Set_sck_high	;wreg free
   284                           ;I2C.c: 91: I2C_Set_sck_low();
   285  0077E6  D7C1               	goto	_I2C_Set_sck_low	;wreg free
   286                           ;I2C.c: 92: return;
   287                           ;I2C.c: 93: }
   288  0077E8                     _I2C_START:
   289  000000                     
   290                           ;I2C.c: 94: void I2C_START(void)
   291  0077E8  DFA8               	call	_I2C_Set_sda_high	;wreg free
   292                           ;I2C.c: 99: for(i = 5;i > 0;i--);
   293  0077EA  0E05               	movlw	5
   294  0077EC  6EF3               	movwf	prodl,c
   295  0077EE  6AF4               	clrf	prodh,c
   296  0077F0                     l16:
   297  0077F0  06F3               	decf	prodl,f,c
   298  0077F2  A0D8               	btfss	status,0,c
   299  0077F4  06F4               	decf	prodh,f,c
   300  0077F6  50F4               	movf	prodh,w,c
   301  0077F8  0A80               	xorlw	128
   302  0077FA  0F80               	addlw	-128
   303  0077FC  0E01               	movlw	1
   304  0077FE  B4D8               	btfsc	status,2,c
   305  007800  5CF3               	subwf	prodl,w,c
   306  007802  E2F6               	bc	l16
   307                           ;I2C.c: 100: I2C_Set_sck_high();
   308  007804  DFAA               	call	_I2C_Set_sck_high	;wreg free
   309                           ;I2C.c: 101: for(i = 5;i > 0;i--);
   310  007806  0E05               	movlw	5
   311  007808  6EF3               	movwf	prodl,c
   312  00780A  6AF4               	clrf	prodh,c
   313  00780C                     l19:
   314  00780C  06F3               	decf	prodl,f,c
   315  00780E  A0D8               	btfss	status,0,c
   316  007810  06F4               	decf	prodh,f,c
   317  007812  50F4               	movf	prodh,w,c
   318  007814  0A80               	xorlw	128
   319  007816  0F80               	addlw	-128
   320  007818  0E01               	movlw	1
   321  00781A  B4D8               	btfsc	status,2,c
   322  00781C  5CF3               	subwf	prodl,w,c
   323  00781E  E2F6               	bc	l19
   324                           ;I2C.c: 102: I2C_Set_sda_low();
   325  007820  DF94               	call	_I2C_Set_sda_low	;wreg free
   326                           ;I2C.c: 103: for(i = 5;i > 0;i--);
   327  007822  0E05               	movlw	5
   328  007824  6EF3               	movwf	prodl,c
   329  007826  6AF4               	clrf	prodh,c
   330  007828                     l22:
   331  007828  06F3               	decf	prodl,f,c
   332  00782A  A0D8               	btfss	status,0,c
   333  00782C  06F4               	decf	prodh,f,c
   334  00782E  50F4               	movf	prodh,w,c
   335  007830  0A80               	xorlw	128
   336  007832  0F80               	addlw	-128
   337  007834  0E01               	movlw	1
   338  007836  B4D8               	btfsc	status,2,c
   339  007838  5CF3               	subwf	prodl,w,c
   340  00783A  E2F6               	bc	l22
   341                           ;I2C.c: 104: I2C_Set_sck_low();
   342  00783C  D796               	goto	_I2C_Set_sck_low	;wreg free
   343                           ;I2C.c: 105: return;
   344                           ;I2C.c: 106: }
   345  00783E                     _I2C_STOP:
   346  000000                     
   347                           ;I2C.c: 107: void I2C_STOP(void)
   348  00783E  DF85               	call	_I2C_Set_sda_low	;wreg free
   349                           ;I2C.c: 112: for(i = 5;i > 0;i--);
   350  007840  0E05               	movlw	5
   351  007842  6EF3               	movwf	prodl,c
   352  007844  6AF4               	clrf	prodh,c
   353  007846                     l26:
   354  007846  06F3               	decf	prodl,f,c
   355  007848  A0D8               	btfss	status,0,c
   356  00784A  06F4               	decf	prodh,f,c
   357  00784C  50F4               	movf	prodh,w,c
   358  00784E  0A80               	xorlw	128
   359  007850  0F80               	addlw	-128
   360  007852  0E01               	movlw	1
   361  007854  B4D8               	btfsc	status,2,c
   362  007856  5CF3               	subwf	prodl,w,c
   363  007858  E2F6               	bc	l26
   364                           ;I2C.c: 113: I2C_Set_sck_low();
   365  00785A  DF87               	call	_I2C_Set_sck_low	;wreg free
   366                           ;I2C.c: 114: for(i = 5;i > 0;i--);
   367  00785C  0E05               	movlw	5
   368  00785E  6EF3               	movwf	prodl,c
   369  007860  6AF4               	clrf	prodh,c
   370  007862                     l29:
   371  007862  06F3               	decf	prodl,f,c
   372  007864  A0D8               	btfss	status,0,c
   373  007866  06F4               	decf	prodh,f,c
   374  007868  50F4               	movf	prodh,w,c
   375  00786A  0A80               	xorlw	128
   376  00786C  0F80               	addlw	-128
   377  00786E  0E01               	movlw	1
   378  007870  B4D8               	btfsc	status,2,c
   379  007872  5CF3               	subwf	prodl,w,c
   380  007874  E2F6               	bc	l29
   381                           ;I2C.c: 115: I2C_Set_sck_high();
   382  007876  DF71               	call	_I2C_Set_sck_high	;wreg free
   383                           ;I2C.c: 116: for(i = 5;i > 0;i--);
   384  007878  0E05               	movlw	5
   385  00787A  6EF3               	movwf	prodl,c
   386  00787C  6AF4               	clrf	prodh,c
   387  00787E                     l32:
   388  00787E  06F3               	decf	prodl,f,c
   389  007880  A0D8               	btfss	status,0,c
   390  007882  06F4               	decf	prodh,f,c
   391  007884  50F4               	movf	prodh,w,c
   392  007886  0A80               	xorlw	128
   393  007888  0F80               	addlw	-128
   394  00788A  0E01               	movlw	1
   395  00788C  B4D8               	btfsc	status,2,c
   396  00788E  5CF3               	subwf	prodl,w,c
   397  007890  E2F6               	bc	l32
   398                           ;I2C.c: 117: I2C_Set_sda_high();
   399  007892  DF53               	call	_I2C_Set_sda_high	;wreg free
   400                           ;I2C.c: 118: for(i = 5;i > 0;i--);
   401  007894  0E05               	movlw	5
   402  007896  6EF3               	movwf	prodl,c
   403  007898  6AF4               	clrf	prodh,c
   404  00789A                     l35:
   405  00789A  06F3               	decf	prodl,f,c
   406  00789C  A0D8               	btfss	status,0,c
   407  00789E  06F4               	decf	prodh,f,c
   408  0078A0  50F4               	movf	prodh,w,c
   409  0078A2  0A80               	xorlw	128
   410  0078A4  0F80               	addlw	-128
   411  0078A6  0E01               	movlw	1
   412  0078A8  B4D8               	btfsc	status,2,c
   413  0078AA  5CF3               	subwf	prodl,w,c
   414  0078AC  E2F6               	bc	l35
   415                           ;I2C.c: 119: I2C_Set_sck_low();
   416  0078AE  DF5D               	call	_I2C_Set_sck_low	;wreg free
   417  0078B0                     L5:
   418                           ;I2C.c: 121: Delay_ms(10);
   419  0078B0  0E0A               	movlw	10
   420  0078B2  0100               	movlb	__Lparam shr (0+8)
   421  0078B4  6FFC               	movwf	?_Delay_ms^(__Lparam& (0+65280)),b
   422  0078B6  6BFD               	clrf	(?_Delay_ms+1)^(__Lparam& (0+65280)),b
   423  0078B8  6BFE               	clrf	(?_Delay_ms+2)^(__Lparam& (0+65280)),b
   424  0078BA  6BFF               	clrf	(?_Delay_ms+3)^(__Lparam& (0+65280)),b
   425  0078BC  D0DC               	goto	_Delay_ms	;wreg free
   426                           ;I2C.c: 123: return;
   427                           ;I2C.c: 124: }
   428                           ;       param _nValue assigned to ?_I2C_TxHToL+0
   429  0078BE  00FC               	dw	?_I2C_TxHToL
   430  0078C0                     _I2C_TxHToL:
   431  000000                     
   432                           ;I2C.c: 125: void I2C_TxHToL(int nValue)
   433  0078C0  6AF6               	clrf	tblptrl,c
   434  0078C2  6AF7               	clrf	tblptrh,c
   435  0078C4                     l39:
   436                           ;I2C.c: 131: {
   437  0078C4  0100               	movlb	__Lparam shr (0+8)
   438  0078C6  AFFC               	btfss	?_I2C_TxHToL^(__Lparam& (0+65280)),7,b
   439  0078C8  D002               	goto	l42
   440                           ;I2C.c: 133: I2C_Set_sda_high();
   441  0078CA  DF37               	call	_I2C_Set_sda_high	;wreg free
   442  0078CC  D001               	goto	l43
   443  0078CE                     l42:
   444                           ;I2C.c: 134: else
   445  0078CE  DF3D               	call	_I2C_Set_sda_low	;wreg free
   446  0078D0                     l43:
   447                           ;I2C.c: 136: for(j = 30;j > 0;j--);
   448  0078D0  0E1E               	movlw	30
   449  0078D2  6EF3               	movwf	prodl,c
   450  0078D4  6AF4               	clrf	prodh,c
   451  0078D6                     l44:
   452  0078D6  06F3               	decf	prodl,f,c
   453  0078D8  A0D8               	btfss	status,0,c
   454  0078DA  06F4               	decf	prodh,f,c
   455  0078DC  50F4               	movf	prodh,w,c
   456  0078DE  0A80               	xorlw	128

⌨️ 快捷键说明

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