📄 plane050930v01.lst
字号:
629 000095 809F(2) jmp TC0INTR40
630 000096 62D1(1) b0bclr ptempennage
631 000097 6B1C(1) b0bset empennagestatflag
632 000098 mov_ empennagelowbuf,#230 ;set low level 10ms
633 000098 2DE6(1) mov a, #230
634 000099 1F26(1) mov empennagelowbuf, a
635 00009A mov_ empennagebuf,empennageloadbuf ;set high level
636 00009A 1E22(1) mov a, empennageloadbuf
637 00009B 1F1E(1) mov empennagebuf, a
638 00009C ;-----
639 00009C TC0INTR30:
640 00009C 2626(1+S) decms empennagelowbuf
641 00009D 809F(2) jmp TC0INTR40
642 00009E 631C(1) b0bclr empennagestatflag
643 00009F ;-----------------------
644 00009F TC0INTR40:
645 00009F ;螺旋桨控制
646 00009F 741C(1+S) b0bts0 screwstatflag
647 0000A0 80AA(2) jmp TC0INTR50
648 0000A1 68D1(1) b0bset ptscrew
649 0000A2 261F(1+S) decms screwbuf
650 0000A3 80AD(2) jmp TC0INTR60
651 0000A4 60D1(1) b0bclr ptscrew
652 0000A5 6C1C(1) b0bset screwstatflag
653 0000A6 mov_ screwlowbuf,#240 ;set low level 10ms
654 0000A6 2DF0(1) mov a, #240
655 0000A7 1F27(1) mov screwlowbuf, a
656 0000A8 mov_ screwbuf,screwloadbuf ;set high level
657 0000A8 1E23(1) mov a, screwloadbuf
658 0000A9 1F1F(1) mov screwbuf, a
659 0000AA ;-----
660 0000AA TC0INTR50:
661 0000AA 2627(1+S) decms screwlowbuf
662 0000AB 80AD(2) jmp TC0INTR60
663 0000AC 641C(1) b0bclr screwstatflag
664 0000AD ;-----------------------
665 0000AD TC0INTR60:
666 0000AD ;摆尾控制
667 0000AD 751C(1+S) b0bts0 swingstatflag
668 0000AE 80B8(2) jmp TC0INTR70
669 0000AF 6BD1(1) b0bset ptswing
670 0000B0 2620(1+S) decms swingbuf
671 0000B1 80BB(2) jmp TC0INTR80
672 0000B2 63D1(1) b0bclr ptswing
673 0000B3 6D1C(1) b0bset swingstatflag
674 0000B4 mov_ swinglowbuf,#250 ;set low level 10ms
675 0000B4 2DFA(1) mov a, #250
676 0000B5 1F28(1) mov swinglowbuf, a
677 0000B6 mov_ swingbuf,swingloadbuf ;set high level
678 0000B6 1E24(1) mov a, swingloadbuf
679 0000B7 1F20(1) mov swingbuf, a
680 0000B8 ;-----
681 0000B8 TC0INTR70:
682 0000B8 2628(1+S) decms swinglowbuf
683 0000B9 80BB(2) jmp TC0INTR80
684 0000BA 651C(1) b0bclr swingstatflag
685 0000BB ;-----
686 0000BB TC0INTR80:
687 0000BB /*
688 0000BB incms timer1000us
689 0000BB nop
690 0000BB mov a,timer1000us
691 0000BB sub a,#5
692 0000BB bts1 fc
693 0000BB jmp TC0INTR10
694 0000BB ;// bset t1000usflag
695 0000BB clr timer1000us
696 0000BB TC0INTR10:
697 0000BB incms timer1800us
698 0000BB nop
699 0000BB mov a,timer1800us
700 0000BB sub a,#8
701 0000BB bts1 fc
702 0000BB jmp TC0INTR20
703 0000BB bset t1800usflag
704 0000BB clr timer1800us
705 0000BB TC0INTR20:
706 0000BB incms timer18ms
707 0000BB nop
708 0000BB mov a,timer18ms
709 0000BB sub a,#90
710 0000BB bts1 fc
711 0000BB jmp TC0INTR30
712 0000BB bset t18msflag
713 0000BB clr timer18ms
714 0000BB TC0INTR30:
715 0000BB incms timer5ms
716 0000BB nop
717 0000BB mov a,timer5ms
718 0000BB sub a,#25
719 0000BB bts1 fc
720 0000BB jmp TC0INTR90
721 0000BB bset t5msflag
722 0000BB clr timer5ms
723 0000BB bset t5msflag1
724 0000BB bset t5msflag2
725 0000BB bset t5msflag3
726 0000BB bset t5msflag4
727 0000BB */
728 0000BB TC0INTR90:
729 0000BB 65C8(1) b0bclr FTC0IRQ
730 0000BC 807F(2) jmp Interrupt90
731 0000BD ;--------------------------------------------------------
732 0000BD ;--------------------------------------------------------
733 0000BD t0intr:
734 0000BD 2D06(1) mov a,#6
735 0000BE 2214(1) sub a,levecount
736 0000BF 5286(1+S) bts0 fc
737 0000C0 80C3(2) jmp t0intr10
738 0000C1 4D1B(1) bset errorflag
739 0000C2 80C5(2) jmp t0intr90
740 0000C3 t0intr10:
741 0000C3 1614(1+S) incms levecount
742 0000C4 0000(1) nop
743 0000C5 t0intr90:
744 0000C5 44C8(1) bclr ft0irq
745 0000C6 807F(2) jmp interrupt90
746 0000C7 ;--------------------------------------------------------
747 0000C7 ;--------------------------------------------------------
748 0000C7 P00INTR:
749 0000C7 40C8(1) bclr fp00irq
750 0000C8 47D8(1) bclr ft0enb
751 0000C9 1ED9(1) mov a,t0c
752 0000CA 58D0(1+S) bts1 singleflag
753 0000CB 80CE(2) jmp disasm100
754 0000CC 1F13(1) mov level,a ;上升沿进入
755 0000CD 80D0(2) jmp disasm200
756 0000CE disasm100:
757 0000CE 1F12(1) mov leveh,a ;下降沿进入
758 0000CF 80D0(2) jmp disasm200
759 0000D0 disasm200:
760 0000D0 2BD9(1) clr t0c
761 0000D1 4FD8(1) bset ft0enb
762 0000D2 50D0(1+S) bts0 singleflag
763 0000D3 80E0(2) jmp disasm220
764 0000D4 80D5(2) jmp disasm210
765 0000D5 disasm210:
766 0000D5 @p00_edge 1 ;下降沿进入,设为上升沿中断
767 0000D5 2D08(1) MOV A,#00001000B
768 0000D6 2FBF(1) B0MOV PEDGE,A
769 0000D7 571B(1+S) bts0 firstflag
770 0000D8 80EB(2) jmp disasm221
771 0000D9 1E14(1) mov a,levecount
772 0000DA 5086(1+S) bts0 fz
773 0000DB 8152(2) jmp disasm80
774 0000DC 4F1B(1) bset firstflag
775 0000DD 2B14(1) clr levecount
776 0000DE 2B09(1) clr inputcount
777 0000DF 8157(2) jmp disasm90
778 0000E0 disasm220:
779 0000E0 @p00_edge 2 ;上升沿进入,设为下降沿中断
780 0000E0 2D10(1) MOV A,#00010000B
781 0000E1 2FBF(1) B0MOV PEDGE,A
782 0000E2 2D38(1) mov a,#56 ;448us=8x56
783 0000E3 2213(1) sub a,level
784 0000E4 5286(1+S) bts0 fc
785 0000E5 8152(2) jmp disasm80 ;小于448us,出错
786 0000E6 2D4B(1) mov a,#75 ;600us=8x75
787 0000E7 2213(1) sub a,level
788 0000E8 5286(1+S) bts0 fc
789 0000E9 8157(2) jmp disasm90 ;小于600us,返回
790 0000EA 8152(2) jmp disasm80 ;大于600us,出错
791 0000EB
792 0000EB disasm221:
793 0000EB 2B15(1) clr tablecount
794 0000EC 1609(1+S) incms inputcount
795 0000ED 0000(1) nop
796 0000EE 1E09(1) mov a,inputcount
797 0000EF 2405(1) sub a,#5
798 0000F0 5A86(1+S) bts1 fc
799 0000F1 80F3(2) jmp chksignaltable
800 0000F2 8152(2) jmp disasm80
801 0000F3 chksignaltable: ;查询控制信号的档位
802 0000F3 3401(1) b0mov y,#signaltable$m
803 0000F4 3365(1) b0mov z,#signaltable$l
804 0000F5 1E15(1) mov a,tablecount
805 0000F6 1383(1) add z,a
806 0000F7 2D00(1) mov a,#0
807 0000F8 1184(1) adc y,a
808 0000F9 0D00(2) movc
809 0000FA 2212(1) sub a,leveh
810 0000FB 5286(1+S) bts0 fc
811 0000FC 8101(2) jmp chksignaltableend
812 0000FD 80FE(2) jmp signaltableadd
813 0000FE signaltableadd:
814 0000FE 1615(1+S) incms tablecount
815 0000FF 0000(1) nop
816 000100 80F3(2) jmp chksignaltable
817 000101 chksignaltableend:
818 000101 1E15(1) mov a,tablecount
819 000102 5086(1+S) bts0 fz
820 000103 8152(2) jmp disasm80 ;error
821 000104 2429(1) sub a,#41
822 000105 5286(1+S) bts0 fc
823 000106 8152(2) jmp disasm80 ;error
824 000107 1E15(1) mov a,tablecount
825 000108 1412(1) add a,#18
826 000109 1F08(1) mov gearbuf,a
827 00010A 1E09(1) mov a,inputcount
828 00010B @jmp_a 5
829 00010B 13CE(1) add pcl, a
830 00010C 8157(2) jmp disasm90
831 00010D 8111(2) jmp gearwing
832 00010E 8122(2) jmp gearempennage
833 00010F 8132(2) jmp gearscrew
834 000110 8142(2) jmp gearswing
835 000111 gearwing:
836 000111 1E08(1) mov a,gearbuf
837 000112 070A(1+S) cmprs a,wingbuf1
838 000113 811E(2) jmp gearwing10
839 000114 160E(1+S) incms samebuf1
840 000115 0000(1) nop
841 000116 1E0E(1) mov a,samebuf1
842 000117 240A(1) sub a,samecontant
843 000118 5A86(1+S) bts1 fc
844 000119 8157(2) jmp disasm90
845 00011A 2B0E(1) clr samebuf1
846 00011B 1E0A(1) mov a,wingbuf1
847 00011C 1F21(1) mov wingloadbuf,a
848 00011D 8157(2) jmp disasm90
849 00011E gearwing10:
850 00011E 1E08(1) mov a,gearbuf
851 00011F 1F0A(1) mov wingbuf1,a
852 000120 2B0E(1) clr samebuf1
853 000121 8157(2) jmp disasm90
854 000122 gearempennage:
855 000122 1E08(1) mov a,gearbuf
856 000123 070B(1+S) cmprs a,empennagebuf1
857 000124 812E(2) jmp gearempennage10
858 000125 160F(1+S) incms samebuf2
859 000126 0000(1) nop
860 000127 1E0F(1) mov a,samebuf2
861 000128 240A(1) sub a,samecontant
862 000129 5A86(1+S) bts1 fc
863 00012A 8157(2) jmp disasm90
864 00012B 1E0B(1) mov a,empennagebuf1
865 00012C 1F22(1) mov empennageloadbuf,a
866 00012D 8157(2) jmp disasm90
867 00012E gearempennage10:
868 00012E 1E08(1) mov a,gearbuf
869 00012F 1F0B(1) mov empennagebuf1,a
870 000130 2B0F(1) clr samebuf2
871 000131 8157(2) jmp disasm90
872 000132 gearscrew:
873 000132 1E08(1) mov a,gearbuf
874 000133 070C(1+S) cmprs a,screwbuf1
875 000134 813E(2) jmp gearscrew10
876 000135 1610(1+S) incms samebuf3
877 000136 0000(1) nop
878 000137 1E10(1) mov a,samebuf3
879 000138 240A(1) sub a,samecontant
880 000139 5A86(1+S) bts1 fc
881 00013A 8157(2) jmp disasm90
882 00013B 1E0C(1) mov a,screwbuf1
883 00013C 1F23(1) mov screwloadbuf,a
884 00013D 8157(2) jmp disasm90
885 00013E gearscrew10:
886 00013E 1E08(1) mov a,gearbuf
887 00013F 1F0C(1) mov screwbuf1,a
888 000140 2B10(1) clr samebuf3
889 000141 8157(2) jmp disasm90
890 000142 gearswing:
891 000142 1E08(1) mov a,gearbuf
892 000143 070D(1+S) cmprs a,swingbuf1
893 000144 814E(2) jmp gearswing10
894 000145 1611(1+S) incms samebuf4
895 000146 0000(1) nop
896 000147 1E11(1) mov a,samebuf4
897 000148 240A(1) sub a,samecontant
898 000149 5A86(1+S) bts1 fc
899 00014A 8157(2) jmp disasm90
900 00014B 1E0D(1) mov a,swingbuf1
901 00014C 1F24(1) mov swingloadbuf,a
902 00014D 8157(2) jmp disasm90
903 00014E gearswing10:
904 00014E 1E08(1) mov a,gearbuf
905 00014F 1F0D(1) mov swingbuf1,a
906 000150 2B11(1) clr samebuf4
907 000151 8157(2) jmp disasm90
908 000152 disasm80:
909 000152 @p00_edge 2 ;出错,设为下降沿中断
910 000152 2D10(1) MOV A,#00010000B
911 000153 2FBF(1) B0MOV PEDGE,A
912 000154 2B09(1) clr inputcount
913 000155 2B14(1) clr levecount
914 000156 471B(1) bclr firstflag
915 000157 disasm90:
916 000157 P00INTR90:
917 000157 807F(2) jmp Interrupt90
918 000158 ;***********************************************
919 000158 mnint:
920 000158 5F1A(1+S) bts1 t5msflag
921 000159 8164(2) jmp mnint90
922 00015A 471A(1) bclr t5msflag
923 00015B C1C9(2) call dkeychat
924 00015C mnint10:
925 00015C 1617(1+S) incms timer500ms
926 00015D 0000(1) nop
927 00015E 1E17(1) mov a,timer500ms
928 00015F 2464(1) sub a,#100
929 000160 5A86(1+S) bts1 fc
930 000161 8164(2) jmp mnint90
931 000162 2B17(1) clr timer500ms
932 000163 4E1A(1) bset t500msflag
933 000164
934 000164 mnint90:
935 000164 0E00(2) ret
936 000165 ;***********************************************
937 000165
938 000165 signaltable:
939 000165 0030(1) dw 030h ;0
940 000166 0035(1) dw 035h ;1
941 000167 003A(1) dw 03ah ;2
942 000168 003F(1) dw 03fh ;3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -