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

📄 tsl5621.lst

📁 该程序是pic单片机程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   302  0735                     _I_send_str
   303                           ;	_sla assigned to ?a_I_send_str+0
   304  0000                     _I_send_str$sla	set	?a_I_send_str
   305                           ;	_i assigned to ?a_I_send_str+1
   306  0000                     _I_send_str$i	set	?a_I_send_str+1
   307                           ;_sla stored from w
   308  0735  0183               	clrf	3	;select bank 0
   309  0736  00A8               	movwf	?a_I_send_str
   310                           ;tsl5621.c: 130: unsigned char i;
   311  0737  2720               	fcall	_start_i2c
   312                           ;tsl5621.c: 132: send_byte(sla);
   313  0738  0828               	movf	?a_I_send_str,w
   314  0739  26E8               	fcall	_send_byte
   315                           ;tsl5621.c: 133: if (ack==0) iic_error();
   316  073A  08A0               	movf	_ack
   317  073B  1D03               	btfss	3,2
   318  073C  2F3E               	goto	l18
   319  073D  26DA               	fcall	_iic_error
   320  073E                     l18
   321                           ;tsl5621.c: 134: send_byte(suba);
   322  073E  0825               	movf	?_I_send_str,w
   323  073F  26E8               	fcall	_send_byte
   324                           ;tsl5621.c: 135: if (ack==0) iic_error();
   325  0740  08A0               	movf	_ack
   326  0741  1D03               	btfss	3,2
   327  0742  2F44               	goto	l19
   328  0743  26DA               	fcall	_iic_error
   329  0744                     l19
   330                           ;tsl5621.c: 136: for (i=0;i<no;i++)
   331  0744  01A9               	clrf	?a_I_send_str+1
   332  0745                     l23
   333  0745  0827               	movf	?_I_send_str+2,w
   334  0746  0229               	subwf	?a_I_send_str+1,w
   335  0747  1803               	btfsc	3,0
   336  0748  2F55               	goto	l21
   337                           ;tsl5621.c: 137: {
   338                           ;tsl5621.c: 138: send_byte(*s);
   339  0749  0826               	movf	?_I_send_str+1,w
   340  074A  0084               	movwf	4
   341  074B  1383               	bcf	3,7
   342  074C  0800               	movf	0,w
   343  074D  26E8               	fcall	_send_byte
   344                           ;tsl5621.c: 139: if (ack==0) iic_error();
   345  074E  08A0               	movf	_ack
   346  074F  1D03               	btfss	3,2
   347  0750  2F52               	goto	l24
   348  0751  26DA               	fcall	_iic_error
   349  0752                     l24
   350                           ;tsl5621.c: 140: s++;
   351  0752  0AA6               	incf	?_I_send_str+1
   352                           ;tsl5621.c: 141: }
   353  0753  0AA9               	incf	?a_I_send_str+1
   354  0754  2F45               	goto	l23
   355  0755                     l21
   356                           ;tsl5621.c: 142: stop_i2c();
   357  0755  2EBC               	ljmp	_stop_i2c
   358  0756                     _WriteByte
   359                           ;	_Command1 assigned to ?a_WriteByte+0
   360  0000                     _WriteByte$Command1	set	?a_WriteByte
   361                           ;_Command1 stored from w
   362  0756  0183               	clrf	3	;select bank 0
   363  0757  00A5               	movwf	?a_WriteByte
   364                           ;tsl5621.c: 148: start_i2c();
   365  0758  2720               	fcall	_start_i2c
   366                           ;tsl5621.c: 149: send_byte(0x72);
   367  0759  3072               	movlw	114
   368  075A  26E8               	fcall	_send_byte
   369                           ;tsl5621.c: 150: if (ack==0) iic_error();
   370  075B  08A0               	movf	_ack
   371  075C  1D03               	btfss	3,2
   372  075D  2F5F               	goto	l26
   373  075E  26DA               	fcall	_iic_error
   374  075F                     l26
   375                           ;tsl5621.c: 151: send_byte(Command1);
   376  075F  0825               	movf	?a_WriteByte,w
   377  0760  26E8               	fcall	_send_byte
   378                           ;tsl5621.c: 152: if (ack==0) iic_error();
   379  0761  08A0               	movf	_ack
   380  0762  1D03               	btfss	3,2
   381  0763  2F65               	goto	l27
   382  0764  26DA               	fcall	_iic_error
   383  0765                     l27
   384                           ;tsl5621.c: 153: send_byte(Data);
   385  0765  0825               	movf	?_WriteByte,w
   386  0766  26E8               	fcall	_send_byte
   387                           ;tsl5621.c: 154: if (ack==0) iic_error();
   388  0767  08A0               	movf	_ack
   389  0768  1D03               	btfss	3,2
   390  0769  2F6B               	goto	l28
   391  076A  26DA               	fcall	_iic_error
   392  076B                     l28
   393                           ;tsl5621.c: 155: stop_i2c();
   394  076B  2EBC               	ljmp	_stop_i2c
   395  076C                     _WriteWord
   396                           ;	_Command2 assigned to ?a_WriteWord+0
   397  0000                     _WriteWord$Command2	set	?a_WriteWord
   398                           ;_Command2 stored from w
   399  076C  0183               	clrf	3	;select bank 0
   400  076D  00A5               	movwf	?a_WriteWord
   401                           ;tsl5621.c: 160: start_i2c();
   402  076E  2720               	fcall	_start_i2c
   403                           ;tsl5621.c: 161: send_byte(0x72);
   404  076F  3072               	movlw	114
   405  0770  26E8               	fcall	_send_byte
   406                           ;tsl5621.c: 162: if (ack==0) iic_error();
   407  0771  08A0               	movf	_ack
   408  0772  1D03               	btfss	3,2
   409  0773  2F75               	goto	l30
   410  0774  26DA               	fcall	_iic_error
   411  0775                     l30
   412                           ;tsl5621.c: 163: send_byte(Command2);
   413  0775  0825               	movf	?a_WriteWord,w
   414  0776  26E8               	fcall	_send_byte
   415                           ;tsl5621.c: 164: if (ack==0) iic_error();
   416  0777  08A0               	movf	_ack
   417  0778  1D03               	btfss	3,2
   418  0779  2F7B               	goto	l31
   419  077A  26DA               	fcall	_iic_error
   420  077B                     l31
   421                           ;tsl5621.c: 165: send_byte(DataLow);
   422  077B  0825               	movf	?_WriteWord,w
   423  077C  26E8               	fcall	_send_byte
   424                           ;tsl5621.c: 166: if (ack==0) iic_error();
   425  077D  08A0               	movf	_ack
   426  077E  1D03               	btfss	3,2
   427  077F  2F81               	goto	l32
   428  0780  26DA               	fcall	_iic_error
   429  0781                     l32
   430                           ;tsl5621.c: 167: send_byte(DataHigh);
   431  0781  0826               	movf	?_WriteWord+1,w
   432  0782  26E8               	fcall	_send_byte
   433                           ;tsl5621.c: 168: if (ack==0) iic_error();
   434  0783  08A0               	movf	_ack
   435  0784  1D03               	btfss	3,2
   436  0785  2F87               	goto	l33
   437  0786  26DA               	fcall	_iic_error
   438  0787                     l33
   439                           ;tsl5621.c: 169: stop_i2c();
   440  0787  2EBC               	ljmp	_stop_i2c
   441                           ;tsl5621.c: 172: unsigned char ReadByte(unsigne
      +                          d char Command3)
   442                           ;tsl5621.c: 173: {
   443  0788                     _ReadByte
   444                           ;	_Command3 assigned to ?a_ReadByte+0
   445  0000                     _ReadByte$Command3	set	?a_ReadByte
   446                           ;_Command3 stored from w
   447  0788  0183               	clrf	3	;select bank 0
   448  0789  00A5               	movwf	?a_ReadByte
   449                           ;tsl5621.c: 174: start_i2c();
   450  078A  2720               	fcall	_start_i2c
   451                           ;tsl5621.c: 175: send_byte(0x72);
   452  078B  3072               	movlw	114
   453  078C  26E8               	fcall	_send_byte
   454                           ;tsl5621.c: 176: if (ack==0) iic_error();
   455  078D  08A0               	movf	_ack
   456  078E  1D03               	btfss	3,2
   457  078F  2F91               	goto	l35
   458  0790  26DA               	fcall	_iic_error
   459  0791                     l35
   460                           ;tsl5621.c: 177: send_byte(Command3);
   461  0791  0825               	movf	?a_ReadByte,w
   462  0792  26E8               	fcall	_send_byte
   463                           ;tsl5621.c: 178: if (ack==0) iic_error();
   464  0793  08A0               	movf	_ack
   465  0794  1D03               	btfss	3,2
   466  0795  2F97               	goto	l36
   467  0796  26DA               	fcall	_iic_error
   468  0797                     l36
   469                           ;tsl5621.c: 179: start_i2c();
   470  0797  2720               	fcall	_start_i2c
   471                           ;tsl5621.c: 180: send_byte(0x73);
   472  0798  3073               	movlw	115
   473  0799  26E8               	fcall	_send_byte
   474                           ;tsl5621.c: 181: if (ack==0) iic_error();
   475  079A  08A0               	movf	_ack
   476  079B  1D03               	btfss	3,2
   477  079C  2F9E               	goto	l37
   478  079D  26DA               	fcall	_iic_error
   479  079E                     l37
   480                           ;tsl5621.c: 182: receivedata=receive_byte();
   481  079E  2698               	fcall	_receive_byte
   482  079F  00A4               	movwf	_receivedata
   483                           ;tsl5621.c: 184: stop_i2c();
   484  07A0  26BC               	fcall	_stop_i2c
   485                           ;tsl5621.c: 185: return(receivedata);
   486  07A1  0824               	movf	_receivedata,w
   487                           ;tsl5621.c: 186: }
   488  07A2  0008               	return
   489  07A3                     _I_byte_write
   490                           ;	_slave_address assigned to ?a_I_byte_write+0
   491  0000                     _I_byte_write$slave_address	set	?a_I_byte_write
   492                           ;_slave_address stored from w
   493  07A3  0183               	clrf	3	;select bank 0
   494  07A4  00A5               	movwf	?a_I_byte_write
   495                           ;tsl5621.c: 190: start_i2c();
   496  07A5  2720               	fcall	_start_i2c
   497                           ;tsl5621.c: 191: send_byte(slave_address);
   498  07A6  0825               	movf	?a_I_byte_write,w
   499  07A7  26E8               	fcall	_send_byte
   500                           ;tsl5621.c: 192: if (ack==0) iic_error();
   501  07A8  08A0               	movf	_ack
   502  07A9  1D03               	btfss	3,2
   503  07AA  2FAC               	goto	l39
   504  07AB  26DA               	fcall	_iic_error
   505  07AC                     l39
   506                           ;tsl5621.c: 193: send_byte(byte_address);
   507  07AC  0825               	movf	?_I_byte_write,w
   508  07AD  26E8               	fcall	_send_byte
   509                           ;tsl5621.c: 194: if (ack==0) iic_error();
   510  07AE  08A0               	movf	_ack
   511  07AF  1D03               	btfss	3,2
   512  07B0  2FB2               	goto	l40
   513  07B1  26DA               	fcall	_iic_error
   514  07B2                     l40
   515                           ;tsl5621.c: 195: send_byte(datain);
   516  07B2  0826               	movf	?_I_byte_write+1,w
   517  07B3  26E8               	fcall	_send_byte
   518                           ;tsl5621.c: 196: if (ack==0) iic_error();
   519  07B4  08A0               	movf	_ack
   520  07B5  1D03               	btfss	3,2
   521  07B6  2FB8               	goto	l41
   522  07B7  26DA               	fcall	_iic_error
   523  07B8                     l41
   524                           ;tsl5621.c: 197: stop_i2c();
   525  07B8  2EBC               	ljmp	_stop_i2c
   526                           ;tsl5621.c: 200: unsigned char I_random_read(un
      +                          signed char address)
   527                           ;tsl5621.c: 201: {
   528  07B9                     _I_random_read
   529                           ;	_address assigned to ?a_I_random_read+0
   530  0000                     _I_random_read$address	set	?a_I_random_read
   531                           ;_address stored from w
   532  07B9  0183               	clrf	3	;select bank 0
   533  07BA  00A5               	movwf	?a_I_random_read
   534                           ;tsl5621.c: 202: start_i2c();
   535  07BB  2720               	fcall	_start_i2c
   536                           ;tsl5621.c: 203: send_byte(0xa0);
   537  07BC  30A0               	movlw	-96
   538  07BD  26E8               	fcall	_send_byte
   539                           ;tsl5621.c: 204: if (ack==0) iic_error();
   540  07BE  08A0               	movf	_ack
   541  07BF  1D03               	btfss	3,2
   542  07C0  2FC2               	goto	l43
   543  07C1  26DA               	fcall	_iic_error
   544  07C2                     l43
   545                           ;tsl5621.c: 205: send_byte(address);
   546  07C2  0825               	movf	?a_I_random_read,w
   547  07C3  26E8               	fcall	_send_byte
   548                           ;tsl5621.c: 206: if (ack==0) iic_error();
   549  07C4  08A0               	movf	_ack
   550  07C5  1D03               	btfss	3,2
   551  07C6  2FC8               	goto	l44
   552  07C7  26DA               	fcall	_iic_error
   553  07C8                     l44
   554                           ;tsl5621.c: 207: start_i2c();
   555  07C8  2720               	fcall	_start_i2c
   556                           ;tsl5621.c: 208: send_byte(0xa1);
   557  07C9  30A1               	movlw	-95
   558  07CA  26E8               	fcall	_send_byte
   559                           ;tsl5621.c: 209: if (ack==0) iic_error();
   560  07CB  08A0               	movf	_ack
   561  07CC  1D03               	btfss	3,2
   562  07CD  2FCF               	goto	l45
   563  07CE  26DA               	fcall	_iic_error
   564  07CF                     l45
   565                           ;tsl5621.c: 210: data=receive_byte();
   566  07CF  2698               	fcall	_receive_byte
   567  07D0  00A2               	movwf	_data
   568                           ;tsl5621.c: 211: stop_i2c();
   569  07D1  26BC               	fcall	_stop_i2c
   570                           ;tsl5621.c: 212: return (data);
   571  07D2  0822               	movf	_data,w
   572                           ;tsl5621.c: 214: }
   573  07D3  0008               	return
   574  07D4                     _iic_initial
   575                           ;tsl5621.c: 27: TRISB=0XFF;
   576  07D4  30FF               	movlw	-1
   577  07D5  1683               	bsf	3,5
   578  07D6  1303               	bcf	3,6	;carry unused
   579  07D7  0086               	movwf	6	;volatile
   580                           ;tsl5621.c: 28: PORTB=0X00;
   581  07D8  1283               	bcf	3,5
   582  07D9  0186               	clrf	6	;volatile
   583                           ;tsl5621.c: 29: }
   584  07DA  0008               	return
   585                           ;tsl5621.c: 247: void main(void)
   586                           ;tsl5621.c: 248: {
   587  07DB                     _main
   588                           ;tsl5621.c: 249: TRISC=0X00;
   589  07DB  1683               	bsf	3,5
   590  07DC  1303               	bcf	3,6	;carry unused
   591  07DD  0187               	clrf	7	;volatile
   592                           ;tsl5621.c: 250: PORTC=0X00;
   593  07DE  1283               	bcf	3,5
   594  07DF  0187               	clrf	7	;volatile
   595                           ;tsl5621.c: 251: iic_initial();
   596  07E0  27D4               	fcall	_iic_initial
   597                           ;tsl5621.c: 253: I_send_str(0xa0,0x00,code,9);
   598  07E1  01A5               	clrf	?_I_send_str
   599  07E2  302D               	movlw	_code
   600  07E3  00A6               	movwf	?_I_send_str+1
   601  07E4  3009               	movlw	9
   602  07E5  00A7               	movwf	?_I_send_str+2
   603  07E6  30A0               	movlw	-96
   604  07E7  2735  118A         	fcall	_I_send_str
   605                           ;tsl5621.c: 255: delay_250ms();
   606  07E9  26CD               	fcall	_delay_250ms
   607                           ;tsl5621.c: 256: asm("clrwdt");
   608  07EA  0064               	clrwdt	;#
   609                           ;tsl5621.c: 260: I_random_read(0x02);
   610  07EB  3002               	movlw	2
   611  07EC  27B9  118A         	fcall	_I_random_read
   612                           ;tsl5621.c: 262: if(data==0x03)
   613  07EE  0822               	movf	_data,w
   614  07EF  3A03               	xorlw	3
   615  07F0  1D03               	btfss	3,2
   616  07F1  2FF4               	goto	l55
   617                           ;tsl5621.c: 263: { RC3=1;
   618  07F2  1587               	bsf	7,3

⌨️ 快捷键说明

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