📄 plane051011v02.lst
字号:
293 000046 2BD5(1) clr p5
294 000047 0E00(2) ret
295 000048 ;***********************************************
296 000048 ;**********************************************
297 000048 ;Name :SysInitial
298 000048 ;Function:
299 000048 ;Input :
300 000048 ;Output :
301 000048 ;Register Used:
302 000048 ;***********************************************
303 000048 SysInitial:
304 000048 2B86(1) clr PFLAG ;pflag = x,x,x,x,x,c,dc,z
305 000049 2D00(1) mov A,#00h ;Clear watchdog timer and initial system mode
306 00004A 2FCA(1) b0mov OSCM,A
307 00004B
308 00004B 2D30(1) mov A,#00110000B
309 00004C 2FD8(1) b0mov T0M,A ; Set the T0 rate=Fcpu/64
310 00004D 2D00(1) mov A,#0h
311 00004E 2FD9(1) b0mov T0C,A
312 00004F 47D8(1) bclr FT0enb ; Enable TIMER0
313 000050 4CC9(1) bset ft0ien ; Enable T0 interrupt
314 000051 44C8(1) bclr ft0irq ; CLEAR TIMER0 INTERRUPT FLAG
315 000052
316 000052 2D74(1) MOV A,#01110100B
317 000053 2FDA(1) B0MOV TC0M,A ;Set the TC0 rate=Fcpu/2
318 000054 2D38(1) mov A,#56;206;131;156;
319 000055
320 000055 ; MOV A,#01100100B
321 000055 ; B0MOV TC0M,A ; Set the TC0 rate=Fcpu/64
322 000055 ; mov A,#206 ;200us
323 000055 2FDB(1) b0mov TC0C,A ; Set the TC0 timer
324 000056 2FCD(1) b0mov tc0r,a
325 000057 ; bclr fpwm0out
326 000057 6FDA(1) b0bset FTC0ENB ; Enable TIMER0
327 000058 4DC9(1) bset FTC0IEN ; Enable TC0 interrupt
328 000059 45C8(1) bclr ftc0irq ; CLEAR TIMER0 INTERRUPT FLAG
329 00005A
330 00005A ; Enable P00 interrup
331 00005A @P00_EDGE 2 ;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;
332 00005A 2D10(1) MOV A,#00010000B
333 00005B 2FBF(1) B0MOV PEDGE,A
334 00005C 60C8(1) b0bclr FP00IRQ
335 00005D 68C9(1) b0bset FP00IEN
336 00005E
337 00005E 6FDF(1) b0bset FGIE ;//enable Interrupt gain
338 00005F 0E00(2) ret
339 000060
340 000060 ;***********************************************
341 000060 Pdelay100ms:
342 000060 2D64(1) mov a,#100
343 000061 1F28(1) mov r2,a
344 000062 Pdelay1ms:
345 000062 2D64(1) mov a,#100
346 000063 1F27(1) mov r1,a
347 000064 Pdelay10us:
348 000064 8065(2) jmp $+1
349 000065 8066(2) jmp $+1
350 000066 8067(2) jmp $+1
351 000067 2627(1+S) decms r1
352 000068 8064(2) jmp Pdelay10us
353 000069 2628(1+S) decms r2
354 00006A 8062(2) jmp Pdelay1ms
355 00006B Pdelay90:
356 00006B 0E00(2) ret
357 00006C
358 00006C
359 00006C include app.asm
360 00006C mnapp:
361 00006C ; call complete
362 00006C ; call wing
363 00006C ; call empennage
364 00006C ; call screw
365 00006C ; call swing
366 00006C ; call output
367 00006C
368 00006C mnapp90:
369 00006C 0E00(2) ret
370 00006D ;*********************************************
371 00006D completex:
372 00006D 1E12(1) mov a,empennagebuf1
373 00006E 2410(1) sub a,#010h
374 00006F 5A86(1+S) bts1 fc
375 000070 8076(2) jmp completex800 ;手柄控制
376 000071 1E12(1) mov a,empennagebuf1
377 000072 2414(1) sub a,#014h
378 000073 5A86(1+S) bts1 fc
379 000074 8078(2) jmp completex80 ;自动控制
380 000075 8076(2) jmp completex800 ;手柄控制
381 000076 completex800:
382 000076 402A(1) bclr csxenbflag
383 000077 807A(2) jmp completex90
384 000078 completex80:
385 000078 482A(1) bset csxenbflag
386 000079 807A(2) jmp completex90
387 00007A completex90:
388 00007A 0E00(2) ret
389 00007B
390 00007B completey:
391 00007B 1E0E(1) mov a,wingbuf1
392 00007C 2410(1) sub a,#010h
393 00007D 5A86(1+S) bts1 fc
394 00007E 8084(2) jmp completey800 ;手柄控制
395 00007F 1E0E(1) mov a,wingbuf1
396 000080 2414(1) sub a,#014h
397 000081 5A86(1+S) bts1 fc
398 000082 8086(2) jmp completey80 ;自动控制
399 000083 8084(2) jmp completey800 ;手柄控制
400 000084 completey800:
401 000084 412A(1) bclr csyenbflag
402 000085 8088(2) jmp completey90
403 000086 completey80:
404 000086 492A(1) bset csyenbflag
405 000087 8088(2) jmp completey90
406 000088 completey90:
407 000088 0E00(2) ret
408 000089 ;**********************************************
409 000089 /*wing:
410 000089 bts1 t5msflag1
411 000089 jmp wing90
412 000089 bclr t5msflag1
413 000089 incms timerwing
414 000089 nop
415 000089 mov a,timerwing
416 000089 sub a,#200
417 000089 bts0 fc
418 000089 clr timerwing
419 000089
420 000089 b0mov y,#outtable$m
421 000089 b0mov z,#outtable$l
422 000089 mov a,wingbuf
423 000089 add z,a
424 000089 mov a,#0
425 000089 adc y,a
426 000089 movc
427 000089 mov r1,a
428 000089 mov a,timerwing
429 000089 sub a,r1
430 000089 bts1 fc
431 000089 jmp wing10
432 000089 bclr winghighflag
433 000089 jmp wing90
434 000089 wing10:
435 000089 bset winghighflag
436 000089 jmp wing90
437 000089 wing90:
438 000089 ret
439 000089
440 000089 ;*********************************************
441 000089 empennage:
442 000089 bts1 t5msflag2
443 000089 jmp empennage90
444 000089 bclr t5msflag2
445 000089 incms timerempennage
446 000089 nop
447 000089 mov a,timerempennage
448 000089 sub a,#200
449 000089 bts0 fc
450 000089 clr timerempennage
451 000089
452 000089 b0mov y,#outtable$m
453 000089 b0mov z,#outtable$l
454 000089 mov a,empennagebuf
455 000089 add z,a
456 000089 mov a,#0
457 000089 adc y,a
458 000089 movc
459 000089 mov r1,a
460 000089 mov a,timerempennage
461 000089 sub a,r1
462 000089 bts1 fc
463 000089 jmp empennage10
464 000089 bclr empennagehighflag
465 000089 jmp empennage90
466 000089 empennage10:
467 000089 bset empennagehighflag
468 000089 jmp empennage90
469 000089 empennage90:
470 000089 ret
471 000089 ;*********************************************
472 000089 screw:
473 000089 bts1 t5msflag3
474 000089 jmp screw90
475 000089 bclr t5msflag3
476 000089 incms timerscrew
477 000089 nop
478 000089 mov a,timerscrew
479 000089 sub a,#200
480 000089 bts0 fc
481 000089 clr timerscrew
482 000089
483 000089 b0mov y,#outtable$m
484 000089 b0mov z,#outtable$l
485 000089 mov a,screwbuf
486 000089 add z,a
487 000089 mov a,#0
488 000089 adc y,a
489 000089 movc
490 000089 mov r1,a
491 000089 mov a,timerscrew
492 000089 sub a,r1
493 000089 bts1 fc
494 000089 jmp screw10
495 000089 bclr screwhighflag
496 000089 jmp screw90
497 000089 screw10:
498 000089 bset screwhighflag
499 000089 jmp screw90
500 000089 screw90:
501 000089 ret
502 000089 ;*********************************************
503 000089 swing:
504 000089 bts1 t5msflag4
505 000089 jmp swing90
506 000089 bclr t5msflag4
507 000089 incms timerswing
508 000089 nop
509 000089 mov a,timerswing
510 000089 sub a,#200
511 000089 bts0 fc
512 000089 clr timerswing
513 000089
514 000089 b0mov y,#outtable$m
515 000089 b0mov z,#outtable$l
516 000089 mov a,swingbuf
517 000089 add z,a
518 000089 mov a,#0
519 000089 adc y,a
520 000089 movc
521 000089 mov r1,a
522 000089 mov a,timerswing
523 000089 sub a,r1
524 000089 bts1 fc
525 000089 jmp swing10
526 000089 bclr swinghighflag
527 000089 jmp swing90
528 000089 swing10:
529 000089 bset swinghighflag
530 000089 jmp swing90
531 000089 swing90:
532 000089 ret
533 000089
534 000089 ;***************************************************
535 000089 output: ;给步进电机发送信号
536 000089 bts1 winghighflag
537 000089 jmp output80
538 000089 bts1 ptwing
539 000089 jmp outputwing
540 000089 bts1 t1800usflag
541 000089 jmp outputwing
542 000089 bclr t1800usflag
543 000089 bclr ptwing
544 000089 jmp output90
545 000089 outputwing:
546 000089 bts1 t18msflag
547 000089 jmp output90
548 000089 bclr t18msflag
549 000089 bset ptwing
550 000089 jmp output90
551 000089 outputempennage:
552 000089 bts1 empennagehighflag
553 000089 jmp outputempennage10
554 000089 bset ptempennage
555 000089 jmp outputscrew
556 000089 outputempennage10:
557 000089 bclr ptempennage
558 000089 jmp outputscrew
559 000089 outputscrew:
560 000089 bts1 screwhighflag
561 000089 jmp outputscrew10
562 000089 bset ptscrew
563 000089 jmp outputswing
564 000089 outputscrew10:
565 000089 bclr ptscrew
566 000089 jmp outputswing
567 000089 outputswing:
568 000089 bts1 swinghighflag
569 000089 jmp outputswing10
570 000089 bset ptswing
571 000089 jmp output90
572 000089 outputswing10:
573 000089 bclr ptswing
574 000089 jmp output90
575 000089 output80:
576 000089 bclr ptwing
577 000089 bclr ptempennage
578 000089 bclr ptscrew
579 000089 bclr ptswing
580 000089 output90:
581 000089 ret
582 000089
583 000089 ;***************************************************
584 000089 outtable:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -