?? plane050930v01.lst
字號:
315 000051 ; mov A,#206 ;200us
316 000051 2FDB(1) b0mov TC0C,A ; Set the TC0 timer
317 000052 2FCD(1) b0mov tc0r,a
318 000053 ; bclr fpwm0out
319 000053 6FDA(1) b0bset FTC0ENB ; Enable TIMER0
320 000054 4DC9(1) bset FTC0IEN ; Enable TC0 interrupt
321 000055 45C8(1) bclr ftc0irq ; CLEAR TIMER0 INTERRUPT FLAG
322 000056
323 000056 ; Enable P00 interrup
324 000056 @P00_EDGE 2 ;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;
325 000056 2D10(1) MOV A,#00010000B
326 000057 2FBF(1) B0MOV PEDGE,A
327 000058 60C8(1) b0bclr FP00IRQ
328 000059 68C9(1) b0bset FP00IEN
329 00005A
330 00005A 6FDF(1) b0bset FGIE ;//enable Interrupt gain
331 00005B 0E00(2) ret
332 00005C
333 00005C ;***********************************************
334 00005C Pdelay100ms:
335 00005C 2D64(1) mov a,#100
336 00005D 1F19(1) mov r2,a
337 00005E Pdelay1ms:
338 00005E 2D64(1) mov a,#100
339 00005F 1F18(1) mov r1,a
340 000060 Pdelay10us:
341 000060 8061(2) jmp $+1
342 000061 8062(2) jmp $+1
343 000062 8063(2) jmp $+1
344 000063 2618(1+S) decms r1
345 000064 8060(2) jmp Pdelay10us
346 000065 2619(1+S) decms r2
347 000066 805E(2) jmp Pdelay1ms
348 000067 Pdelay90:
349 000067 0E00(2) ret
350 000068
351 000068
352 000068 include app.asm
353 000068 mnapp:
354 000068 C06A(2) call complete
355 000069 ; call wing
356 000069 ; call empennage
357 000069 ; call screw
358 000069 ; call swing
359 000069 ; call output
360 000069
361 000069 mnapp90:
362 000069 0E00(2) ret
363 00006A ;*********************************************
364 00006A complete:
365 00006A 1E1E(1) mov a,empennagebuf
366 00006B 0605(1+S) cmprs a,#5
367 00006C 806F(2) jmp complete10
368 00006D 481B(1) bset csxenbflag
369 00006E 8075(2) jmp complete90
370 00006F complete10:
371 00006F 0606(1+S) cmprs a,#6
372 000070 8073(2) jmp complete20
373 000071 481B(1) bset csxenbflag
374 000072 8075(2) jmp complete90
375 000073 complete20:
376 000073 401B(1) bclr csxenbflag
377 000074 8075(2) jmp complete90
378 000075 complete90:
379 000075 0E00(2) ret
380 000076 ;**********************************************
381 000076 /*wing:
382 000076 bts1 t5msflag1
383 000076 jmp wing90
384 000076 bclr t5msflag1
385 000076 incms timerwing
386 000076 nop
387 000076 mov a,timerwing
388 000076 sub a,#200
389 000076 bts0 fc
390 000076 clr timerwing
391 000076
392 000076 b0mov y,#outtable$m
393 000076 b0mov z,#outtable$l
394 000076 mov a,wingbuf
395 000076 add z,a
396 000076 mov a,#0
397 000076 adc y,a
398 000076 movc
399 000076 mov r1,a
400 000076 mov a,timerwing
401 000076 sub a,r1
402 000076 bts1 fc
403 000076 jmp wing10
404 000076 bclr winghighflag
405 000076 jmp wing90
406 000076 wing10:
407 000076 bset winghighflag
408 000076 jmp wing90
409 000076 wing90:
410 000076 ret
411 000076
412 000076 ;*********************************************
413 000076 empennage:
414 000076 bts1 t5msflag2
415 000076 jmp empennage90
416 000076 bclr t5msflag2
417 000076 incms timerempennage
418 000076 nop
419 000076 mov a,timerempennage
420 000076 sub a,#200
421 000076 bts0 fc
422 000076 clr timerempennage
423 000076
424 000076 b0mov y,#outtable$m
425 000076 b0mov z,#outtable$l
426 000076 mov a,empennagebuf
427 000076 add z,a
428 000076 mov a,#0
429 000076 adc y,a
430 000076 movc
431 000076 mov r1,a
432 000076 mov a,timerempennage
433 000076 sub a,r1
434 000076 bts1 fc
435 000076 jmp empennage10
436 000076 bclr empennagehighflag
437 000076 jmp empennage90
438 000076 empennage10:
439 000076 bset empennagehighflag
440 000076 jmp empennage90
441 000076 empennage90:
442 000076 ret
443 000076 ;*********************************************
444 000076 screw:
445 000076 bts1 t5msflag3
446 000076 jmp screw90
447 000076 bclr t5msflag3
448 000076 incms timerscrew
449 000076 nop
450 000076 mov a,timerscrew
451 000076 sub a,#200
452 000076 bts0 fc
453 000076 clr timerscrew
454 000076
455 000076 b0mov y,#outtable$m
456 000076 b0mov z,#outtable$l
457 000076 mov a,screwbuf
458 000076 add z,a
459 000076 mov a,#0
460 000076 adc y,a
461 000076 movc
462 000076 mov r1,a
463 000076 mov a,timerscrew
464 000076 sub a,r1
465 000076 bts1 fc
466 000076 jmp screw10
467 000076 bclr screwhighflag
468 000076 jmp screw90
469 000076 screw10:
470 000076 bset screwhighflag
471 000076 jmp screw90
472 000076 screw90:
473 000076 ret
474 000076 ;*********************************************
475 000076 swing:
476 000076 bts1 t5msflag4
477 000076 jmp swing90
478 000076 bclr t5msflag4
479 000076 incms timerswing
480 000076 nop
481 000076 mov a,timerswing
482 000076 sub a,#200
483 000076 bts0 fc
484 000076 clr timerswing
485 000076
486 000076 b0mov y,#outtable$m
487 000076 b0mov z,#outtable$l
488 000076 mov a,swingbuf
489 000076 add z,a
490 000076 mov a,#0
491 000076 adc y,a
492 000076 movc
493 000076 mov r1,a
494 000076 mov a,timerswing
495 000076 sub a,r1
496 000076 bts1 fc
497 000076 jmp swing10
498 000076 bclr swinghighflag
499 000076 jmp swing90
500 000076 swing10:
501 000076 bset swinghighflag
502 000076 jmp swing90
503 000076 swing90:
504 000076 ret
505 000076
506 000076 ;***************************************************
507 000076 output: ;給步進電機發送信號
508 000076 bts1 winghighflag
509 000076 jmp output80
510 000076 bts1 ptwing
511 000076 jmp outputwing
512 000076 bts1 t1800usflag
513 000076 jmp outputwing
514 000076 bclr t1800usflag
515 000076 bclr ptwing
516 000076 jmp output90
517 000076 outputwing:
518 000076 bts1 t18msflag
519 000076 jmp output90
520 000076 bclr t18msflag
521 000076 bset ptwing
522 000076 jmp output90
523 000076 outputempennage:
524 000076 bts1 empennagehighflag
525 000076 jmp outputempennage10
526 000076 bset ptempennage
527 000076 jmp outputscrew
528 000076 outputempennage10:
529 000076 bclr ptempennage
530 000076 jmp outputscrew
531 000076 outputscrew:
532 000076 bts1 screwhighflag
533 000076 jmp outputscrew10
534 000076 bset ptscrew
535 000076 jmp outputswing
536 000076 outputscrew10:
537 000076 bclr ptscrew
538 000076 jmp outputswing
539 000076 outputswing:
540 000076 bts1 swinghighflag
541 000076 jmp outputswing10
542 000076 bset ptswing
543 000076 jmp output90
544 000076 outputswing10:
545 000076 bclr ptswing
546 000076 jmp output90
547 000076 output80:
548 000076 bclr ptwing
549 000076 bclr ptempennage
550 000076 bclr ptscrew
551 000076 bclr ptswing
552 000076 output90:
553 000076 ret
554 000076
555 000076 ;***************************************************
556 000076 outtable:
557 000076 dw 058h;4h
558 000076 dw 05fh
559 000076 dw 06ah
560 000076 dw 075h
561 000076 dw 080h
562 000076 dw 08bh
563 000076 dw 096h
564 000076 dw 0a1h
565 000076 dw 0ach
566 000076 dw 0b8h
567 000076 */
568 000076
569 000076 ;***************************************************
570 000076 include int.asm
571 000076 ;************************************************
572 000076 ;Name :InterruptSub
573 000076 ;Function:
574 000076 ;Input :
575 000076 ;Output :
576 000076 ;Register Used:
577 000076 ;*************************************************
578 000076 InterruptSub:
579 000076 2C00(1) XCH A,AccBuf
580 000077 2C86(1) XCH A,PFLAG
581 000078 2F01(1) B0MOV PflagBuf,A
582 000079
583 000079 75C8(1+S) b0bts0 FTC0IRQ ;//Analyse the Interrupt resourc
584 00007A 8083(2) jmp TC0INTR
585 00007B
586 00007B 74C8(1+S) b0bts0 ft0irq
587 00007C 80BD(2) jmp t0intr
588 00007D
589 00007D 70C8(1+S) b0bts0 FP00IRQ
590 00007E 80C7(2) jmp P00INTR
591 00007F
592 00007F Interrupt90:
593 00007F 2C01(1) XCH A,PflagBuf
594 000080 2F86(1) B0MOV PFLAG,A
595 000081 2C00(1) XCH A,AccBuf ;//For release the Acc And Pflag
596 000082 0F00(2) RETI
597 000083 ;--------------------------------------------------------
598 000083 ;--------------------------------------------------------
599 000083 TC0INTR:
600 000083 ;// notbit ptwing
601 000083 ;// jmp TC0INTR90
602 000083 ;----------------------
603 000083 ;左右翼控制
604 000083 721C(1+S) b0bts0 wingstatflag
605 000084 808E(2) jmp TC0INTR10
606 000085 69D1(1) b0bset ptwing
607 000086 261D(1+S) decms wingbuf
608 000087 8091(2) jmp TC0INTR20
609 000088 61D1(1) b0bclr ptwing
610 000089 6A1C(1) b0bset wingstatflag
611 00008A mov_ winglowbuf,#220 ;set low level 10ms
612 00008A 2DDC(1) mov a, #220
613 00008B 1F25(1) mov winglowbuf, a
614 00008C mov_ wingbuf,wingloadbuf ;set high level
615 00008C 1E21(1) mov a, wingloadbuf
616 00008D 1F1D(1) mov wingbuf, a
617 00008E ;-----
618 00008E TC0INTR10:
619 00008E 2625(1+S) decms winglowbuf
620 00008F 8091(2) jmp TC0INTR20
621 000090 621C(1) b0bclr wingstatflag
622 000091 ;-----------------------
623 000091 TC0INTR20:
624 000091 ;尾翼控制
625 000091 731C(1+S) b0bts0 empennagestatflag
626 000092 809C(2) jmp TC0INTR30
627 000093 6AD1(1) b0bset ptempennage
628 000094 261E(1+S) decms empennagebuf
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -