i2c.lst

来自「上载的程序可以用于PIC单片机,也可以用于430单片机,本人原创,到至今还没有发」· LST 代码 · 共 1,188 行 · 第 1/5 页

LST
1,188
字号
   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 + =
减小字号Ctrl + -
显示快捷键?