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

📄 plane050930v01.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 4 页
字号:
   639  000111             
   640  000111   70C8(1+S)  	b0bts0	FP00IRQ
   641  000112   815C(2)  	jmp	P00INTR
   642  000113             
   643  000113             Interrupt90:
   644  000113   2C01(1)  	XCH	A,PflagBuf
   645  000114   2F86(1)  	B0MOV	PFLAG,A
   646  000115   2C00(1)  	XCH	A,AccBuf	;//For release the Acc And Pflag
   647  000116   0F00(2)  	RETI
   648  000117             ;--------------------------------------------------------
   649  000117             ;--------------------------------------------------------
   650  000117             TC0INTR:
   651  000117             ;//	notbit	ptwing
   652  000117             ;//	jmp	TC0INTR90
   653  000117             ;----------------------
   654  000117             ;左右翼控制
   655  000117   7223(1+S)  	b0bts0	wingstatflag
   656  000118   8122(2)  	jmp	TC0INTR10
   657  000119   69D1(1)  	b0bset	ptwing	
   658  00011A   2624(1+S)  	decms	wingbuf
   659  00011B   8125(2)  	jmp	TC0INTR20
   660  00011C   61D1(1)  	b0bclr	ptwing	
   661  00011D   6A23(1)  	b0bset	wingstatflag
   662  00011E             	mov_	winglowbuf,#220		;set low level 10ms
   663  00011E   2DDC(1)  	mov	a, #220
   664  00011F   1F2C(1)  	mov	winglowbuf, a
   665  000120             	mov_	wingbuf,wingloadbuf	;set high level 
   666  000120   1E28(1)  	mov	a, wingloadbuf
   667  000121   1F24(1)  	mov	wingbuf, a
   668  000122             ;-----
   669  000122             TC0INTR10:
   670  000122   262C(1+S)  	decms	winglowbuf
   671  000123   8125(2)  	jmp	TC0INTR20
   672  000124   6223(1)  	b0bclr	wingstatflag	
   673  000125             ;-----------------------
   674  000125             TC0INTR20:
   675  000125             ;尾翼控制
   676  000125   7323(1+S)  	b0bts0	empennagestatflag
   677  000126   8130(2)  	jmp	TC0INTR30
   678  000127   6AD1(1)  	b0bset	ptempennage	
   679  000128   2625(1+S)  	decms	empennagebuf
   680  000129   8133(2)  	jmp	TC0INTR40
   681  00012A   62D1(1)  	b0bclr	ptempennage	
   682  00012B   6B23(1)  	b0bset	empennagestatflag
   683  00012C             	mov_	empennagelowbuf,#230		;set low level 10ms
   684  00012C   2DE6(1)  	mov	a, #230
   685  00012D   1F2D(1)  	mov	empennagelowbuf, a
   686  00012E             	mov_	empennagebuf,empennageloadbuf	;set high level 
   687  00012E   1E29(1)  	mov	a, empennageloadbuf
   688  00012F   1F25(1)  	mov	empennagebuf, a
   689  000130             ;-----
   690  000130             TC0INTR30:
   691  000130   262D(1+S)  	decms	empennagelowbuf
   692  000131   8133(2)  	jmp	TC0INTR40
   693  000132   6323(1)  	b0bclr	empennagestatflag	
   694  000133             ;-----------------------
   695  000133             TC0INTR40:
   696  000133             ;螺旋桨控制
   697  000133   7423(1+S)  	b0bts0	screwstatflag
   698  000134   813E(2)  	jmp	TC0INTR50
   699  000135   68D1(1)  	b0bset	ptscrew	
   700  000136   2626(1+S)  	decms	screwbuf
   701  000137   8141(2)  	jmp	TC0INTR60
   702  000138   60D1(1)  	b0bclr	ptscrew	
   703  000139   6C23(1)  	b0bset	screwstatflag
   704  00013A             	mov_	screwlowbuf,#240	;set low level 10ms
   705  00013A   2DF0(1)  	mov	a, #240
   706  00013B   1F2E(1)  	mov	screwlowbuf, a
   707  00013C             	mov_	screwbuf,screwloadbuf	;set high level 
   708  00013C   1E2A(1)  	mov	a, screwloadbuf
   709  00013D   1F26(1)  	mov	screwbuf, a
   710  00013E             ;-----
   711  00013E             TC0INTR50:
   712  00013E   262E(1+S)  	decms	screwlowbuf
   713  00013F   8141(2)  	jmp	TC0INTR60
   714  000140   6423(1)  	b0bclr	screwstatflag	
   715  000141             ;-----------------------
   716  000141             TC0INTR60:
   717  000141             ;摆尾控制
   718  000141   7523(1+S)  	b0bts0	swingstatflag
   719  000142   814C(2)  	jmp	TC0INTR70
   720  000143   6BD1(1)  	b0bset	ptswing	
   721  000144   2627(1+S)  	decms	swingbuf
   722  000145   814F(2)  	jmp	TC0INTR80
   723  000146   63D1(1)  	b0bclr	ptswing	
   724  000147   6D23(1)  	b0bset	swingstatflag
   725  000148             	mov_	swinglowbuf,#250	;set low level 10ms
   726  000148   2DFA(1)  	mov	a, #250
   727  000149   1F2F(1)  	mov	swinglowbuf, a
   728  00014A             	mov_	swingbuf,swingloadbuf	;set high level 
   729  00014A   1E2B(1)  	mov	a, swingloadbuf
   730  00014B   1F27(1)  	mov	swingbuf, a
   731  00014C             ;-----
   732  00014C             TC0INTR70:
   733  00014C   262F(1+S)  	decms	swinglowbuf
   734  00014D   814F(2)  	jmp	TC0INTR80
   735  00014E   6523(1)  	b0bclr	swingstatflag
   736  00014F             ;-----
   737  00014F             TC0INTR80:
   738  00014F             /*
   739  00014F             	incms	timer1000us
   740  00014F             	nop
   741  00014F             	mov	a,timer1000us
   742  00014F             	sub	a,#5
   743  00014F             	bts1	fc
   744  00014F             	jmp	TC0INTR10
   745  00014F             ;//	bset	t1000usflag
   746  00014F             	clr	timer1000us
   747  00014F             TC0INTR10:
   748  00014F             	incms	timer1800us
   749  00014F             	nop
   750  00014F             	mov	a,timer1800us
   751  00014F             	sub	a,#8
   752  00014F             	bts1	fc
   753  00014F             	jmp	TC0INTR20
   754  00014F             	bset	t1800usflag
   755  00014F             	clr	timer1800us
   756  00014F             TC0INTR20:
   757  00014F             	incms	timer18ms
   758  00014F             	nop
   759  00014F             	mov	a,timer18ms
   760  00014F             	sub	a,#90
   761  00014F             	bts1	fc
   762  00014F             	jmp	TC0INTR30
   763  00014F             	bset	t18msflag
   764  00014F             	clr	timer18ms
   765  00014F             TC0INTR30:
   766  00014F             	incms	timer5ms
   767  00014F             	nop
   768  00014F             	mov	a,timer5ms
   769  00014F             	sub	a,#25
   770  00014F             	bts1	fc
   771  00014F             	jmp	TC0INTR90
   772  00014F             	bset	t5msflag
   773  00014F             	clr	timer5ms	
   774  00014F             	bset	t5msflag1
   775  00014F             	bset	t5msflag2
   776  00014F             	bset	t5msflag3
   777  00014F             	bset	t5msflag4
   778  00014F             */	
   779  00014F             TC0INTR90:
   780  00014F   65C8(1)  	b0bclr	FTC0IRQ
   781  000150   8113(2)  	jmp	Interrupt90
   782  000151             ;--------------------------------------------------------
   783  000151             ;--------------------------------------------------------
   784  000151             t0intr:
   785  000151   815A(2)  	jmp	t0intr90
   786  000152   2D06(1)  	mov	a,#6
   787  000153   2214(1)  	sub	a,levecount
   788  000154   5286(1+S)  	bts0	fc
   789  000155   8158(2)  	jmp	t0intr10
   790  000156   4D22(1)  	bset	errorflag
   791  000157   815A(2)  	jmp	t0intr90
   792  000158             t0intr10:
   793  000158   1614(1+S)  	incms	levecount
   794  000159   0000(1)  	nop
   795  00015A             t0intr90:
   796  00015A   44C8(1)  	bclr	ft0irq
   797  00015B   8113(2)  	jmp	interrupt90
   798  00015C             ;--------------------------------------------------------
   799  00015C             ;--------------------------------------------------------
   800  00015C             P00INTR:		
   801  00015C   40C8(1)  	bclr	fp00irq
   802  00015D   81EB(2)  	jmp	P00INTR90
   803  00015E   47D8(1)  	bclr	ft0enb
   804  00015F   1ED9(1)  	mov	a,t0c
   805  000160   58D0(1+S)  	bts1	singleflag	
   806  000161   8164(2)  	jmp	disasm100				
   807  000162   1F13(1)  	mov	level,a		;上升沿进入
   808  000163   8166(2)  	jmp	disasm200		
   809  000164             disasm100:
   810  000164   1F12(1)  	mov	leveh,a		;下降沿进入
   811  000165   8166(2)  	jmp	disasm200
   812  000166             disasm200:
   813  000166   2BD9(1)  	clr	t0c		
   814  000167   4FD8(1)  	bset	ft0enb	
   815  000168   50D0(1+S)  	bts0	singleflag
   816  000169   8176(2)  	jmp	disasm220
   817  00016A   816B(2)  	jmp 	disasm210
   818  00016B             disasm210:
   819  00016B             	@p00_edge	1		;下降沿进入,设为上升沿中断
   820  00016B   2D08(1)  			   MOV		A,#00001000B
   821  00016C   2FBF(1)  			   B0MOV	PEDGE,A
   822  00016D   5722(1+S)  	bts0	firstflag
   823  00016E   8181(2)  	jmp	disasm221
   824  00016F   1E14(1)  	mov	a,levecount
   825  000170   5086(1+S)  	bts0	fz
   826  000171   81E6(2)  	jmp	disasm80
   827  000172   4F22(1)  	bset	firstflag
   828  000173   2B14(1)  	clr	levecount
   829  000174   2B09(1)  	clr	inputcount
   830  000175   81EB(2)  	jmp	disasm90	
   831  000176             disasm220:
   832  000176             	@p00_edge	2		;上升沿进入,设为下降沿中断	
   833  000176   2D10(1)  			   MOV		A,#00010000B
   834  000177   2FBF(1)  			   B0MOV	PEDGE,A
   835  000178   2D38(1)  	mov	a,#56			;448us=8x56
   836  000179   2213(1)  	sub	a,level
   837  00017A   5286(1+S)  	bts0	fc
   838  00017B   81E6(2)  	jmp	disasm80		;小于448us,出错
   839  00017C   2D4B(1)  	mov	a,#75			;600us=8x75
   840  00017D   2213(1)  	sub	a,level
   841  00017E   5286(1+S)  	bts0	fc
   842  00017F   81EB(2)  	jmp	disasm90		;小于600us,返回
   843  000180   81E6(2)  	jmp	disasm80		;大于600us,出错
   844  000181             
   845  000181             disasm221:
   846  000181   2B19(1)  	clr	tablecount
   847  000182   1609(1+S)  	incms	inputcount
   848  000183   0000(1)  	nop
   849  000184   1E09(1)  	mov	a,inputcount
   850  000185   2405(1)  	sub	a,#5
   851  000186   5A86(1+S)  	bts1	fc
   852  000187   8189(2)  	jmp	chksignaltable
   853  000188   81E6(2)  	jmp	disasm80	
   854  000189             chksignaltable:				;查询控制信号的档位
   855  000189   3401(1)  	b0mov	y,#signaltable$m
   856  00018A   33F9(1)  	b0mov	z,#signaltable$l
   857  00018B   1E19(1)  	mov	a,tablecount
   858  00018C   1383(1)  	add	z,a
   859  00018D   2D00(1)  	mov	a,#0
   860  00018E   1184(1)  	adc	y,a
   861  00018F   0D00(2)  	movc
   862  000190   2212(1)  	sub	a,leveh
   863  000191   5286(1+S)  	bts0	fc
   864  000192   8197(2)  	jmp	chksignaltableend	
   865  000193   8194(2)  	jmp	signaltableadd
   866  000194             signaltableadd:
   867  000194   1619(1+S)  	incms	tablecount
   868  000195   0000(1)  	nop
   869  000196   8189(2)  	jmp	chksignaltable
   870  000197             chksignaltableend:
   871  000197   1E19(1)  	mov	a,tablecount	
   872  000198   5086(1+S)  	bts0	fz
   873  000199   81E6(2)  	jmp	disasm80		;error
   874  00019A   240B(1)  	sub	a,#11
   875  00019B   5286(1+S)  	bts0	fc
   876  00019C   81E6(2)  	jmp	disasm80		;error
   877  00019D   1E19(1)  	mov	a,tablecount
   878  00019E   1F08(1)  	mov	gearbuf,a
   879  00019F   1E09(1)  	mov	a,inputcount
   880  0001A0             	@jmp_a	5
   881  0001A0   13CE(1)  	add	pcl, a
   882  0001A1   81EB(2)  	jmp	disasm90
   883  0001A2   81A6(2)  	jmp	gearwing
   884  0001A3   81B6(2)  	jmp	gearempennage
   885  0001A4   81C6(2)  	jmp	gearscrew
   886  0001A5   81D6(2)  	jmp	gearswing	
   887  0001A6             gearwing:
   888  0001A6   1E08(1)  	mov	a,gearbuf
   889  0001A7   070A(1+S)  	cmprs	a,wingbuf1
   890  0001A8   81B2(2)  	jmp	gearwing10
   891  0001A9   160E(1+S)  	incms	samebuf1
   892  0001AA   0000(1)  	nop
   893  0001AB   1E0E(1)  	mov	a,samebuf1
   894  0001AC   2405(1)  	sub	a,samecontant
   895  0001AD   5A86(1+S)  	bts1	fc
   896  0001AE   81EB(2)  	jmp	disasm90
   897  0001AF   1E0A(1)  	mov	a,wingbuf1
   898  0001B0   1F24(1)  	mov	wingbuf,a
   899  0001B1   81EB(2)  	jmp	disasm90
   900  0001B2             gearwing10:
   901  0001B2   1E08(1)  	mov	a,gearbuf
   902  0001B3   1F0A(1)  	mov	wingbuf1,a	
   903  0001B4   2B0E(1)  	clr	samebuf1
   904  0001B5   81EB(2)  	jmp	disasm90
   905  0001B6             gearempennage:
   906  0001B6   1E08(1)  	mov	a,gearbuf
   907  0001B7   070B(1+S)  	cmprs	a,empennagebuf1
   908  0001B8   81C2(2)  	jmp	gearempennage10
   909  0001B9   160F(1+S)  	incms	samebuf2
   910  0001BA   0000(1)  	nop
   911  0001BB   1E0F(1)  	mov	a,samebuf2
   912  0001BC   2405(1)  	sub	a,samecontant
   913  0001BD   5A86(1+S)  	bts1	fc
   914  0001BE   81EB(2)  	jmp	disasm90
   915  0001BF   1E0B(1)  	mov	a,empennagebuf1
   916  0001C0   1F25(1)  	mov	empennagebuf,a
   917  0001C1   81EB(2)  	jmp	disasm90
   918  0001C2             gearempennage10:
   919  0001C2   1E08(1)  	mov	a,gearbuf
   920  0001C3   1F0B(1)  	mov	empennagebuf1,a	
   921  0001C4   2B0F(1)  	clr	samebuf2
   922  0001C5   81EB(2)  	jmp	disasm90
   923  0001C6             gearscrew:
   924  0001C6   1E08(1)  	mov	a,gearbuf
   925  0001C7   070C(1+S)  	cmprs	a,screwbuf1
   926  0001C8   81D2(2)  	jmp	gearscrew10
   927  0001C9   1610(1+S)  	incms	samebuf3
   928  0001CA   0000(1)  	nop
   929  0001CB   1E10(1)  	mov	a,samebuf3
   930  0001CC   2405(1)  	sub	a,samecontant
   931  0001CD   5A86(1+S)  	bts1	fc
   932  0001CE   81EB(2)  	jmp	disasm90
   933  0001CF   1E0C(1)  	mov	a,screwbuf1
   934  0001D0   1F26(1)  	mov	screwbuf,a
   935  0001D1   81EB(2)  	jmp	disasm90
   936  0001D2             gearscrew10:
   937  0001D2   1E08(1)  	mov	a,gearbuf
   938  0001D3   1F0C(1)  	mov	screwbuf1,a	
   939  0001D4   2B10(1)  	clr	samebuf3
   940  0001D5   81EB(2)  	jmp	disasm90
   941  0001D6             gearswing:
   942  0001D6   1E08(1)  	mov	a,gearbuf
   943  0001D7   070D(1+S)  	cmprs	a,swingbuf1
   944  0001D8   81E2(2)  	jmp	gearswing10
   945  0001D9   1611(1+S)  	incms	samebuf4
   946  0001DA   0000(1)  	nop
   947  0001DB   1E11(1)  	mov	a,samebuf4
   948  0001DC   2405(1)  	sub	a,samecontant
   949  0001DD   5A86(1+S)  	bts1	fc
   950  0001DE   81EB(2)  	jmp	disasm90
   951  0001DF   1E0D(1)  	mov	a,swingbuf1
   952  0001E0   1F27(1)  	mov	swingbuf,a
   953  0001E1   81EB(2)  	jmp	disasm90
   954  0001E2             gearswing10:
   955  0001E2   1E08(1)  	mov	a,gearbuf
   956  0001E3   1F0D(1)  	mov	swingbuf1,a	
   957  0001E4   2B11(1)  	clr	samebuf4

⌨️ 快捷键说明

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