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

📄 plane051011v02.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 5 页
字号:
   585  000089             	dw	058h;4h
   586  000089             	dw	05fh
   587  000089             	dw	06ah
   588  000089             	dw	075h
   589  000089             	dw	080h
   590  000089             	dw	08bh
   591  000089             	dw	096h
   592  000089             	dw	0a1h
   593  000089             	dw	0ach
   594  000089             	dw	0b8h
   595  000089             */	
   596  000089                         
   597  000089             ;***************************************************
   598  000089             	include		int.asm
   599  000089             ;************************************************
   600  000089             ;Name	:InterruptSub
   601  000089             ;Function:
   602  000089             ;Input  :
   603  000089             ;Output	:
   604  000089             ;Register Used:
   605  000089             ;*************************************************
   606  000089             InterruptSub:
   607  000089   2C00(1)  	XCH	A,AccBuf
   608  00008A   2C86(1)  	XCH	A,PFLAG
   609  00008B   2F01(1)  	B0MOV	PflagBuf,A
   610  00008C             	
   611  00008C   75C8(1+S)  	b0bts0	FTC0IRQ		;//Analyse the Interrupt resourc
   612  00008D   8096(2)  	jmp	TC0INTR
   613  00008E             	
   614  00008E   74C8(1+S)  	b0bts0	ft0irq
   615  00008F   80D8(2)  	jmp	t0intr
   616  000090             
   617  000090   70C8(1+S)  	b0bts0	FP00IRQ
   618  000091   80E2(2)  	jmp	P00INTR
   619  000092             
   620  000092             Interrupt90:
   621  000092   2C01(1)  	XCH	A,PflagBuf
   622  000093   2F86(1)  	B0MOV	PFLAG,A
   623  000094   2C00(1)  	XCH	A,AccBuf	;//For release the Acc And Pflag
   624  000095   0F00(2)  	RETI
   625  000096             ;--------------------------------------------------------
   626  000096             ;--------------------------------------------------------
   627  000096             TC0INTR:
   628  000096   1625(1+S)  	incms	timer5ms
   629  000097   0000(1)  	nop
   630  000098   1E25(1)  	mov	a,timer5ms
   631  000099   2464(1)  	sub	a,#100
   632  00009A   5A86(1+S)  	bts1	fc
   633  00009B   809E(2)  	jmp	tc0intr00
   634  00009C   2B25(1)  	clr	timer5ms
   635  00009D   4F29(1)  	bset	t5msflag
   636  00009E             tc0intr00:
   637  00009E             ;----------------------
   638  00009E             ;左右翼控制
   639  00009E   722B(1+S)  	b0bts0	wingstatflag
   640  00009F   80A9(2)  	jmp	TC0INTR10
   641  0000A0   69D1(1)  	b0bset	ptwing	
   642  0000A1   260D(1+S)  	decms	wingbuf
   643  0000A2   80AC(2)  	jmp	TC0INTR20
   644  0000A3   61D1(1)  	b0bclr	ptwing	
   645  0000A4   6A2B(1)  	b0bset	wingstatflag
   646  0000A5             	mov_	winglowbuf,lowcontant		;set low level 10ms
   647  0000A5   2DA5(1)  	mov	a, lowcontant
   648  0000A6   1F10(1)  	mov	winglowbuf, a
   649  0000A7             	mov_	wingbuf,wingloadbuf	;set high level 
   650  0000A7   1E0F(1)  	mov	a, wingloadbuf
   651  0000A8   1F0D(1)  	mov	wingbuf, a
   652  0000A9             ;-----
   653  0000A9             TC0INTR10:
   654  0000A9   2610(1+S)  	decms	winglowbuf
   655  0000AA   80AC(2)  	jmp	TC0INTR20
   656  0000AB   622B(1)  	b0bclr	wingstatflag	
   657  0000AC             ;-----------------------
   658  0000AC             TC0INTR20:
   659  0000AC             ;尾翼控制
   660  0000AC   732B(1+S)  	b0bts0	empennagestatflag
   661  0000AD   80B7(2)  	jmp	TC0INTR30
   662  0000AE   6AD1(1)  	b0bset	ptempennage	
   663  0000AF   2611(1+S)  	decms	empennagebuf
   664  0000B0   80BA(2)  	jmp	TC0INTR40
   665  0000B1   62D1(1)  	b0bclr	ptempennage	
   666  0000B2   6B2B(1)  	b0bset	empennagestatflag
   667  0000B3             	mov_	empennagelowbuf,lowcontant		;set low level 10ms
   668  0000B3   2DA5(1)  	mov	a, lowcontant
   669  0000B4   1F14(1)  	mov	empennagelowbuf, a
   670  0000B5             	mov_	empennagebuf,empennageloadbuf	;set high level 
   671  0000B5   1E13(1)  	mov	a, empennageloadbuf
   672  0000B6   1F11(1)  	mov	empennagebuf, a
   673  0000B7             ;-----
   674  0000B7             TC0INTR30:
   675  0000B7   2614(1+S)  	decms	empennagelowbuf
   676  0000B8   80BA(2)  	jmp	TC0INTR40
   677  0000B9   632B(1)  	b0bclr	empennagestatflag	
   678  0000BA             ;-----------------------
   679  0000BA             TC0INTR40:
   680  0000BA             ;螺旋桨控制
   681  0000BA   742B(1+S)  	b0bts0	screwstatflag
   682  0000BB   80C5(2)  	jmp	TC0INTR50
   683  0000BC   68D1(1)  	b0bset	ptscrew	
   684  0000BD   2615(1+S)  	decms	screwbuf
   685  0000BE   80C8(2)  	jmp	TC0INTR60
   686  0000BF   60D1(1)  	b0bclr	ptscrew	
   687  0000C0   6C2B(1)  	b0bset	screwstatflag
   688  0000C1             	mov_	screwlowbuf,lowcontant	;set low level 10ms
   689  0000C1   2DA5(1)  	mov	a, lowcontant
   690  0000C2   1F18(1)  	mov	screwlowbuf, a
   691  0000C3             	mov_	screwbuf,screwloadbuf	;set high level 
   692  0000C3   1E17(1)  	mov	a, screwloadbuf
   693  0000C4   1F15(1)  	mov	screwbuf, a
   694  0000C5             ;-----
   695  0000C5             TC0INTR50:
   696  0000C5   2618(1+S)  	decms	screwlowbuf
   697  0000C6   80C8(2)  	jmp	TC0INTR60
   698  0000C7   642B(1)  	b0bclr	screwstatflag	
   699  0000C8             ;-----------------------
   700  0000C8             TC0INTR60:
   701  0000C8             ;摆尾控制
   702  0000C8   752B(1+S)  	b0bts0	swingstatflag
   703  0000C9   80D3(2)  	jmp	TC0INTR70
   704  0000CA   6BD1(1)  	b0bset	ptswing	
   705  0000CB   2619(1+S)  	decms	swingbuf
   706  0000CC   80D6(2)  	jmp	TC0INTR80
   707  0000CD   63D1(1)  	b0bclr	ptswing	
   708  0000CE   6D2B(1)  	b0bset	swingstatflag
   709  0000CF             	mov_	swinglowbuf,lowcontant	;set low level 10ms
   710  0000CF   2DA5(1)  	mov	a, lowcontant
   711  0000D0   1F1C(1)  	mov	swinglowbuf, a
   712  0000D1             	mov_	swingbuf,swingloadbuf	;set high level 
   713  0000D1   1E1B(1)  	mov	a, swingloadbuf
   714  0000D2   1F19(1)  	mov	swingbuf, a
   715  0000D3             ;-----
   716  0000D3             TC0INTR70:
   717  0000D3   261C(1+S)  	decms	swinglowbuf
   718  0000D4   80D6(2)  	jmp	TC0INTR80
   719  0000D5   652B(1)  	b0bclr	swingstatflag
   720  0000D6             ;-----
   721  0000D6             TC0INTR80:	
   722  0000D6             TC0INTR90:
   723  0000D6   65C8(1)  	b0bclr	FTC0IRQ
   724  0000D7   8092(2)  	jmp	Interrupt90
   725  0000D8             ;--------------------------------------------------------
   726  0000D8             ;--------------------------------------------------------
   727  0000D8             t0intr:
   728  0000D8   2D06(1)  	mov	a,#6
   729  0000D9   2223(1)  	sub	a,levecount
   730  0000DA   5286(1+S)  	bts0	fc
   731  0000DB   80DE(2)  	jmp	t0intr10
   732  0000DC   4D2A(1)  	bset	errorflag
   733  0000DD   80E0(2)  	jmp	t0intr90
   734  0000DE             t0intr10:
   735  0000DE   1623(1+S)  	incms	levecount
   736  0000DF   0000(1)  	nop
   737  0000E0             t0intr90:
   738  0000E0   44C8(1)  	bclr	ft0irq
   739  0000E1   8092(2)  	jmp	interrupt90
   740  0000E2             ;--------------------------------------------------------
   741  0000E2             ;--------------------------------------------------------
   742  0000E2             P00INTR:		
   743  0000E2   40C8(1)  	bclr	fp00irq
   744  0000E3   47D8(1)  	bclr	ft0enb
   745  0000E4   1ED9(1)  	mov	a,t0c
   746  0000E5   58D0(1+S)  	bts1	singleflag	
   747  0000E6   80E9(2)  	jmp	disasm100				
   748  0000E7   1F22(1)  	mov	level,a		;上升沿进入
   749  0000E8   80EB(2)  	jmp	disasm200		
   750  0000E9             disasm100:
   751  0000E9   1F21(1)  	mov	leveh,a		;下降沿进入
   752  0000EA   80EB(2)  	jmp	disasm200
   753  0000EB             disasm200:
   754  0000EB   2BD9(1)  	clr	t0c		
   755  0000EC   4FD8(1)  	bset	ft0enb	
   756  0000ED   50D0(1+S)  	bts0	singleflag
   757  0000EE   80FB(2)  	jmp	disasm220
   758  0000EF   80F0(2)  	jmp 	disasm210
   759  0000F0             disasm210:
   760  0000F0             	@p00_edge	1		;下降沿进入,设为上升沿中断
   761  0000F0   2D08(1)  			   MOV		A,#00001000B
   762  0000F1   2FBF(1)  			   B0MOV	PEDGE,A
   763  0000F2   572A(1+S)  	bts0	firstflag
   764  0000F3   8106(2)  	jmp	disasm221
   765  0000F4   1E23(1)  	mov	a,levecount
   766  0000F5   5086(1+S)  	bts0	fz
   767  0000F6   810D(2)  	jmp	disasm80
   768  0000F7   4F2A(1)  	bset	firstflag
   769  0000F8   2B23(1)  	clr	levecount
   770  0000F9   2B0C(1)  	clr	inputcount
   771  0000FA   8114(2)  	jmp	disasm90	
   772  0000FB             disasm220:
   773  0000FB             	@p00_edge	2		;上升沿进入,设为下降沿中断	
   774  0000FB   2D10(1)  			   MOV		A,#00010000B
   775  0000FC   2FBF(1)  			   B0MOV	PEDGE,A
   776  0000FD   2D23(1)  	mov	a,#35;60;56			;448us=8x56
   777  0000FE   2222(1)  	sub	a,level
   778  0000FF   5286(1+S)  	bts0	fc
   779  000100   810D(2)  	jmp	disasm80		;小于448us,出错
   780  000101   2D5F(1)  	mov	a,#95;70;75			;600us=8x75
   781  000102   2222(1)  	sub	a,level
   782  000103   5286(1+S)  	bts0	fc
   783  000104   8114(2)  	jmp	disasm90		;小于600us,返回
   784  000105   810D(2)  	jmp	disasm80		;大于600us,出错
   785  000106             disasm221:
   786  000106   160C(1+S)  	incms	inputcount
   787  000107   0000(1)  	nop
   788  000108   1E0C(1)  	mov	a,inputcount
   789  000109   2405(1)  	sub	a,#5
   790  00010A   5A86(1+S)  	bts1	fc
   791  00010B   8113(2)  	jmp	disasm70;chksignaltable
   792  00010C   810D(2)  	jmp	disasm80	
   793  00010D             disasm80:
   794  00010D             	@p00_edge	2		;出错,设为下降沿中断
   795  00010D   2D10(1)  			   MOV		A,#00010000B
   796  00010E   2FBF(1)  			   B0MOV	PEDGE,A
   797  00010F   2B0C(1)  	clr	inputcount
   798  000110   2B23(1)  	clr	levecount
   799  000111   472A(1)  	bclr	firstflag
   800  000112   8114(2)  	jmp	disasm90
   801  000113             disasm70:
   802  000113   4E2B(1)  	bset	chksigntableflag	
   803  000114             disasm90:
   804  000114             P00INTR90:
   805  000114   8092(2)  	jmp	Interrupt90
   806  000115             ;***********************************************
   807  000115             mnint:
   808  000115   5E2B(1+S)  	bts1	chksigntableflag
   809  000116   8210(2)  	jmp	mnint20
   810  000117   462B(1)  	bclr	chksigntableflag
   811  000118   2B24(1)  	clr	tablecount
   812  000119   40C9(1)  	bclr	fp00ien
   813  00011A             chksignaltable:				;查询控制信号的档位
   814  00011A   3402(1)  	b0mov	y,#signaltable$m
   815  00011B   3317(1)  	b0mov	z,#signaltable$l
   816  00011C   1E24(1)  	mov	a,tablecount
   817  00011D   1383(1)  	add	z,a
   818  00011E   2D00(1)  	mov	a,#0
   819  00011F   1184(1)  	adc	y,a
   820  000120   0D00(2)  	movc
   821  000121   2221(1)  	sub	a,leveh
   822  000122   5286(1+S)  	bts0	fc
   823  000123   8128(2)  	jmp	chksignaltableend	
   824  000124   8125(2)  	jmp	signaltableadd
   825  000125             signaltableadd:
   826  000125   1624(1+S)  	incms	tablecount
   827  000126   0000(1)  	nop
   828  000127   811A(2)  	jmp	chksignaltable
   829  000128             chksignaltableend:
   830  000128   1E24(1)  	mov	a,tablecount	
   831  000129   5086(1+S)  	bts0	fz
   832  00012A   81FD(2)  	jmp	mnint008		;error
   833  00012B   2416(1)  	sub	a,#22
   834  00012C   5286(1+S)  	bts0	fc
   835  00012D   81FD(2)  	jmp	mnint008		;error
   836  00012E   1E24(1)  	mov	a,tablecount
   837  00012F   1407(1)  	add	a,zerocontant
   838  000130   1F0B(1)  	mov	gearbuf,a
   839  000131   1E0C(1)  	mov	a,inputcount
   840  000132             	@jmp_a	5
   841  000132   13CE(1)  	add	pcl, a
   842  000133   8202(2)  	jmp	mnint00
   843  000134   8138(2)  	jmp	gearwing
   844  000135   8174(2)  	jmp	gearempennage
   845  000136   81AF(2)  	jmp	gearscrew
   846  000137   81D6(2)  	jmp	gearswing
   847  000138             ;	jmp	mnint00	
   848  000138             gearwing:
   849  000138   1E0B(1)  	mov	a,gearbuf
   850  000139   070E(1+S)  	cmprs	a,wingbuf1
   851  00013A   8171(2)  	jmp	gearwing10
   852  00013B   161D(1+S)  	incms	samebuf1
   853  00013C   0000(1)  	nop
   854  00013D   1E1D(1)  	mov	a,samebuf1
   855  00013E   2403(1)  	sub	a,samecontant
   856  00013F   5A86(1+S)  	bts1	fc
   857  000140   8202(2)  	jmp	mnint00	
   858  000141   2B1D(1)  	clr	samebuf1
   859  000142   C07B(2)  	call	completey
   860  000143             
   861  000143             gearwing50:
   862  000143   592A(1+S)  	bts1	csyenbflag
   863  000144   8157(2)  	jmp	gearwing20
   864  000145             gearwing60:
   865  000145   592A(1+S)  	bts1	csyenbflag
   866  000146   8202(2)  	jmp	mnint00
   867  000147   5A2A(1+S)  	bts1	wingaddflag
   868  000148   814F(2)  	jmp	gearwing30
   869  000149   422A(1)  	bclr	wingaddflag
   870  00014A   2D11(1)  	mov	a,equalcontant
   871  00014B   120A(1)  	add	a,csycalibratebuf
   872  00014C   120A(1)  	add	a,csycalibratebuf
   873  00014D   1F0E(1)  	mov	wingbuf1,a
   874  00014E   8157(2)  	jmp	gearwing20
   875  00014F             
   876  00014F             gearwing30:

⌨️ 快捷键说明

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