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

📄 i2c_yj.lst

📁 PIC单片机I2C接口(硬件模块和软件模拟)PCF8583实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   464  01D4  6ED9               	movwf	fsr2l,c
   465  01D6  0E05               	movlw	high _str
   466  01D8  6EDA               	movwf	fsr2h,c
   467                           ;i2c_yj.c: 121: if(x<0){
   468  01DA  0100               	movlb	__Lparam shr (0+8)
   469  01DC  AFF8               	btfss	(?_itoa+1)^(__Lparam& (0+65280)),7
   470  01DE  D00C               	goto	l42
   471                           ;i2c_yj.c: 122: *p2++='-';
   472  01E0  CFD9 FFE9          	movff	fsr2l,fsr0l
   473  01E4  CFDA FFEA          	movff	fsr2h,fsr0h
   474  01E8  4AD9               	infsnz	fsr2l,f,c
   475  01EA  2ADA               	incf	fsr2h,f,c
   476  01EC  0E2D               	movlw	45
   477  01EE  6EEF               	movwf	indf0,c
   478                           ;i2c_yj.c: 123: x=-x;
   479  01F0  6DF7               	negf	?_itoa^(__Lparam& (0+65280))
   480  01F2  1FF8               	comf	(?_itoa+1)^(__Lparam& (0+65280)),f
   481  01F4  B0D8               	btfsc	status,0,c
   482  01F6  2BF8               	incf	(?_itoa+1)^(__Lparam& (0+65280)),f
   483  01F8                     l42:
   484                           ;i2c_yj.c: 124: }
   485  01F8  C0F7  FFF6         	movff	?_itoa,tblptrl
   486  01FC  C0F8  FFF7         	movff	?_itoa+1,tblptrh
   487                           ;i2c_yj.c: 126: p=str1;
   488  0200  0EFA               	movlw	low (?a_itoa+1)
   489  0202  6EF3               	movwf	prodl,c
   490  0204  0E00               	movlw	high (?a_itoa+1)
   491  0206  6EF4               	movwf	prodh,c
   492                           ;i2c_yj.c: 127: j=0;
   493  0208  0100               	movlb	__Lparam shr (0+8)
   494  020A  6BF9               	clrf	?a_itoa^(__Lparam& (0+65280))
   495                           ;i2c_yj.c: 128: while(n!=0){
   496  020C                     l43:
   497                           ;i2c_yj.c: 133: }
   498  020C  50F7               	movf	tblptrh,w,c
   499  020E  10F6               	iorwf	tblptrl,w,c
   500  0210  B4D8               	btfsc	status,2,c
   501  0212  D024               	goto	u140
   502                           ;i2c_yj.c: 129: chn=n%10;
   503  0214  0E0A               	movlw	10
   504  0216  6E02               	movwf	btemp+2
   505  0218  6A03               	clrf	btemp+3
   506  021A  CFF6 F000          	movff	tblptrl,btemp
   507  021E  CFF7 F001          	movff	tblptrh,btemp+1
   508  0222  ECDB  F002         	call	lwmod
   509  0226  5000               	movf	btemp,w
   510  0228  6EE1               	movwf	fsr1l,c
   511                           ;i2c_yj.c: 130: n=n/10;
   512  022A  0E0A               	movlw	10
   513  022C  6E02               	movwf	btemp+2
   514  022E  6A03               	clrf	btemp+3
   515  0230  CFF6 F000          	movff	tblptrl,btemp
   516  0234  CFF7 F001          	movff	tblptrh,btemp+1
   517  0238  ECDB  F002         	call	lwdiv
   518  023C  C004  FFF6         	movff	btemp+4,tblptrl
   519  0240  C005  FFF7         	movff	btemp+5,tblptrh
   520                           ;i2c_yj.c: 131: *p++=chn+'0';
   521  0244  CFF3 FFE9          	movff	prodl,fsr0l
   522  0248  CFF4 FFEA          	movff	prodh,fsr0h
   523  024C  4AF3               	infsnz	prodl,f,c
   524  024E  2AF4               	incf	prodh,f,c
   525  0250  50E1               	movf	fsr1l,w,c
   526  0252  0F30               	addlw	48
   527  0254  6EEF               	movwf	indf0,c
   528                           ;i2c_yj.c: 132: j++;
   529  0256  0100               	movlb	__Lparam shr (0+8)
   530  0258  2BF9               	incf	?a_itoa^(__Lparam& (0+65280)),f
   531  025A  D7D8               	goto	l43
   532  025C                     u140:
   533                           ;i2c_yj.c: 134: if(j!=0){
   534  025C  0100               	movlb	__Lparam shr (0+8)
   535  025E  51F9               	movf	?a_itoa^(__Lparam& (0+65280)),w
   536  0260  B4D8               	btfsc	status,2,c
   537  0262  D01A               	goto	l46
   538                           ;i2c_yj.c: 135: p--;
   539  0264  06F3               	decf	prodl,f,c
   540  0266  A0D8               	btfss	status,0,c
   541  0268  06F4               	decf	prodh,f,c
   542                           ;i2c_yj.c: 136: for(i=0;i<j;i++)*p2++=*p--;
   543  026A  6A00               	clrf	btemp
   544  026C                     l50:
   545  026C  0100               	movlb	__Lparam shr (0+8)
   546  026E  51F9               	movf	?a_itoa^(__Lparam& (0+65280)),w
   547  0270  5C00               	subwf	btemp,w
   548  0272  B0D8               	btfsc	status,0,c
   549  0274  D019               	goto	l51
   550  0276  CFF3 FFE1          	movff	prodl,fsr1l
   551  027A  CFF4 FFE2          	movff	prodh,fsr1h
   552  027E  06F3               	decf	prodl,f,c
   553  0280  0E00               	movlw	0
   554  0282  5AF4               	subwfb	prodh,f,c
   555  0284  CFD9 FFE9          	movff	fsr2l,fsr0l
   556  0288  CFDA FFEA          	movff	fsr2h,fsr0h
   557  028C  4AD9               	infsnz	fsr2l,f,c
   558  028E  2ADA               	incf	fsr2h,f,c
   559  0290  CFE7 FFEF          	movff	indf1,indf0
   560  0294  2A00               	incf	btemp,f
   561  0296  D7EA               	goto	l50
   562                           ;i2c_yj.c: 137: }
   563  0298                     l46:
   564  0298  CFD9 FFE9          	movff	fsr2l,fsr0l
   565  029C  CFDA FFEA          	movff	fsr2h,fsr0h
   566  02A0  4AD9               	infsnz	fsr2l,f,c
   567  02A2  2ADA               	incf	fsr2h,f,c
   568  02A4  0E30               	movlw	48
   569  02A6  6EEF               	movwf	indf0,c
   570  02A8                     l51:
   571                           ;i2c_yj.c: 139: *p2=0;
   572  02A8  0E00               	movlw	0
   573  02AA  6ADF               	clrf	indf2,c
   574                           ;i2c_yj.c: 140: return;
   575                           ;i2c_yj.c: 141: }
   576  02AC  0012               	return	
   577  02AE  FFFF               	dw	65535
   578  02B0  D790               	goto	f14462
   579                           ;i2c_yj.c: 146: void initial()
   580                           ;i2c_yj.c: 147: {
   581  02B2                     _initial:
   582  02B2  FFFF               	dw	65535
   583  02B4                     f14472:
   584  0000                     
   585                           ;i2c_yj.c: 148: INTCON=0x00;
   586  02B4  6AF2               	clrf	intcon,c	;volatile
   587                           ;i2c_yj.c: 149: ADCON1=0X07;
   588  02B6  0E07               	movlw	7
   589  02B8  6EC1               	movwf	4033,c
   590                           ;i2c_yj.c: 150: PIE1=0;
   591  02BA  6A9D               	clrf	3997,c
   592                           ;i2c_yj.c: 151: PIE2=0;
   593  02BC  6AA0               	clrf	4000,c
   594                           ;i2c_yj.c: 152: PIE3=0;
   595  02BE  6AA3               	clrf	4003,c
   596                           ;i2c_yj.c: 153: PORTD=0x1f;
   597  02C0  0E1F               	movlw	31
   598  02C2  6E83               	movwf	3971,c	;volatile
   599                           ;i2c_yj.c: 154: TRISD=0x1f;
   600  02C4  6E95               	movwf	3989,c	;volatile
   601                           ;i2c_yj.c: 155: }
   602  02C6  0012               	return	
   603  02C8  FFFF               	dw	65535
   604  02CA  D7F4               	goto	f14472
   605                           ;i2c_yj.c: 160: void I2C_Initial()
   606                           ;i2c_yj.c: 161: {
   607  02CC                     _I2C_Initial:
   608  02CC  FFFF               	dw	65535
   609  02CE                     f14482:
   610  0000                     
   611                           ;i2c_yj.c: 162: SSPCON1=0X08;
   612  02CE  0E08               	movlw	8
   613  02D0  6EC6               	movwf	4038,c	;volatile
   614                           ;i2c_yj.c: 163: TRISC=TRISC|0X08;
   615  02D2  8694               	bsf	3988,3,c	;volatile
   616                           ;i2c_yj.c: 164: TRISC=TRISC|0X10;
   617  02D4  8894               	bsf	3988,4,c	;volatile
   618                           ;i2c_yj.c: 167: SSPADD=31;
   619  02D6  0E1F               	movlw	31
   620  02D8  6EC8               	movwf	4040,c
   621                           ;i2c_yj.c: 170: SSPSTAT=0X80;
   622  02DA  0E80               	movlw	128
   623  02DC  6EC7               	movwf	4039,c	;volatile
   624                           ;i2c_yj.c: 171: SSPCON2=0;
   625  02DE  6AC5               	clrf	4037,c	;volatile
   626                           ;i2c_yj.c: 173: SSPIF=0;
   627  02E0  969E               	bcf	3998,3,c	;volatile
   628                           ;i2c_yj.c: 174: SSPEN=1;
   629  02E2  8AC6               	bsf	4038,5,c
   630                           ;i2c_yj.c: 175: }
   631  02E4  0012               	return	
   632  02E6  FFFF               	dw	65535
   633  02E8  D7F2               	goto	f14482
   634                           ;i2c_yj.c: 177: void WrtAckTest(void)
   635                           ;i2c_yj.c: 178: {
   636  02EA                     _WrtAckTest:
   637  02EA  FFFF               	dw	65535
   638  02EC                     f14492:
   639  0000                     
   640  02EC                     l57:
   641                           ;i2c_yj.c: 180: do {;}while(SSPIF==0);
   642  02EC  A69E               	btfss	3998,3,c	;volatile
   643  02EE  D7FE               	goto	l57
   644                           ;i2c_yj.c: 181: SSPIF=0;
   645  02F0  969E               	bcf	3998,3,c	;volatile
   646                           ;i2c_yj.c: 182: }
   647  02F2  0012               	return	
   648  02F4  FFFF               	dw	65535
   649  02F6  D7FA               	goto	f14492
   650                           ;i2c_yj.c: 184: void I2C_IDLE(void)
   651                           ;i2c_yj.c: 185: {
   652  02F8                     _I2C_IDLE:
   653  02F8  FFFF               	dw	65535
   654  02FA                     f14502:
   655  0000                     
   656  02FA                     l61:
   657                           ;i2c_yj.c: 186: do {;}while((SSPSTAT&0X04)==1);
   658  02FA  CFC7 F000          	movff	4039,btemp	;volatile
   659  02FE  0E04               	movlw	4
   660  0300  1600               	andwf	btemp,f
   661  0302  0400               	decf	btemp,w
   662  0304  B4D8               	btfsc	status,2,c
   663  0306  D7F9               	goto	l61
   664  0308                     l64:
   665                           ;i2c_yj.c: 187: do {;}while((SSPCON2&0X1F)==1);
   666  0308  CFC5 F000          	movff	4037,btemp	;volatile
   667  030C  0E1F               	movlw	31
   668  030E  1600               	andwf	btemp,f
   669  0310  0400               	decf	btemp,w
   670  0312  A4D8               	btfss	status,2,c
   671                           ;i2c_yj.c: 188: }
   672  0314  0012               	return	
   673  0316  D7F8               	goto	l64
   674  0318  FFFF               	dw	65535
   675  031A  D7EF               	goto	f14502
   676  031C  00F7               	dw	?_Initial_8583
   677  031E                     _Initial_8583:
   678  031E  FFFF               	dw	65535
   679  0320                     f14512:
   680  0000                     
   681                           ; _address loaded to fsr1l
   682  0320  6EE1               	movwf	fsr1l,c
   683                           ;i2c_yj.c: 192: char i;
   684  0322  DFEA               	call	_I2C_IDLE	;wreg free
   685                           ;i2c_yj.c: 195: SEN=1;
   686  0324  80C5               	bsf	4037,0,c	;volatile
   687                           ;i2c_yj.c: 196: WrtAckTest();
   688  0326  DFE1               	call	_WrtAckTest	;wreg free
   689                           ;i2c_yj.c: 198: SSPBUF=0xA2;
   690  0328  0EA2               	movlw	162
   691  032A  6EC9               	movwf	4041,c	;volatile
   692                           ;i2c_yj.c: 199: WrtAckTest();
   693  032C  DFDE               	call	_WrtAckTest	;wreg free
   694                           ;i2c_yj.c: 201: SSPBUF=address;
   695  032E  50E1               	movf	fsr1l,w,c
   696  0330  6EC9               	movwf	4041,c	;volatile
   697                           ;i2c_yj.c: 202: WrtAckTest();
   698  0332  DFDB               	call	_WrtAckTest	;wreg free
   699                           ;i2c_yj.c: 205: for(i=0;i<n;i++)
   700  0334  6AD9               	clrf	fsr2l,c
   701  0336                     l69:
   702  0336  0100               	movlb	__Lparam shr (0+8)

⌨️ 快捷键说明

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