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

📄 plane051011v02.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 5 页
字号:
  1169  00022E             
  1170  00022E   C233(2)  	call	keyin
  1171  00022F   C25D(2)  	call	keychk
  1172  000230   C26F(2)  	call	keycvt
  1173  000231   8232(2)  	jmp	mnkey90
  1174  000232             
  1175  000232             mnkey90:
  1176  000232   0E00(2)  	ret
  1177  000233             ;**********************************************
  1178  000233             ;Name	:keyin
  1179  000233             ;Function:
  1180  000233             ;Input  :
  1181  000233             ;Output	:
  1182  000233             ;Register Used:
  1183  000233             ;***********************************************
  1184  000233             keyin:
  1185  000233   2B02(1)  	clr	keyinbuf
  1186  000234   582A(1+S)  	bts1	csxenbflag
  1187  000235   823F(2)  	jmp	keyin10
  1188  000236   70D5(1+S)  	b0bts0	ptcsx1
  1189  000237   4802(1)  	bset	keyinbuf.0
  1190  000238             
  1191  000238   71D5(1+S)  	b0bts0	ptcsx2
  1192  000239   4902(1)  	bset	keyinbuf.1
  1193  00023A             
  1194  00023A   72D5(1+S)  	b0bts0	ptcsx3
  1195  00023B   4A02(1)  	bset	keyinbuf.2
  1196  00023C             	
  1197  00023C   73D5(1+S)  	b0bts0	ptcsx4
  1198  00023D   4B02(1)  	bset	keyinbuf.3
  1199  00023E   8248(2)  	jmp	keyin20
  1200  00023F             keyin10:
  1201  00023F   1E05(1)  	mov	a,keyoldbuf
  1202  000240   2AF0(1)  	and	a,#11110000b
  1203  000241   1F05(1)  	mov	keyoldbuf,a
  1204  000242   1E03(1)  	mov	a,keychkbuf
  1205  000243   2AF0(1)  	and	a,#11110000b
  1206  000244   1F03(1)  	mov	keychkbuf,a
  1207  000245   1E04(1)  	mov	a,keycvtbuf
  1208  000246   2AF0(1)  	and	a,#11110000b
  1209  000247   1F04(1)  	mov	keycvtbuf,a
  1210  000248             keyin20:
  1211  000248   592A(1+S)  	bts1	csyenbflag
  1212  000249   8253(2)  	jmp	keyin30		
  1213  00024A   74D5(1+S)  	b0bts0	ptcsy1
  1214  00024B   4C02(1)  	bset	keyinbuf.4
  1215  00024C             
  1216  00024C   75D5(1+S)  	b0bts0	ptcsy2
  1217  00024D   4D02(1)  	bset	keyinbuf.5
  1218  00024E             
  1219  00024E   76D5(1+S)  	b0bts0	ptcsy3
  1220  00024F   4E02(1)  	bset	keyinbuf.6
  1221  000250             	
  1222  000250   77D5(1+S)  	b0bts0	ptcsy4
  1223  000251   4F02(1)  	bset	keyinbuf.7
  1224  000252   825C(2)  	jmp	keyin90
  1225  000253             keyin30:
  1226  000253   1E05(1)  	mov	a,keyoldbuf
  1227  000254   2A0F(1)  	and	a,#00001111b
  1228  000255   1F05(1)  	mov	keyoldbuf,a
  1229  000256   1E03(1)  	mov	a,keychkbuf
  1230  000257   2A0F(1)  	and	a,#00001111b
  1231  000258   1F03(1)  	mov	keychkbuf,a
  1232  000259   1E04(1)  	mov	a,keycvtbuf
  1233  00025A   2A0F(1)  	and	a,#00001111b
  1234  00025B   1F04(1)  	mov	keycvtbuf,a		
  1235  00025C             keyin90:
  1236  00025C   0E00(2)  	ret
  1237  00025D             ;**********************************************
  1238  00025D             ;Name	:keychk
  1239  00025D             ;Function:
  1240  00025D             ;Input  :
  1241  00025D             ;Output	:
  1242  00025D             ;Register Used:
  1243  00025D             ;***********************************************
  1244  00025D             keychk:
  1245  00025D   1E02(1)  	mov	a,keyinbuf
  1246  00025E   0703(1+S)  	cmprs	a,keychkbuf
  1247  00025F   8269(2)  	jmp	keychk10
  1248  000260   782B(1+S)  	b0bts1	keystatflag
  1249  000261   826E(2)  	jmp	keychk90
  1250  000262   1E06(1)  	mov	a,keychat
  1251  000263   7886(1+S)  	b0bts1	fz
  1252  000264   826E(2)  	jmp	keychk90
  1253  000265   1E03(1)  	mov	a,keychkbuf
  1254  000266   1F04(1)  	mov	keycvtbuf,a
  1255  000267   402B(1)  	bclr	keystatflag
  1256  000268   826E(2)  	jmp	keychk90
  1257  000269             keychk10:
  1258  000269   482B(1)  	bset	keystatflag
  1259  00026A             	mov_	keychkbuf,keyinbuf
  1260  00026A   1E02(1)  	mov	a, keyinbuf
  1261  00026B   1F03(1)  	mov	keychkbuf, a
  1262  00026C             	mov_	keychat,#2
  1263  00026C   2D02(1)  	mov	a, #2
  1264  00026D   1F06(1)  	mov	keychat, a
  1265  00026E             keychk90:
  1266  00026E   0E00(2)  	ret
  1267  00026F             ;**********************************************
  1268  00026F             ;Name	:keycvt
  1269  00026F             ;Function:
  1270  00026F             ;Input  :
  1271  00026F             ;Output	:
  1272  00026F             ;Register Used:
  1273  00026F             ;***********************************************	
  1274  00026F             keycvt:
  1275  00026F   1E04(1)  	mov	a,keycvtbuf	
  1276  000270   2A0F(1)  	and	a,#00001111b
  1277  000271   1F27(1)  	mov	r1,a
  1278  000272   1E05(1)  	mov	a,keyoldbuf	
  1279  000273   2A0F(1)  	and	a,#00001111b
  1280  000274   1F28(1)  	mov	r2,a
  1281  000275   0727(1+S)  	cmprs	a,r1
  1282  000276   827B(2)  	jmp	keycvtcsx10
  1283  000277   1E04(1)  	mov	a,keycvtbuf
  1284  000278   0705(1+S)  	cmprs	a,keyoldbuf
  1285  000279   82AC(2)  	jmp	keycvtcsy10
  1286  00027A   82DC(2)  	jmp	keycvt90
  1287  00027B             keycvtcsx10:
  1288  00027B             	
  1289  00027B   1E05(1)  	mov	a,keyoldbuf
  1290  00027C   2AF0(1)  	and	a,#11110000b
  1291  00027D   1827(1)  	or	a,r1
  1292  00027E   1F05(1)  	mov	keyoldbuf,a
  1293  00027F   2A0F(1)  	and	a,#00001111b
  1294  000280   1F07(1)  	mov	csxtable,a
  1295  000281   8282(2)  	jmp	$+1
  1296  000282   8283(2)  	jmp	$+1
  1297  000283   2B24(1)  	clr	tablecount
  1298  000284   0000(1)  nop
  1299  000285   0000(1)  nop
  1300  000286   0000(1)  nop
  1301  000287             chkcsxtable:
  1302  000287             
  1303  000287   3402(1)  	b0mov	y,#tablecsx$m
  1304  000288   33E3(1)  	b0mov	z,#tablecsx$l
  1305  000289   1E24(1)  	mov	a,tablecount
  1306  00028A   1383(1)  	add	z,a
  1307  00028B   2D00(1)  	mov	a,#0
  1308  00028C   1184(1)  	adc	y,a
  1309  00028D   0D00(2)  	movc
  1310  00028E   0707(1+S)  	cmprs	a,csxtable
  1311  00028F   8291(2)  	jmp	csxtableadd	
  1312  000290   8298(2)  	jmp	chkcsxtableend
  1313  000291             csxtableadd:
  1314  000291   1624(1+S)  	incms	tablecount
  1315  000292   0000(1)  	nop
  1316  000293   1E24(1)  	mov	a,tablecount
  1317  000294   240D(1)  	sub	a,#13
  1318  000295   5A86(1+S)  	bts1	fc
  1319  000296   8287(2)  	jmp	chkcsxtable
  1320  000297   82DC(2)  	jmp	keycvt90
  1321  000298             chkcsxtableend:		;根据所测的数据对飞机执行平衡动作
  1322  000298   1E24(1)  	mov	a,tablecount
  1323  000299   2403(1)  	sub	a,#3
  1324  00029A   5A86(1+S)  	bts1	fc
  1325  00029B   82A9(2)  	jmp	keycvtcsx30
  1326  00029C   2405(1)  	sub	a,#5
  1327  00029D   5A86(1+S)  	bts1	fc
  1328  00029E   82A4(2)  	jmp	keycvtcsx20
  1329  00029F   482C(1)  	bset	empensubflag	
  1330  0002A0   2D0D(1)  	mov	a,#13
  1331  0002A1   2224(1)  	sub	a,tablecount
  1332  0002A2   1F08(1)  	mov	csxcalibratebuf,a
  1333  0002A3   82DC(2)  	jmp	keycvt90
  1334  0002A4             		
  1335  0002A4             keycvtcsx20:	
  1336  0002A4   4F2B(1)  	bset	empenaddflag	
  1337  0002A5   1E24(1)  	mov	a,tablecount
  1338  0002A6   2403(1)  	sub	a,#3
  1339  0002A7   1F08(1)  	mov	csxcalibratebuf,a
  1340  0002A8   82DC(2)  	jmp	keycvt90
  1341  0002A9             keycvtcsx30:
  1342  0002A9   482C(1)  	bset	empensubflag	
  1343  0002AA             
  1344  0002AA   2B08(1)  	clr	csxcalibratebuf
  1345  0002AB   82DC(2)  	jmp	keycvt90
  1346  0002AC             keycvtcsy10:
  1347  0002AC   1E04(1)  	mov	a,keycvtbuf
  1348  0002AD   1F05(1)  	mov	keyoldbuf,a
  1349  0002AE   2AF0(1)  	and	a,#11110000b
  1350  0002AF   1F09(1)  	mov	csytable,a
  1351  0002B0   2709(1)  	swapm	csytable
  1352  0002B1   82B2(2)  	jmp	$+1
  1353  0002B2   82B3(2)  	jmp	$+1
  1354  0002B3   2B24(1)  	clr	tablecount
  1355  0002B4   0000(1)  nop
  1356  0002B5   0000(1)  nop
  1357  0002B6   0000(1)  nop
  1358  0002B7             chkcsytable:
  1359  0002B7             
  1360  0002B7   3402(1)  	b0mov	y,#tablecsx$m
  1361  0002B8   33E3(1)  	b0mov	z,#tablecsx$l
  1362  0002B9   1E24(1)  	mov	a,tablecount
  1363  0002BA   1383(1)  	add	z,a
  1364  0002BB   2D00(1)  	mov	a,#0
  1365  0002BC   1184(1)  	adc	y,a
  1366  0002BD   0D00(2)  	movc
  1367  0002BE   0709(1+S)  	cmprs	a,csytable
  1368  0002BF   82C1(2)  	jmp	csytableadd	
  1369  0002C0   82C8(2)  	jmp	chkcsytableend
  1370  0002C1             csytableadd:
  1371  0002C1   1624(1+S)  	incms	tablecount
  1372  0002C2   0000(1)  	nop
  1373  0002C3   1E24(1)  	mov	a,tablecount
  1374  0002C4   240D(1)  	sub	a,#13
  1375  0002C5   5A86(1+S)  	bts1	fc
  1376  0002C6   82B7(2)  	jmp	chkcsytable
  1377  0002C7   82DC(2)  	jmp	keycvt90
  1378  0002C8             chkcsytableend:		;根据所测的数据对飞机执行平衡动作
  1379  0002C8   1E24(1)  	mov	a,tablecount
  1380  0002C9   2403(1)  	sub	a,#3
  1381  0002CA   5A86(1+S)  	bts1	fc
  1382  0002CB   82D9(2)  	jmp	keycvtcsy30
  1383  0002CC   2405(1)  	sub	a,#5
  1384  0002CD   5A86(1+S)  	bts1	fc
  1385  0002CE   82D4(2)  	jmp	keycvtcsy20
  1386  0002CF   4B2A(1)  	bset	wingsubflag	
  1387  0002D0   2D0D(1)  	mov	a,#13
  1388  0002D1   2224(1)  	sub	a,tablecount
  1389  0002D2   1F0A(1)  	mov	csycalibratebuf,a
  1390  0002D3   82DC(2)  	jmp	keycvt90
  1391  0002D4             		
  1392  0002D4             keycvtcsy20:	
  1393  0002D4   4A2A(1)  	bset	wingaddflag	
  1394  0002D5   1E24(1)  	mov	a,tablecount
  1395  0002D6   2403(1)  	sub	a,#3
  1396  0002D7   1F0A(1)  	mov	csycalibratebuf,a
  1397  0002D8   82DC(2)  	jmp	keycvt90
  1398  0002D9             keycvtcsy30:
  1399  0002D9   4B2A(1)  	bset	wingsubflag	
  1400  0002DA             
  1401  0002DA   2B0A(1)  	clr	csycalibratebuf
  1402  0002DB   82DC(2)  	jmp	keycvt90
  1403  0002DC             	
  1404  0002DC             keycvt90:
  1405  0002DC   0E00(2)  	ret	
  1406  0002DD             ;**********************************************
  1407  0002DD             ;Name	:dkeychat
  1408  0002DD             ;Function:
  1409  0002DD             ;Input  :
  1410  0002DD             ;Output	:
  1411  0002DD             ;Register Used:
  1412  0002DD             ;***********************************************	
  1413  0002DD             dkeychat:
  1414  0002DD   2E06(1)          b0mov   A,keychat
  1415  0002DE   7086(1+S)          b0bts0  fz              ; is keychat <> 0
  1416  0002DF   82E2(2)          jmp     dkeychat90      ; is A = 0
  1417  0002E0   2606(1+S)          decms   keychat         ; keychat --
  1418  0002E1   82E2(2)          jmp     dkeychat90
  1419  0002E2             
  1420  0002E2             dkeychat90:
  1421  0002E2   0E00(2)      ret
  1422  0002E3             ;***********************************************
  1423  0002E3             tablecsx:
  1424  0002E3   000F(1)  	dw	0fh	;0	不响应
  1425  0002E4   0006(1)  	dw	06h	;1	0度
  1426  0002E5   000E(1)  	dw	0eh	;2	0-90之间
  1427  0002E6   0001(1)  	dw	01h	;3	45度
  1428  0002E7   000C(1)  	dw	0ch	;4	90度
  1429  0002E8   000D(1)  	dw	0dh	;5	90-180之间
  1430  0002E9   0002(1)  	dw	02h	;6	135度	
  1431  0002EA   0009(1)  	dw	09h	;7	180度
  1432  0002EB   000B(1)  	dw	0bh	;8	180-270之间
  1433  0002EC   0004(1)  	dw	04h	;9	225度
  1434  0002ED   0003(1)  	dw	03h	;10	270度	
  1435  0002EE   0007(1)  	dw	07h	;11	270-360之间
  1436  0002EF   0008(1)  	dw	08h	;12	315度		
  1437  0002F0                  
  1438  0002F0             
  1439  0002F0             /*
  1440  0002F0             	dw	09h	;1	0度
  1441  0002F0             	dw	00h	;2
  1442  0002F0             	dw	01h	;3
  1443  0002F0             	dw	00h	;4
  1444  0002F0             	dw	01h	;5
  1445  0002F0             	dw	00h	;6
  1446  0002F0             	dw	01h	;7
  1447  0002F0             	dw	0eh	;8	45度
  1448  0002F0             	dw	01h	;9
  1449  0002F0             	dw	00h	;10
  1450  0002F0             	dw	01h	;11
  1451  0002F0             	dw	00h	;12
  1452  0002F0             	dw	01h	;13
  1453  0002F0             	dw	00h	;14
  1454  0002F0             	dw	03h	;15	90度
  1455  0002F0             	dw	00h	;16
  1456  0002F0             	dw	02h	;17
  1457  0002F0             	dw	00h	;18
  1458  0002F0   

⌨️ 快捷键说明

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