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

📄 main2.lst

📁 pic16f886读取LM75A温度芯片的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   479                           ;main2.c: 266: }
   480  0468  0008               	return	;uses W
   481  0469                     _I2C_Write
   482                           ;	_dat assigned to ?a_I2C_Write+0
   483  0000                     _I2C_Write$dat	set	?a_I2C_Write
   484                           ;	_bit_count assigned to ?a_I2C_Write+1
   485  0000                     _I2C_Write$bit_count	set	?a_I2C_Write+1
   486                           ;_dat stored from w
   487  0469  0183               	clrf	3	;select bank 0
   488  046A  00AF               	movwf	?a_I2C_Write
   489                           ;main2.c: 199: void I2C_Write(char dat)
   490  046B  1206               	bcf	6,4
   491                           ;main2.c: 203: for(bit_count=0;bit_count<8;bit_
      +                          count++)
   492  046C  01B0               	clrf	?a_I2C_Write+1
   493  046D                     l26
   494                           ;main2.c: 204: {
   495  046D  0830               	movf	?a_I2C_Write+1,w
   496  046E  00F0               	movwf	btemp
   497  046F  082F               	movf	?a_I2C_Write,w
   498  0470  00F2               	movwf	btemp+2
   499  0471  01F3               	clrf	btemp+3
   500  0472  0AF0               	incf	btemp
   501  0473  2C77               	goto	u64
   502  0474                     u65
   503  0474  1003               	bcf	3,0
   504  0475  0DF2               	rlf	btemp+2
   505  0476  0DF3               	rlf	btemp+3
   506  0477                     u64
   507  0477  0BF0               	decfsz	btemp
   508  0478  2C74               	goto	u65
   509  0479  1FF2               	btfss	btemp+2,7
   510  047A  2C7D               	goto	l29
   511                           ;main2.c: 206: {
   512  047B  1586               	bsf	6,3
   513                           ;main2.c: 208: }
   514  047C  2C7E               	goto	l30
   515  047D                     l29
   516                           ;main2.c: 209: else
   517  047D  1186               	bcf	6,3
   518  047E                     l30
   519                           ;main2.c: 212: }
   520  047E  0000               	nop	;#
   521  047F  0000               	nop	;#
   522  0480  0000               	nop	;#
   523  0481  0000               	nop	;#
   524  0482  0000               	nop	;#
   525                           ;main2.c: 214: RB4 = 1;
   526  0483  1606               	bsf	6,4
   527                           ;main2.c: 215: ; asm("Nop"); asm("Nop"); asm("N
      +                          op"); asm("Nop"); asm("Nop");
   528  0484  0000               	nop	;#
   529  0485  0000               	nop	;#
   530  0486  0000               	nop	;#
   531  0487  0000               	nop	;#
   532  0488  0000               	nop	;#
   533                           ;main2.c: 216: RB4 = 0;
   534  0489  1206               	bcf	6,4
   535  048A  0AB0               	incf	?a_I2C_Write+1
   536  048B  3008               	movlw	8
   537  048C  0230               	subwf	?a_I2C_Write+1,w
   538  048D  1C03               	btfss	3,0
   539  048E  2C6D               	goto	l26
   540                           ;main2.c: 217: }
   541  048F  0000               	nop	;#
   542  0490  0000               	nop	;#
   543  0491  0000               	nop	;#
   544  0492  0000               	nop	;#
   545  0493  0000               	nop	;#
   546                           ;main2.c: 219: }
   547  0494  0008               	return	;W free
   548  0495                     _I2C_Delay
   549                           ;	_i assigned to ?a_I2C_Delay+0
   550  0000                     _I2C_Delay$i	set	?a_I2C_Delay
   551                           ;	_j assigned to ?a_I2C_Delay+2
   552  0000                     _I2C_Delay$j	set	?a_I2C_Delay+2
   553                           ;main2.c: 127: void I2C_Delay(void)
   554  0495  3004               	movlw	4
   555  0496  0183               	clrf	3	;select bank 0
   556  0497  00AF               	movwf	?a_I2C_Delay
   557  0498  01B0               	clrf	?a_I2C_Delay+1
   558  0499                     l16
   559                           ;main2.c: 131: {
   560  0499  3008               	movlw	8
   561  049A  00B1               	movwf	?a_I2C_Delay+2
   562  049B  01B2               	clrf	?a_I2C_Delay+3
   563  049C                     l19
   564  049C  08B1               	movf	?a_I2C_Delay+2
   565  049D  1903               	btfsc	3,2
   566  049E  03B2               	decf	?a_I2C_Delay+3
   567  049F  03B1               	decf	?a_I2C_Delay+2
   568  04A0  0832               	movf	?a_I2C_Delay+3,w
   569  04A1  0431               	iorwf	?a_I2C_Delay+2,w
   570  04A2  1D03               	btfss	3,2
   571  04A3  2C9C               	goto	l19
   572  04A4  08AF               	movf	?a_I2C_Delay
   573  04A5  1903               	btfsc	3,2
   574  04A6  03B0               	decf	?a_I2C_Delay+1
   575  04A7  03AF               	decf	?a_I2C_Delay
   576  04A8  0830               	movf	?a_I2C_Delay+1,w
   577  04A9  042F               	iorwf	?a_I2C_Delay,w
   578  04AA  1903               	btfsc	3,2
   579  04AB  0008               	return
   580  04AC  2C99               	goto	l16
   581  04AD                     _I2C_Init
   582                           ;main2.c: 142: void I2C_Init(void)
   583  04AD  1683               	bsf	3,5
   584  04AE  1303               	bcf	3,6	;carry unused
   585  04AF  1206               	bcf	6,4
   586                           ;main2.c: 149: TRISB3=0;
   587  04B0  1186               	bcf	6,3
   588                           ;main2.c: 150: RB3 = 1;
   589  04B1  1283               	bcf	3,5
   590  04B2  1586               	bsf	6,3
   591                           ;main2.c: 151: RB4 = 1;
   592  04B3  1606               	bsf	6,4
   593                           ;main2.c: 152: I2C_Delay();
   594  04B4  2C95               	ljmp	_I2C_Delay
   595  04B5                     _I2C_Start
   596                           ;main2.c: 164: void I2C_Start()
   597  04B5  0183               	clrf	3	;select bank 0
   598  04B6  1586               	bsf	6,3
   599                           ;main2.c: 167: ; asm("Nop"); asm("Nop"); asm("N
      +                          op"); asm("Nop"); asm("Nop");
   600  04B7  0000               	nop	;#
   601  04B8  0000               	nop	;#
   602  04B9  0000               	nop	;#
   603  04BA  0000               	nop	;#
   604  04BB  0000               	nop	;#
   605                           ;main2.c: 168: RB4 = 1;
   606  04BC  1606               	bsf	6,4
   607                           ;main2.c: 169: ; asm("Nop"); asm("Nop"); asm("N
      +                          op"); asm("Nop"); asm("Nop");
   608  04BD  0000               	nop	;#
   609  04BE  0000               	nop	;#
   610  04BF  0000               	nop	;#
   611  04C0  0000               	nop	;#
   612  04C1  0000               	nop	;#
   613                           ;main2.c: 170: RB3 = 0;
   614  04C2  1186               	bcf	6,3
   615                           ;main2.c: 171: ; asm("Nop"); asm("Nop"); asm("N
      +                          op"); asm("Nop"); asm("Nop");
   616  04C3  0000               	nop	;#
   617  04C4  0000               	nop	;#
   618  04C5  0000               	nop	;#
   619  04C6  0000               	nop	;#
   620  04C7  0000               	nop	;#
   621                           ;main2.c: 172: RB4 = 0;
   622  04C8  1206               	bcf	6,4
   623                           ;main2.c: 173: ; asm("Nop"); asm("Nop"); asm("N
      +                          op"); asm("Nop"); asm("Nop");
   624  04C9  0000               	nop	;#
   625  04CA  0000               	nop	;#
   626  04CB  0000               	nop	;#
   627  04CC  0000               	nop	;#
   628  04CD  0000               	nop	;#
   629                           ;main2.c: 174: }
   630  04CE  0008               	return	;W free
   631  04CF                     _I2C_Puts
   632                           ;	_SlaveAddr assigned to ?a_I2C_Puts+0
   633  0000                     _I2C_Puts$SlaveAddr	set	?a_I2C_Puts
   634                           ;	_i assigned to ?a_I2C_Puts+1
   635  0000                     _I2C_Puts$i	set	?a_I2C_Puts+1
   636                           ;	_a assigned to ?a_I2C_Puts+2
   637  0000                     _I2C_Puts$a	set	?a_I2C_Puts+2
   638                           ;_SlaveAddr stored from w
   639  04CF  0183               	clrf	3	;select bank 0
   640  04D0  00A5               	movwf	?a_I2C_Puts
   641                           ;main2.c: 304: unsigned char I2C_Puts( unsigned
      +                           char SlaveAddr, unsigned int SubAddr,
   642  04D1  08A9               	movf	?_I2C_Puts+4
   643  04D2  1903               	btfsc	3,2
   644  04D3  3400               	retlw	0
   645                           ;main2.c: 314: a[0] = (SlaveAddr);
   646  04D4  0825               	movf	?a_I2C_Puts,w
   647  04D5  00A7               	movwf	?a_I2C_Puts+2
   648                           ;main2.c: 316: if ( SubMod > 2 )
   649  04D6  3003               	movlw	3
   650  04D7  0227               	subwf	?_I2C_Puts+2,w
   651  04D8  1C03               	btfss	3,0
   652  04D9  2CE5               	goto	l42
   653                           ;main2.c: 317: SubMod = 2;
   654  04DA  3002               	movlw	2
   655  04DB  00A7               	movwf	?_I2C_Puts+2
   656                           ;main2.c: 319: switch ( SubMod )
   657  04DC  2CE5               	goto	l42
   658  04DD                     l43
   659                           ;main2.c: 320: {
   660                           ;main2.c: 322: a[1] = SubAddr;
   661  04DD  0825               	movf	?_I2C_Puts,w
   662  04DE  00A8               	movwf	?a_I2C_Puts+3
   663                           ;main2.c: 323: break;
   664  04DF  2CEC               	goto	l41
   665  04E0                     l44
   666                           ;main2.c: 324: case 2:
   667                           ;main2.c: 325: a[1] = SubAddr >> 8;
   668  04E0  0826               	movf	?_I2C_Puts+1,w
   669  04E1  00A8               	movwf	?a_I2C_Puts+3
   670                           ;main2.c: 326: a[2] = SubAddr;
   671  04E2  0825               	movf	?_I2C_Puts,w
   672  04E3  00A9               	movwf	?a_I2C_Puts+4
   673                           ;main2.c: 327: break;
   674  04E4  2CEC               	goto	l41
   675  04E5                     l42
   676  04E5  0827               	movf	?_I2C_Puts+2,w
   677  04E6  3A01               	xorlw	1
   678  04E7  1903               	btfsc	3,2
   679  04E8  2CDD               	goto	l43
   680  04E9  3A03               	xorlw	3
   681  04EA  1903               	btfsc	3,2
   682  04EB  2CE0               	goto	l44
   683  04EC                     l41
   684                           ;main2.c: 330: SubMod++;
   685  04EC  0AA7               	incf	?_I2C_Puts+2
   686                           ;main2.c: 331: I2C_Start();
   687  04ED  24B5               	fcall	_I2C_Start
   688                           ;main2.c: 332: I2C_Delay();
   689  04EE  2495               	fcall	_I2C_Delay
   690                           ;main2.c: 333: for ( i=0; i<SubMod; i++ )
   691  04EF  01A6               	clrf	?a_I2C_Puts+1
   692  04F0                     l48
   693  04F0  0827               	movf	?_I2C_Puts+2,w
   694  04F1  0226               	subwf	?a_I2C_Puts+1,w
   695  04F2  1803               	btfsc	3,0
   696  04F3  2D0E               	goto	l52
   697                           ;main2.c: 334: {
   698  04F4  0826               	movf	?a_I2C_Puts+1,w
   699  04F5  3E27               	addlw	?a_I2C_Puts+2
   700  04F6  0084               	movwf	4
   701  04F7  1383               	bcf	3,7
   702  04F8  0800               	movf	0,w
   703  04F9  2469               	fcall	_I2C_Write
   704                           ;main2.c: 336: while( I2C_GetAck() )
   705  04FA  244C               	fcall	_I2C_GetAck
   706  04FB  3800               	iorlw	0
   707  04FC  1903               	btfsc	3,2
   708  04FD  2D00               	goto	l51
   709                           ;main2.c: 337: {
   710  04FE  2433               	fcall	_I2C_Stop
   711                           ;main2.c: 339: return 0;
   712  04FF  3400               	retlw	0
   713  0500                     l51
   714  0500  0AA6               	incf	?a_I2C_Puts+1
   715  0501  2CF0               	goto	l48
   716                           ;main2.c: 340: }
   717  0502                     l53
   718                           ;main2.c: 344: {
   719  0502  0AA8               	incf	?_I2C_Puts+3
   720  0503  0328               	decf	?_I2C_Puts+3,w
   721  0504  0084               	movwf	4
   722  0505  1383               	bcf	3,7
   723  0506  0800               	movf	0,w
   724  0507  2469               	fcall	_I2C_Write
   725                           ;main2.c: 346: if ( I2C_GetAck() )

⌨️ 快捷键说明

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