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

📄 modbus.lst

📁 使用Microchip公司16F648实现4*6键盘程序. 在PICC环境下编译通过,包含RS485通讯. 代码完整,可供参考.
💻 LST
📖 第 1 页 / 共 5 页
字号:
   806  0EBE  0ACB               	incf	?a_ParityBitTwo+1
   807  0EBF                     l81
   808                           ;modbus.c: 322: }
   809  0EBF  1003               	bcf	3,0
   810  0EC0  0CCD               	rrf	?a_ParityBitTwo+3
   811                           ;modbus.c: 324: }
   812  0EC1  0BCC               	decfsz	?a_ParityBitTwo+2
   813  0EC2  2EB9               	goto	l78
   814                           ;modbus.c: 325: return(result&0x01);
   815  0EC3  084B               	movf	?a_ParityBitTwo+1,w
   816  0EC4  3901               	andlw	1
   817                           ;modbus.c: 326: }
   818  0EC5  0008               	return
   819                           ;modbus.c: 149: void En_Transmit(void)
   820                           ;modbus.c: 150: {
   821  0EC6                     _En_Transmit
   822                           ;modbus.c: 152: UartStruct.bits.HostStatus = 2;
   823  0EC6  1683               	bsf	3,5
   824  0EC7  1303               	bcf	3,6	;carry unused
   825  0EC8  0824               	movf	_UartStruct^(0+128),w	;volatile
   826  0EC9  39FC               	andlw	-4
   827  0ECA  3802               	iorlw	2
   828  0ECB  00A4               	movwf	_UartStruct^(0+128)	;volatile
   829                           ;modbus.c: 155: sendPosi = 0;
   830  0ECC  01A3               	clrf	_sendPosi^(0+128)	;volatile
   831                           ;modbus.c: 156: if(sendCount>1)
   832  0ECD  3002               	movlw	2
   833  0ECE  0222               	subwf	_sendCount^(0+128),w	;volatile
   834  0ECF  1803               	btfsc	3,0
   835                           ;modbus.c: 157: sendCount--;
   836  0ED0  03A2               	decf	_sendCount^(0+128)	;volatile
   837                           ;modbus.c: 158: TX9D = ParityBitTwo(&sendBuf[se
      +                          ndPosi]);
   838  0ED1  0823               	movf	_sendPosi^(0+128),w	;volatile
   839  0ED2  3EB6               	addlw	_sendBuf
   840  0ED3  1283               	bcf	3,5
   841  0ED4  00C8               	movwf	?_ParityBitTwo
   842  0ED5  3080               	movlw	128
   843  0ED6  00C9               	movwf	?_ParityBitTwo+1
   844  0ED7  26AC               	fcall	_ParityBitTwo
   845  0ED8  00F0               	movwf	btemp
   846  0ED9  0C70               	rrf	btemp,w
   847  0EDA  1683               	bsf	3,5
   848  0EDB  1C03               	btfss	3,0
   849  0EDC  2EDF               	goto	L6
   850  0EDD  1418               	bsf	24,0
   851  0EDE  2EE0               	goto	u44
   852  0EDF                     L6
   853  0EDF  1018               	bcf	24,0
   854  0EE0                     u44
   855                           ;modbus.c: 160: TXREG = sendBuf[0];
   856  0EE0  1683               	bsf	3,5
   857  0EE1  1303               	bcf	3,6	;carry unused
   858  0EE2  0836               	movf	_sendBuf^(0+128),w
   859  0EE3  1283               	bcf	3,5
   860  0EE4  0099               	movwf	25	;volatile
   861                           ;modbus.c: 161: TXEN = 1;
   862  0EE5  1683               	bsf	3,5
   863  0EE6  1698               	bsf	24,5
   864                           ;modbus.c: 162: TXIE = 1;
   865  0EE7  160C               	bsf	12,4
   866                           ;modbus.c: 165: }
   867  0EE8  1283               	bcf	3,5
   868  0EE9  0008               	return
   869  0EEA                     _CRC16
   870                           ;	_puchMsg assigned to ?a_CRC16+0
   871  0000                     _CRC16$puchMsg	set	?a_CRC16
   872                           ;	_uchCRCHi assigned to ?a_CRC16+1
   873  0000                     _CRC16$uchCRCHi	set	?a_CRC16+1
   874                           ;	_uchCRCLo assigned to ?a_CRC16+2
   875  0000                     _CRC16$uchCRCLo	set	?a_CRC16+2
   876                           ;	_uIndex assigned to ?a_CRC16+3
   877  0000                     _CRC16$uIndex	set	?a_CRC16+3
   878                           ;_puchMsg stored from w
   879  0EEA  0183               	clrf	3	;select bank 0
   880  0EEB  00CA               	movwf	?a_CRC16
   881                           ;modbus.c: 296: uchar uchCRCHi = 0xFF ;
   882  0EEC  30FF               	movlw	-1
   883  0EED  00CB               	movwf	?a_CRC16+1
   884                           ;modbus.c: 297: uchar uchCRCLo = 0xFF ;
   885  0EEE  00CC               	movwf	?a_CRC16+2
   886                           ;modbus.c: 298: ulong uIndex ;
   887  0EEF  2F10               	goto	l74
   888  0EF0                     l75
   889                           ;modbus.c: 300: {
   890  0EF0  084A               	movf	?a_CRC16,w
   891  0EF1  0084               	movwf	4
   892  0EF2  1383               	bcf	3,7
   893  0EF3  0800               	movf	0,w
   894  0EF4  064B               	xorwf	?a_CRC16+1,w
   895  0EF5  00CD               	movwf	?a_CRC16+3
   896  0EF6  01CE               	clrf	?a_CRC16+4
   897  0EF7  01CF               	clrf	?a_CRC16+5
   898  0EF8  01D0               	clrf	?a_CRC16+6
   899  0EF9  0ACA               	incf	?a_CRC16
   900                           ;modbus.c: 302: uchCRCHi = uchCRCLo ^ auchCRCHi
      +                          [uIndex] ;
   901  0EFA  084E               	movf	?a_CRC16+4,w
   902  0EFB  3E01               	addlw	high _auchCRCHi
   903  0EFC  00DB               	movwf	code_ptr+1
   904  0EFD  084D               	movf	?a_CRC16+3,w
   905  0EFE  3E24               	addlw	low _auchCRCHi
   906  0EFF  1803               	btfsc	3,0
   907  0F00  0ADB               	incf	code_ptr+1
   908  0F01  118A  210E         	fcall	string_table
   909  0F03  064C               	xorwf	?a_CRC16+2,w
   910  0F04  00CB               	movwf	?a_CRC16+1
   911                           ;modbus.c: 303: uchCRCLo = auchCRCLo[uIndex] ;
   912  0F05  084E               	movf	?a_CRC16+4,w
   913  0F06  3E02               	addlw	high _auchCRCLo
   914  0F07  00DB               	movwf	code_ptr+1
   915  0F08  084D               	movf	?a_CRC16+3,w
   916  0F09  3E24               	addlw	low _auchCRCLo
   917  0F0A  1803               	btfsc	3,0
   918  0F0B  0ADB               	incf	code_ptr+1
   919  0F0C  118A  210E  158A   	fcall	string_table
   920  0F0F  00CC               	movwf	?a_CRC16+2
   921  0F10                     l74
   922                           ;modbus.c: 304: }
   923  0F10  0848               	movf	?_CRC16,w
   924  0F11  1903               	btfsc	3,2
   925  0F12  03C9               	decf	?_CRC16+1
   926  0F13  03C8               	decf	?_CRC16
   927  0F14  0A48               	incf	?_CRC16,w
   928  0F15  1903               	btfsc	3,2
   929  0F16  0A49               	incf	?_CRC16+1,w
   930  0F17  1D03               	btfss	3,2
   931  0F18  2EF0               	goto	l75
   932                           ;modbus.c: 305: return (uchCRCHi << 8 | uchCRCL
      +                          o) ;
   933  0F19  084B               	movf	?a_CRC16+1,w
   934  0F1A  00F1               	movwf	btemp+1
   935  0F1B  01F0               	clrf	btemp
   936  0F1C  084C               	movf	?a_CRC16+2,w
   937  0F1D  04F0               	iorwf	btemp
   938                           ;modbus.c: 306: }
   939  0F1E  0008               	return
   940                           ;modbus.c: 189: void singleKeyTranmit(void)
   941                           ;modbus.c: 190: {
   942  0F1F                     _singleKeyTranmit
   943                           ;	_crcResult assigned to ?a_singleKeyTranmit+0
   944  0000                     _singleKeyTranmit$crcResult	set	?a_singleKeyTra
      +                          nmit
   945                           ;modbus.c: 191: uint crcResult;
   946  0F1F  1283               	bcf	3,5
   947  0F20  1703               	bsf	3,6
   948  0F21  0827               	movf	_Key_V^(0+256),w	;volatile
   949  0F22  00AD               	movwf	_keyHold^(0+256)	;volatile
   950  0F23  0828               	movf	(_Key_V+1)^(0+256),w	;volatile
   951  0F24  00AE               	movwf	(_keyHold+1)^(0+256)	;volatile
   952                           ;modbus.c: 194: sendBuf[0] = 0x01;
   953  0F25  1683               	bsf	3,5
   954  0F26  1303               	bcf	3,6	;carry unused
   955  0F27  01B6               	clrf	_sendBuf^(0+128)
   956  0F28  0AB6               	incf	_sendBuf^(0+128)
   957                           ;modbus.c: 195: sendBuf[1] = 0xaa;
   958  0F29  30AA               	movlw	-86
   959  0F2A  00B7               	movwf	(_sendBuf+1)^(0+128)
   960                           ;modbus.c: 197: switch(keyHold)
   961  0F2B  2F5F               	goto	l34
   962  0F2C                     l35
   963                           ;modbus.c: 198: {
   964  0F2C  1683               	bsf	3,5
   965  0F2D  1303               	bcf	3,6	;carry unused
   966  0F2E  01B8               	clrf	(_sendBuf+2)^(0+128)
   967  0F2F  2F97               	goto	l33
   968  0F30                     l36
   969                           ;modbus.c: 200: case 1: sendBuf[2] = 0x01; brea
      +                          k;
   970  0F30  1683               	bsf	3,5
   971  0F31  1303               	bcf	3,6	;carry unused
   972  0F32  01B8               	clrf	(_sendBuf+2)^(0+128)
   973  0F33  0AB8               	incf	(_sendBuf+2)^(0+128)
   974  0F34  2F97               	goto	l33
   975  0F35                     l37
   976                           ;modbus.c: 201: case 2: sendBuf[2] = 0x02; brea
      +                          k;
   977  0F35  3002               	movlw	2
   978  0F36  2F94               	goto	L28
   979  0F37                     l38
   980                           ;modbus.c: 202: case 3: sendBuf[2] = 0x03; brea
      +                          k;
   981  0F37  3003               	movlw	3
   982  0F38  2F94               	goto	L28
   983  0F39                     l39
   984                           ;modbus.c: 203: case 4: sendBuf[2] = 0x04; brea
      +                          k;
   985  0F39  3004               	movlw	4
   986  0F3A  2F94               	goto	L28
   987  0F3B                     l40
   988                           ;modbus.c: 204: case 5: sendBuf[2] = 0x05; brea
      +                          k;
   989  0F3B  3005               	movlw	5
   990  0F3C  2F94               	goto	L28
   991  0F3D                     l41
   992                           ;modbus.c: 205: case 6: sendBuf[2] = 0x06; brea
      +                          k;
   993  0F3D  3006               	movlw	6
   994  0F3E  2F94               	goto	L28
   995  0F3F                     l42
   996                           ;modbus.c: 206: case 7: sendBuf[2] = 0x07; brea
      +                          k;
   997  0F3F  3007               	movlw	7
   998  0F40  2F94               	goto	L28
   999  0F41                     l43
  1000                           ;modbus.c: 207: case 8: sendBuf[2] = 0x08; brea
      +                          k;
  1001  0F41  3008               	movlw	8
  1002  0F42  2F94               	goto	L28
  1003  0F43                     l44
  1004                           ;modbus.c: 208: case 9: sendBuf[2] = 0x09; brea
      +                          k;
  1005  0F43  3009               	movlw	9
  1006  0F44  2F94               	goto	L28
  1007  0F45                     l45
  1008                           ;modbus.c: 209: case 10: sendBuf[2] = 0x0a; bre
      +                          ak;
  1009  0F45  300A               	movlw	10
  1010  0F46  2F94               	goto	L28
  1011  0F47                     l46
  1012                           ;modbus.c: 210: case 11: sendBuf[2] = 0x0b; bre
      +                          ak;
  1013  0F47  300B               	movlw	11
  1014  0F48  2F94               	goto	L28
  1015  0F49                     l47
  1016                           ;modbus.c: 211: case 13: sendBuf[2] = 13; break
      +                          ;
  1017  0F49  300D               	movlw	13
  1018  0F4A  2F94               	goto	L28
  1019  0F4B                     l48
  1020                           ;modbus.c: 212: case 14: sendBuf[2] = 14; break
      +                          ;
  1021  0F4B  300E               	movlw	14
  1022  0F4C  2F94               	goto	L28
  1023  0F4D                     l49
  1024                           ;modbus.c: 213: case 15: sendBuf[2] = 15; break
      +                          ;
  1025  0F4D  300F               	movlw	15
  1026  0F4E  2F94               	goto	L28
  1027  0F4F                     l50
  1028                           ;modbus.c: 214: case 16: sendBuf[2] = 16; break
      +                          ;
  1029  0F4F  3010               	movlw	16
  1030  0F50  2F94               	goto	L28
  1031  0F51                     l51
  1032                           ;modbus.c: 215: case 17: sendBuf[2] = 17; break
      +                          ;
  1033  0F51  3011               	movlw	17
  1034  0F52  2F94               	goto	L28
  1035  0F53                     l52
  1036                           ;modbus.c: 216: case 18: sendBuf[2] = 18; break
      +                          ;
  1037  0F53  3012               	movlw	18
  1038  0F54  2F94               	goto	L28
  1039  0F55                     l53
  1040                           ;modbus.c: 217: case 19: sendBuf[2] = 19; break
      +                          ;
  1041  0F55  3013               	movlw	19
  1042  0F56  2F94               	goto	L28
  1043  0F57                     l54
  1044                           ;modbus.c: 218: case 20: sendBuf[2] = 20; break
      +                          ;
  1045  0F57  3014               	movlw	20
  1046  0F58  2F94               	goto	L28
  1047  0F59                     l55
  1048                           ;modbus.c: 219: case 21: sendBuf[2] = 21; break
      +                          ;
  1049  0F59  3015               	movlw	21
  1050  0F5A  2F94               	goto	L28
  1051  0F5B                     l56
  1052                           ;modbus.c: 220: case 22: sendBuf[2] = 22; break
      +                          ;

⌨️ 快捷键说明

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