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

📄 modbus.lst

📁 使用Microchip公司16F648实现4*6键盘程序. 在PICC环境下编译通过,包含RS485通讯. 代码完整,可供参考.
💻 LST
📖 第 1 页 / 共 5 页
字号:
  1053  0F5B  3016               	movlw	22
  1054  0F5C  2F94               	goto	L28
  1055                           ;modbus.c: 221: case 23: sendBuf[2] = 24; break
      +                          ;
  1056  0F5D                     l58
  1057                           ;modbus.c: 222: case 24: sendBuf[2] = 24; break
      +                          ;
  1058  0F5D  3018               	movlw	24
  1059  0F5E  2F94               	goto	L28
  1060  0F5F                     l34
  1061  0F5F  1283               	bcf	3,5
  1062  0F60  1703               	bsf	3,6
  1063  0F61  082E               	movf	(_keyHold+1)^(0+256),w	;volatile
  1064  0F62  00F3               	movwf	btemp+3
  1065  0F63  082D               	movf	_keyHold^(0+256),w	;volatile
  1066  0F64  00F2               	movwf	btemp+2
  1067  0F65  2F90               	goto	l30009
  1068  0F66                     l30010
  1069  0F66  0872               	movf	btemp+2,w
  1070  0F67  00F0               	movwf	btemp
  1071  0F68  3EE7               	addlw	-25
  1072  0F69  1803               	btfsc	3,0
  1073  0F6A  2F93               	goto	l59
  1074  0F6B  3E19               	addlw	25
  1075  0F6C  1C03               	btfss	3,0
  1076  0F6D  2F93               	goto	l59
  1077  0F6E  3000               	movlw	0
  1078  0F6F  02F0               	subwf	btemp
  1079  0F70  300F               	movlw	S30012 shr (0+8)
  1080  0F71  008A               	movwf	10
  1081  0F72  3077               	movlw	S30012& (0+255)
  1082  0F73  0770               	addwf	btemp,w
  1083  0F74  1803               	btfsc	3,0
  1084  0F75  0A8A               	incf	10
  1085  0F76  0082               	movwf	2
  1086  0F77                     S30012
  1087  0F77  2F2C               	goto	l35
  1088  0F78  2F30               	goto	l36
  1089  0F79  2F35               	goto	l37
  1090  0F7A  2F37               	goto	l38
  1091  0F7B  2F39               	goto	l39
  1092  0F7C  2F3B               	goto	l40
  1093  0F7D  2F3D               	goto	l41
  1094  0F7E  2F3F               	goto	l42
  1095  0F7F  2F41               	goto	l43
  1096  0F80  2F43               	goto	l44
  1097  0F81  2F45               	goto	l45
  1098  0F82  2F47               	goto	l46
  1099  0F83  2F93               	goto	l59
  1100  0F84  2F49               	goto	l47
  1101  0F85  2F4B               	goto	l48
  1102  0F86  2F4D               	goto	l49
  1103  0F87  2F4F               	goto	l50
  1104  0F88  2F51               	goto	l51
  1105  0F89  2F53               	goto	l52
  1106  0F8A  2F55               	goto	l53
  1107  0F8B  2F57               	goto	l54
  1108  0F8C  2F59               	goto	l55
  1109  0F8D  2F5B               	goto	l56
  1110  0F8E  2F5D               	goto	l58
  1111  0F8F  2F5D               	goto	l58
  1112  0F90                     l30009
  1113  0F90  0873               	movf	btemp+3,w
  1114  0F91  1903               	btfsc	3,2
  1115  0F92  2F66               	goto	l30010
  1116  0F93                     l59
  1117                           ;modbus.c: 223: default:sendBuf[2] = 0x99; brea
      +                          k;
  1118  0F93  3099               	movlw	-103
  1119  0F94                     L28
  1120  0F94  1683               	bsf	3,5
  1121  0F95  1303               	bcf	3,6	;carry unused
  1122  0F96  00B8               	movwf	(_sendBuf+2)^(0+128)
  1123  0F97                     l33
  1124                           ;modbus.c: 225: crcResult = CRC16(sendBuf,3);
  1125  0F97  3003               	movlw	3
  1126  0F98  1283               	bcf	3,5
  1127  0F99  00C8               	movwf	?_CRC16
  1128  0F9A  01C9               	clrf	?_CRC16+1
  1129  0F9B  30B6               	movlw	_sendBuf
  1130  0F9C  26EA               	fcall	_CRC16
  1131  0F9D  0870               	movf	btemp,w
  1132  0F9E  00C6               	movwf	?a_singleKeyTranmit
  1133  0F9F  0871               	movf	btemp+1,w
  1134  0FA0  00C7               	movwf	?a_singleKeyTranmit+1
  1135                           ;modbus.c: 226: sendBuf[3] = (uchar)(crcResult&
      +                          0x00ff);
  1136  0FA1  0846               	movf	?a_singleKeyTranmit,w
  1137  0FA2  1683               	bsf	3,5
  1138  0FA3  00B9               	movwf	(_sendBuf+3)^(0+128)
  1139                           ;modbus.c: 227: sendBuf[4] = (uchar)((crcResult
      +                          &0xff00)>>8);
  1140  0FA4  1283               	bcf	3,5
  1141  0FA5  0847               	movf	?a_singleKeyTranmit+1,w
  1142  0FA6  00F1               	movwf	btemp+1
  1143  0FA7  0846               	movf	?a_singleKeyTranmit,w
  1144  0FA8  00F0               	movwf	btemp
  1145  0FA9  01F0               	clrf	btemp
  1146  0FAA  0871               	movf	btemp+1,w
  1147  0FAB  1683               	bsf	3,5
  1148  0FAC  00BA               	movwf	(_sendBuf+4)^(0+128)
  1149                           ;modbus.c: 228: sendCount = 5;
  1150  0FAD  3005               	movlw	5
  1151  0FAE  00A2               	movwf	_sendCount^(0+128)	;volatile
  1152                           ;modbus.c: 234: En_Transmit();
  1153  0FAF  2EC6               	ljmp	_En_Transmit
  1154                           ;modbus.c: 237: void checkComm0Modbus(void)
  1155                           ;modbus.c: 238: {
  1156  0FB0                     _checkComm0Modbus
  1157                           ;	_crcData assigned to ?a_checkComm0Modbus+0
  1158  0000                     _checkComm0Modbus$crcData	set	?a_checkComm0Modb
      +                          us
  1159                           ;modbus.c: 239: uint crcData;
  1160  0FB0  3005               	movlw	5
  1161  0FB1  1683               	bsf	3,5
  1162  0FB2  1303               	bcf	3,6	;carry unused
  1163  0FB3  0220               	subwf	_receCount^(0+128),w	;volatile
  1164  0FB4  1803               	btfsc	3,0
  1165  0FB5  2FF1               	goto	l63
  1166                           ;modbus.c: 241: {
  1167                           ;modbus.c: 243: {
  1168                           ;modbus.c: 245: break;
  1169                           ;modbus.c: 246: case 2:
  1170                           ;modbus.c: 247: break;
  1171                           ;modbus.c: 248: case 3:
  1172                           ;modbus.c: 249: break;
  1173  0FB6  2FFE               	goto	l60
  1174  0FB7                     l67
  1175                           ;modbus.c: 250: case 0xaa:
  1176                           ;modbus.c: 251: if(receCount >= 5)
  1177  0FB7  3005               	movlw	5
  1178  0FB8  0220               	subwf	_receCount^(0+128),w	;volatile
  1179  0FB9  1C03               	btfss	3,0
  1180  0FBA  2FFE               	goto	l60
  1181                           ;modbus.c: 252: {
  1182  0FBB  0F26               	incfsz	_receBuf^(0+128),w
  1183  0FBC  2FEB               	goto	l69
  1184  0FBD  1283               	bcf	3,5
  1185  0FBE  1820               	btfsc	_errorCheckout/(0+8),_errorCheckout& (0+
      +                          7)
  1186  0FBF  2FEB               	goto	l69
  1187                           ;modbus.c: 260: {
  1188  0FC0  3003               	movlw	3
  1189  0FC1  1283               	bcf	3,5
  1190  0FC2  00C8               	movwf	?_CRC16
  1191  0FC3  01C9               	clrf	?_CRC16+1
  1192  0FC4  30A6               	movlw	_receBuf
  1193  0FC5  26EA               	fcall	_CRC16
  1194  0FC6  0870               	movf	btemp,w
  1195  0FC7  00C6               	movwf	?a_checkComm0Modbus
  1196  0FC8  0871               	movf	btemp+1,w
  1197  0FC9  00C7               	movwf	?a_checkComm0Modbus+1
  1198                           ;modbus.c: 264: if(crcData == receBuf[4]+(receB
      +                          uf[3]<<8))
  1199  0FCA  1683               	bsf	3,5
  1200  0FCB  0829               	movf	(_receBuf+3)^(0+128),w
  1201  0FCC  00F3               	movwf	btemp+3
  1202  0FCD  01F2               	clrf	btemp+2
  1203  0FCE  082A               	movf	(_receBuf+4)^(0+128),w
  1204  0FCF  00F0               	movwf	btemp
  1205  0FD0  01F1               	clrf	btemp+1
  1206  0FD1  0872               	movf	btemp+2,w
  1207  0FD2  07F0               	addwf	btemp
  1208  0FD3  1803               	btfsc	3,0
  1209  0FD4  0AF1               	incf	btemp+1
  1210  0FD5  0873               	movf	btemp+3,w
  1211  0FD6  07F1               	addwf	btemp+1
  1212  0FD7  1283               	bcf	3,5
  1213  0FD8  0847               	movf	?a_checkComm0Modbus+1,w
  1214  0FD9  0671               	xorwf	btemp+1,w
  1215  0FDA  1D03               	btfss	3,2
  1216  0FDB  2FDE               	goto	u105
  1217  0FDC  0846               	movf	?a_checkComm0Modbus,w
  1218  0FDD  0670               	xorwf	btemp,w
  1219  0FDE                     u105
  1220                           ;modbus.c: 265: {
  1221  0FDE  1683               	bsf	3,5
  1222  0FDF  1D03               	btfss	3,2
  1223  0FE0  2FEC               	goto	L29
  1224  0FE1  0828               	movf	(_receBuf+2)^(0+128),w
  1225  0FE2  3A55               	xorlw	85
  1226  0FE3  1D03               	btfss	3,2
  1227  0FE4  2FEB               	goto	l69
  1228                           ;modbus.c: 267: {
  1229  0FE5  3050               	movlw	80
  1230  0FE6  1283               	bcf	3,5
  1231  0FE7  1703               	bsf	3,6
  1232  0FE8  00AB               	movwf	_LedShowLink^(0+256)	;volatile
  1233  0FE9  3006               	movlw	6
  1234  0FEA  00AC               	movwf	(_LedShowLink^(0+256)+1)	;volatile
  1235                           ;modbus.c: 275: }
  1236                           ;modbus.c: 277: }
  1237  0FEB                     l69
  1238                           ;modbus.c: 278: receCount = 0;
  1239  0FEB  1683               	bsf	3,5
  1240  0FEC                     L29
  1241  0FEC  1303               	bcf	3,6	;carry unused
  1242  0FED  01A0               	clrf	_receCount^(0+128)	;volatile
  1243                           ;modbus.c: 279: errorCheckout = 0;
  1244  0FEE  1283               	bcf	3,5
  1245  0FEF  1020               	bcf	_errorCheckout/(0+8),_errorCheckout& (0+7)
  1246                           ;modbus.c: 280: }
  1247                           ;modbus.c: 283: default:
  1248                           ;modbus.c: 284: break;
  1249  0FF0  2FFE               	goto	l60
  1250  0FF1                     l63
  1251  0FF1  0827               	movf	(_receBuf+1)^(0+128),w
  1252  0FF2  3A01               	xorlw	1
  1253  0FF3  1903               	btfsc	3,2
  1254  0FF4  2FFE               	goto	l60
  1255  0FF5  3A03               	xorlw	3
  1256  0FF6  1903               	btfsc	3,2
  1257  0FF7  2FFE               	goto	l60
  1258  0FF8  3A01               	xorlw	1
  1259  0FF9  1903               	btfsc	3,2
  1260  0FFA  2FFE               	goto	l60
  1261  0FFB  3AA9               	xorlw	169
  1262  0FFC  1903               	btfsc	3,2
  1263  0FFD  2FB7               	goto	l67
  1264                           ;modbus.c: 286: }
  1265  0FFE                     l60
  1266  0FFE  1283               	bcf	3,5
  1267  0FFF  0008               	return
  1268                           
  1269                           	psect	text9
  1270  0000                     
  1271  0000                     
  1272  0000                     
  1273  0000                     
  1274  0000                     
  1275  0000                     
  1276  0000                     
  1277  0000                     
  1278  0000                     
  1279  0000                     
  1280  0000                     
  1281  0000                     
  1282  0000                     
  1283  0000                     
  1284  0000                     
  1285  0000                     
  1286  0000                     
  1287  0000                     
  1288  0000                     
  1289  0000                     
  1290  0000                     
  1291  0000                     
  1292  0000                     
  1293  0000                     
  1294  0000                     
  1295  0000                     
  1296  0000                     
  1297  0000                     
  1298  0000                     
  1299  0000                     
  1300  0000                     
  1301  0000                     
  1302  0000                     
  1303  0000                     
  1304  0000                     
  1305  0000                     
  1306  0000                     
  1307  0000                     
  1308  0000                     
  1309  0000                     
  1310  0000                     
  1311  0000                     
  1312  0000                     
  1313  0000                     
  1314  0000                     
  1315  0000                     
  1316  0000             

⌨️ 快捷键说明

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