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

📄 rs485.lst

📁 SPI FLASH,SL811HST驱动
💻 LST
📖 第 1 页 / 共 3 页
字号:
   229  372C  5177               	movf	?_delay_nus^(__Lparam& (0+65280)),w
   230  372E  5CF3               	subwf	prodl,w,c
   231  3730                     u15:
   232  3730  B0D8               	btfsc	status,0,c
   233  3732  D005               	goto	u10
   234                           ;rs485.c: 138: delay_1us();
   235  3734  DFEC               	call	_delay_1us	;wreg free
   236  3736  2AF3               	incf	prodl,f,c
   237  3738  0E00               	movlw	0
   238  373A  22F4               	addwfc	prodh,f,c
   239  373C  D7F3               	goto	l9
   240  373E                     u10:
   241                           ;rs485.c: 139: }
   242  373E  0012               	return	
   243  3740  FFFF               	dw	65535
   244  3742  D7EC               	goto	f4572
   245                           ;rs485.c: 149: void delay_1ms()
   246                           ;rs485.c: 150: {
   247  3744                     _delay_1ms:
   248  3744  FFFF               	dw	65535
   249  3746                     f4582:
   250  0000                     
   251                           ;rs485.c: 151: unsigned int i;
   252  3746  6AF3               	clrf	prodl,c
   253  3748  6AF4               	clrf	prodh,c
   254  374A                     l11:
   255                           ;rs485.c: 153: ;
   256  374A  2AF3               	incf	prodl,f,c
   257  374C  0E00               	movlw	0
   258  374E  22F4               	addwfc	prodh,f,c
   259  3750  0E04               	movlw	4
   260  3752  5CF4               	subwf	prodh,w,c
   261  3754  0E74               	movlw	116
   262  3756  B4D8               	btfsc	status,2,c
   263  3758  5CF3               	subwf	prodl,w,c
   264  375A  B0D8               	btfsc	status,0,c
   265                           ;rs485.c: 154: }
   266  375C  0012               	return	
   267  375E  D7F5               	goto	l11
   268  3760  FFFF               	dw	65535
   269  3762  D7F1               	goto	f4582
   270                           ;rs485.c: 164: void delay_nms( unsigned int n )
   271                           ;rs485.c: 165: {
   272                           ;       param _n assigned to ?_delay_nms+0
   273  3764  008D               	dw	?_delay_nms
   274  3766                     _delay_nms:
   275  3766  FFFF               	dw	65535
   276  3768                     f4592:
   277  0000                     
   278                           ;rs485.c: 166: unsigned int i = 0;
   279  3768  6AF6               	clrf	tblptrl,c
   280  376A  6AF7               	clrf	tblptrh,c
   281                           ;rs485.c: 167: for (i = 0; i < n; i++ )
   282  376C  6AF6               	clrf	tblptrl,c
   283  376E  6AF7               	clrf	tblptrh,c
   284  3770                     l18:
   285  3770  0100               	movlb	__Lparam shr (0+8)
   286  3772  518E               	movf	(?_delay_nms+1)^(__Lparam& (0+65280)),w
   287  3774  5CF7               	subwf	tblptrh,w,c
   288  3776  E102               	bnz	u35
   289  3778  518D               	movf	?_delay_nms^(__Lparam& (0+65280)),w
   290  377A  5CF6               	subwf	tblptrl,w,c
   291  377C                     u35:
   292  377C  B0D8               	btfsc	status,0,c
   293  377E  D005               	goto	u30
   294                           ;rs485.c: 168: delay_1ms();
   295  3780  DFE1               	call	_delay_1ms	;wreg free
   296  3782  2AF6               	incf	tblptrl,f,c
   297  3784  0E00               	movlw	0
   298  3786  22F7               	addwfc	tblptrh,f,c
   299  3788  D7F3               	goto	l18
   300  378A                     u30:
   301                           ;rs485.c: 169: }
   302  378A  0012               	return	
   303  378C  FFFF               	dw	65535
   304  378E  D7EC               	goto	f4592
   305                           ;rs485.c: 178: unsigned char crc8(unsigned char 
      +                          *ptr, unsigned char len)
   306                           ;rs485.c: 179: {
   307                           ;       param _ptr assigned to ?_crc8+0
   308  3790  008A               	dw	?_crc8
   309  3792                     _crc8:
   310  3792  FFFF               	dw	65535
   311  3794                     f4602:
   312  0000                     
   313                           ; _ptr loaded to fsr1
   314  3794  C08A  FFE1         	movff	?_crc8,fsr1l
   315  3798  C08B  FFE2         	movff	?_crc8+1,fsr1h
   316                           ;rs485.c: 180: unsigned char i;
   317  379C  6AD9               	clrf	fsr2l,c
   318                           ;rs485.c: 182: while( ( len-- ) != 0 )
   319  379E                     l20:
   320                           ;rs485.c: 197: }
   321  379E  0100               	movlb	__Lparam shr (0+8)
   322  37A0  078C               	decf	(?_crc8+2)^(__Lparam& (0+65280)),f
   323  37A2  298C               	incf	(?_crc8+2)^(__Lparam& (0+65280)),w
   324  37A4  B4D8               	btfsc	status,2,c
   325  37A6  D018               	goto	u70
   326                           ;rs485.c: 183: {
   327  37A8  0E01               	movlw	1
   328  37AA  6EE9               	movwf	fsr0l,c
   329  37AC                     l23:
   330                           ;rs485.c: 187: {
   331  37AC  90D8               	bcf	status,0,c
   332                           ;rs485.c: 185: {
   333                           ;rs485.c: 186: if( ( crc & 1 ) != 0 )
   334  37AE  A0D9               	btfss	fsr2l,0,c
   335  37B0  D004               	goto	L1
   336  37B2  32D9               	rrcf	fsr2l,f,c
   337                           ;rs485.c: 189: crc ^= 0x8C;
   338  37B4  0E8C               	movlw	140
   339  37B6  1AD9               	xorwf	fsr2l,f,c
   340                           ;rs485.c: 190: }
   341  37B8  D001               	goto	l27
   342                           ;rs485.c: 192: crc /= 2;
   343  37BA                     L1:
   344  37BA  32D9               	rrcf	fsr2l,f,c
   345  37BC                     l27:
   346                           ;rs485.c: 193: if( ( *ptr & i ) != 0 )
   347  37BC  50E7               	movf	indf1,w,c
   348  37BE  6E00               	movwf	btemp
   349  37C0  14E9               	andwf	fsr0l,w,c
   350  37C2  B4D8               	btfsc	status,2,c
   351  37C4  D002               	goto	l28
   352                           ;rs485.c: 194: crc ^= 0x8C;
   353  37C6  0E8C               	movlw	140
   354  37C8  1AD9               	xorwf	fsr2l,f,c
   355  37CA                     l28:
   356                           ;rs485.c: 195: }
   357  37CA  90D8               	bcf	status,0,c
   358  37CC  36E9               	rlcf	fsr0l,f,c
   359  37CE  50E9               	movf	fsr0l,w,c
   360  37D0  A4D8               	btfss	status,2,c
   361  37D2  D7EC               	goto	l23
   362                           ;rs485.c: 196: ptr++;
   363  37D4  52E6               	movf	postinc1,f,c
   364  37D6  D7E3               	goto	l20
   365  37D8                     u70:
   366                           ;rs485.c: 198: return( crc );
   367  37D8  50D9               	movf	fsr2l,w,c
   368                           ;rs485.c: 199: }
   369  37DA  0012               	return	
   370  37DC  FFFF               	dw	65535
   371  37DE  D7DA               	goto	f4602
   372  37E0  008A               	dw	?_SendData
   373  37E2                     _SendData:
   374  37E2  FFFF               	dw	65535
   375  37E4                     f4612:
   376  0000                     
   377                           ;rs485.c: 210: unsigned char i = 0;
   378  37E4  6AD9               	clrf	fsr2l,c
   379                           ;rs485.c: 211: RC2 = 1;
   380  37E6  8482               	bsf	3970,2,c	;volatile
   381                           ;rs485.c: 212: while( i < len )
   382  37E8                     l30:
   383                           ;rs485.c: 220: }
   384  37E8  0100               	movlb	__Lparam shr (0+8)
   385  37EA  518C               	movf	(?_SendData+2)^(__Lparam& (0+65280)),w
   386  37EC  5CD9               	subwf	fsr2l,w,c
   387  37EE  B0D8               	btfsc	status,0,c
   388  37F0  D011               	goto	u90
   389                           ;rs485.c: 213: {
   390  37F2  50D9               	movf	fsr2l,w,c
   391  37F4  258A               	addwf	?_SendData^(__Lparam& (0+65280)),w
   392  37F6  6EE9               	movwf	fsr0l,c
   393  37F8  0E00               	movlw	0
   394  37FA  218B               	addwfc	(?_SendData+1)^(__Lparam& (0+65280)),w
   395  37FC  6EEA               	movwf	fsr0h
   396  37FE  50EF               	movf	indf0,w,c
   397  3800  6EAD               	movwf	4013,c	;volatile
   398                           ;rs485.c: 216: while( TXIF == 0 );
   399  3802                     l33:
   400  3802  A89E               	btfss	3998,4,c	;volatile
   401  3804  D7FE               	goto	l33
   402                           ;rs485.c: 217: i++;
   403  3806  2AD9               	incf	fsr2l,f,c
   404                           ;rs485.c: 219: delay_nms(10);
   405  3808  0E0A               	movlw	10
   406  380A  0100               	movlb	__Lparam shr (0+8)
   407  380C  6F8D               	movwf	?_delay_nms^(__Lparam& (0+65280))
   408  380E  6B8E               	clrf	(?_delay_nms+1)^(__Lparam& (0+65280))
   409  3810  DFAA               	call	_delay_nms	;wreg free
   410  3812  D7EA               	goto	l30
   411  3814                     u90:
   412                           ;rs485.c: 222: RC2 = 0;
   413  3814  9482               	bcf	3970,2,c	;volatile
   414                           ;rs485.c: 223: }
   415  3816  0012               	return	
   416  3818  FFFF               	dw	65535
   417  381A  D7E4               	goto	f4612
   418                           ;rs485.c: 232: void Rs485SendPkg( unsigned char 
      +                          address )
   419                           ;rs485.c: 233: {
   420  381C                     _Rs485SendPkg:
   421  381C  FFFF               	dw	65535
   422  381E                     f4622:
   423  0000                     
   424                           ; _address loaded to fsr2l
   425  381E  6ED9               	movwf	fsr2l,c
   426                           ;rs485.c: 234: RCIE = 0;
   427  3820  9A9D               	bcf	3997,5,c
   428                           ;rs485.c: 235: TXEN = 1;
   429  3822  8AAC               	bsf	4012,5,c
   430                           ;rs485.c: 239: SendBuf[0] = 0x55;
   431  3824  0E55               	movlw	85
   432  3826  CFE8 F5B1          	movff	wreg,_SendBuf
   433                           ;rs485.c: 240: SendBuf[1] = address;
   434  382A  CFD9 F5B2          	movff	fsr2l,_SendBuf+1
   435                           ;rs485.c: 241: SendBuf[3 - 1] = crc8( SendBuf,3 
      +                          - 1 );
   436  382E  0100               	movlb	__Lparam shr (0+8)
   437  3830  0EB1               	movlw	low _SendBuf
   438  3832  6F8A               	movwf	?_crc8^(__Lparam& (0+65280))
   439  3834  0E05               	movlw	high _SendBuf
   440  3836  6F8B               	movwf	(?_crc8+1)^(__Lparam& (0+65280))
   441  3838  0E02               	movlw	2
   442  383A  6F8C               	movwf	(?_crc8+2)^(__Lparam& (0+65280))
   443  383C  DFAA               	call	_crc8	;wreg free
   444  383E  CFE8 F5B3          	movff	wreg,_SendBuf+2
   445                           ;rs485.c: 243: SendData( SendBuf,3 );
   446  3842  0100               	movlb	__Lparam shr (0+8)
   447  3844  0EB1               	movlw	low _SendBuf
   448  3846  6F8A               	movwf	?_SendData^(__Lparam& (0+65280))
   449  3848  0E05               	movlw	high _SendBuf
   450  384A  6F8B               	movwf	(?_SendData+1)^(__Lparam& (0+65280))
   451  384C  0E03               	movlw	3
   452  384E  6F8C               	movwf	(?_SendData+2)^(__Lparam& (0+65280))
   453  3850  DFC8               	call	_SendData	;wreg free
   454                           ;rs485.c: 244: delay_nms(10);
   455  3852  0E0A               	movlw	10
   456  3854  0100               	movlb	__Lparam shr (0+8)
   457  3856  6F8D               	movwf	?_delay_nms^(__Lparam& (0+65280))
   458  3858  6B8E               	clrf	(?_delay_nms+1)^(__Lparam& (0+65280))
   459  385A  DF85               	call	_delay_nms	;wreg free
   460                           ;rs485.c: 247: RCIE = 1;
   461  385C  8A9D               	bsf	3997,5,c
   462                           ;rs485.c: 248: CREN = 1;
   463  385E  88AB               	bsf	4011,4,c

⌨️ 快捷键说明

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