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

📄 plane050930v01.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 5 页
字号:
   559  00007A             
   560  00007A             ;***************************************************
   561  00007A             outtable:
   562  00007A             	dw	058h;4h
   563  00007A             	dw	05fh
   564  00007A             	dw	06ah
   565  00007A             	dw	075h
   566  00007A             	dw	080h
   567  00007A             	dw	08bh
   568  00007A             	dw	096h
   569  00007A             	dw	0a1h
   570  00007A             	dw	0ach
   571  00007A             	dw	0b8h
   572  00007A             */	
   573  00007A                         
   574  00007A             ;***************************************************
   575  00007A             	include		int.asm
   576  00007A             ;************************************************
   577  00007A             ;Name	:InterruptSub
   578  00007A             ;Function:
   579  00007A             ;Input  :
   580  00007A             ;Output	:
   581  00007A             ;Register Used:
   582  00007A             ;*************************************************
   583  00007A             InterruptSub:
   584  00007A   2C00(1)  	XCH	A,AccBuf
   585  00007B   2C86(1)  	XCH	A,PFLAG
   586  00007C   2F01(1)  	B0MOV	PflagBuf,A
   587  00007D             	
   588  00007D   75C8(1+S)  	b0bts0	FTC0IRQ		;//Analyse the Interrupt resourc
   589  00007E   8087(2)  	jmp	TC0INTR
   590  00007F             	
   591  00007F   74C8(1+S)  	b0bts0	ft0irq
   592  000080   80C9(2)  	jmp	t0intr
   593  000081             
   594  000081   70C8(1+S)  	b0bts0	FP00IRQ
   595  000082   80D3(2)  	jmp	P00INTR
   596  000083             
   597  000083             Interrupt90:
   598  000083   2C01(1)  	XCH	A,PflagBuf
   599  000084   2F86(1)  	B0MOV	PFLAG,A
   600  000085   2C00(1)  	XCH	A,AccBuf	;//For release the Acc And Pflag
   601  000086   0F00(2)  	RETI
   602  000087             ;--------------------------------------------------------
   603  000087             ;--------------------------------------------------------
   604  000087             TC0INTR:
   605  000087   1622(1+S)  	incms	timer5ms
   606  000088   0000(1)  	nop
   607  000089   1E22(1)  	mov	a,timer5ms
   608  00008A   2464(1)  	sub	a,#100
   609  00008B   5A86(1+S)  	bts1	fc
   610  00008C   808F(2)  	jmp	tc0intr00
   611  00008D   2B22(1)  	clr	timer5ms
   612  00008E   4F27(1)  	bset	t5msflag
   613  00008F             tc0intr00:
   614  00008F             ;----------------------
   615  00008F             ;左右翼控制
   616  00008F   7229(1+S)  	b0bts0	wingstatflag
   617  000090   809A(2)  	jmp	TC0INTR10
   618  000091   69D1(1)  	b0bset	ptwing	
   619  000092   260A(1+S)  	decms	wingbuf
   620  000093   809D(2)  	jmp	TC0INTR20
   621  000094   61D1(1)  	b0bclr	ptwing	
   622  000095   6A29(1)  	b0bset	wingstatflag
   623  000096             	mov_	winglowbuf,lowcontant		;set low level 10ms
   624  000096   2DA5(1)  	mov	a, lowcontant
   625  000097   1F0D(1)  	mov	winglowbuf, a
   626  000098             	mov_	wingbuf,wingloadbuf	;set high level 
   627  000098   1E0C(1)  	mov	a, wingloadbuf
   628  000099   1F0A(1)  	mov	wingbuf, a
   629  00009A             ;-----
   630  00009A             TC0INTR10:
   631  00009A   260D(1+S)  	decms	winglowbuf
   632  00009B   809D(2)  	jmp	TC0INTR20
   633  00009C   6229(1)  	b0bclr	wingstatflag	
   634  00009D             ;-----------------------
   635  00009D             TC0INTR20:
   636  00009D             ;尾翼控制
   637  00009D   7329(1+S)  	b0bts0	empennagestatflag
   638  00009E   80A8(2)  	jmp	TC0INTR30
   639  00009F   6AD1(1)  	b0bset	ptempennage	
   640  0000A0   260E(1+S)  	decms	empennagebuf
   641  0000A1   80AB(2)  	jmp	TC0INTR40
   642  0000A2   62D1(1)  	b0bclr	ptempennage	
   643  0000A3   6B29(1)  	b0bset	empennagestatflag
   644  0000A4             	mov_	empennagelowbuf,lowcontant		;set low level 10ms
   645  0000A4   2DA5(1)  	mov	a, lowcontant
   646  0000A5   1F11(1)  	mov	empennagelowbuf, a
   647  0000A6             	mov_	empennagebuf,empennageloadbuf	;set high level 
   648  0000A6   1E10(1)  	mov	a, empennageloadbuf
   649  0000A7   1F0E(1)  	mov	empennagebuf, a
   650  0000A8             ;-----
   651  0000A8             TC0INTR30:
   652  0000A8   2611(1+S)  	decms	empennagelowbuf
   653  0000A9   80AB(2)  	jmp	TC0INTR40
   654  0000AA   6329(1)  	b0bclr	empennagestatflag	
   655  0000AB             ;-----------------------
   656  0000AB             TC0INTR40:
   657  0000AB             ;螺旋桨控制
   658  0000AB   7429(1+S)  	b0bts0	screwstatflag
   659  0000AC   80B6(2)  	jmp	TC0INTR50
   660  0000AD   68D1(1)  	b0bset	ptscrew	
   661  0000AE   2612(1+S)  	decms	screwbuf
   662  0000AF   80B9(2)  	jmp	TC0INTR60
   663  0000B0   60D1(1)  	b0bclr	ptscrew	
   664  0000B1   6C29(1)  	b0bset	screwstatflag
   665  0000B2             	mov_	screwlowbuf,lowcontant	;set low level 10ms
   666  0000B2   2DA5(1)  	mov	a, lowcontant
   667  0000B3   1F15(1)  	mov	screwlowbuf, a
   668  0000B4             	mov_	screwbuf,screwloadbuf	;set high level 
   669  0000B4   1E14(1)  	mov	a, screwloadbuf
   670  0000B5   1F12(1)  	mov	screwbuf, a
   671  0000B6             ;-----
   672  0000B6             TC0INTR50:
   673  0000B6   2615(1+S)  	decms	screwlowbuf
   674  0000B7   80B9(2)  	jmp	TC0INTR60
   675  0000B8   6429(1)  	b0bclr	screwstatflag	
   676  0000B9             ;-----------------------
   677  0000B9             TC0INTR60:
   678  0000B9             ;摆尾控制
   679  0000B9   7529(1+S)  	b0bts0	swingstatflag
   680  0000BA   80C4(2)  	jmp	TC0INTR70
   681  0000BB   6BD1(1)  	b0bset	ptswing	
   682  0000BC   2616(1+S)  	decms	swingbuf
   683  0000BD   80C7(2)  	jmp	TC0INTR80
   684  0000BE   63D1(1)  	b0bclr	ptswing	
   685  0000BF   6D29(1)  	b0bset	swingstatflag
   686  0000C0             	mov_	swinglowbuf,lowcontant	;set low level 10ms
   687  0000C0   2DA5(1)  	mov	a, lowcontant
   688  0000C1   1F19(1)  	mov	swinglowbuf, a
   689  0000C2             	mov_	swingbuf,swingloadbuf	;set high level 
   690  0000C2   1E18(1)  	mov	a, swingloadbuf
   691  0000C3   1F16(1)  	mov	swingbuf, a
   692  0000C4             ;-----
   693  0000C4             TC0INTR70:
   694  0000C4   2619(1+S)  	decms	swinglowbuf
   695  0000C5   80C7(2)  	jmp	TC0INTR80
   696  0000C6   6529(1)  	b0bclr	swingstatflag
   697  0000C7             ;-----
   698  0000C7             TC0INTR80:	
   699  0000C7             TC0INTR90:
   700  0000C7   65C8(1)  	b0bclr	FTC0IRQ
   701  0000C8   8083(2)  	jmp	Interrupt90
   702  0000C9             ;--------------------------------------------------------
   703  0000C9             ;--------------------------------------------------------
   704  0000C9             t0intr:
   705  0000C9   2D06(1)  	mov	a,#6
   706  0000CA   2220(1)  	sub	a,levecount
   707  0000CB   5286(1+S)  	bts0	fc
   708  0000CC   80CF(2)  	jmp	t0intr10
   709  0000CD   4D28(1)  	bset	errorflag
   710  0000CE   80D1(2)  	jmp	t0intr90
   711  0000CF             t0intr10:
   712  0000CF   1620(1+S)  	incms	levecount
   713  0000D0   0000(1)  	nop
   714  0000D1             t0intr90:
   715  0000D1   44C8(1)  	bclr	ft0irq
   716  0000D2   8083(2)  	jmp	interrupt90
   717  0000D3             ;--------------------------------------------------------
   718  0000D3             ;--------------------------------------------------------
   719  0000D3             P00INTR:		
   720  0000D3   40C8(1)  	bclr	fp00irq
   721  0000D4   47D8(1)  	bclr	ft0enb
   722  0000D5   1ED9(1)  	mov	a,t0c
   723  0000D6   58D0(1+S)  	bts1	singleflag	
   724  0000D7   80DA(2)  	jmp	disasm100				
   725  0000D8   1F1F(1)  	mov	level,a		;上升沿进入
   726  0000D9   80DC(2)  	jmp	disasm200		
   727  0000DA             disasm100:
   728  0000DA   1F1E(1)  	mov	leveh,a		;下降沿进入
   729  0000DB   80DC(2)  	jmp	disasm200
   730  0000DC             disasm200:
   731  0000DC   2BD9(1)  	clr	t0c		
   732  0000DD   4FD8(1)  	bset	ft0enb	
   733  0000DE   50D0(1+S)  	bts0	singleflag
   734  0000DF   80EC(2)  	jmp	disasm220
   735  0000E0   80E1(2)  	jmp 	disasm210
   736  0000E1             disasm210:
   737  0000E1             	@p00_edge	1		;下降沿进入,设为上升沿中断
   738  0000E1   2D08(1)  			   MOV		A,#00001000B
   739  0000E2   2FBF(1)  			   B0MOV	PEDGE,A
   740  0000E3   5728(1+S)  	bts0	firstflag
   741  0000E4   80F7(2)  	jmp	disasm221
   742  0000E5   1E20(1)  	mov	a,levecount
   743  0000E6   5086(1+S)  	bts0	fz
   744  0000E7   80FE(2)  	jmp	disasm80
   745  0000E8   4F28(1)  	bset	firstflag
   746  0000E9   2B20(1)  	clr	levecount
   747  0000EA   2B09(1)  	clr	inputcount
   748  0000EB   8105(2)  	jmp	disasm90	
   749  0000EC             disasm220:
   750  0000EC             	@p00_edge	2		;上升沿进入,设为下降沿中断	
   751  0000EC   2D10(1)  			   MOV		A,#00010000B
   752  0000ED   2FBF(1)  			   B0MOV	PEDGE,A
   753  0000EE   2D23(1)  	mov	a,#35;60;56			;448us=8x56
   754  0000EF   221F(1)  	sub	a,level
   755  0000F0   5286(1+S)  	bts0	fc
   756  0000F1   80FE(2)  	jmp	disasm80		;小于448us,出错
   757  0000F2   2D5F(1)  	mov	a,#95;70;75			;600us=8x75
   758  0000F3   221F(1)  	sub	a,level
   759  0000F4   5286(1+S)  	bts0	fc
   760  0000F5   8105(2)  	jmp	disasm90		;小于600us,返回
   761  0000F6   80FE(2)  	jmp	disasm80		;大于600us,出错
   762  0000F7             disasm221:
   763  0000F7   1609(1+S)  	incms	inputcount
   764  0000F8   0000(1)  	nop
   765  0000F9   1E09(1)  	mov	a,inputcount
   766  0000FA   2405(1)  	sub	a,#5
   767  0000FB   5A86(1+S)  	bts1	fc
   768  0000FC   8104(2)  	jmp	disasm70;chksignaltable
   769  0000FD   80FE(2)  	jmp	disasm80	
   770  0000FE             disasm80:
   771  0000FE             	@p00_edge	2		;出错,设为下降沿中断
   772  0000FE   2D10(1)  			   MOV		A,#00010000B
   773  0000FF   2FBF(1)  			   B0MOV	PEDGE,A
   774  000100   2B09(1)  	clr	inputcount
   775  000101   2B20(1)  	clr	levecount
   776  000102   4728(1)  	bclr	firstflag
   777  000103   8105(2)  	jmp	disasm90
   778  000104             disasm70:
   779  000104   4E29(1)  	bset	chksigntableflag	
   780  000105             disasm90:
   781  000105             P00INTR90:
   782  000105   8083(2)  	jmp	Interrupt90
   783  000106             ;***********************************************
   784  000106             mnint:
   785  000106   5E29(1+S)  	bts1	chksigntableflag
   786  000107   815D(2)  	jmp	gearempennage60
   787  000108   4629(1)  	bclr	chksigntableflag
   788  000109   2B21(1)  	clr	tablecount
   789  00010A   40C9(1)  	bclr	fp00ien
   790  00010B             chksignaltable:				;查询控制信号的档位
   791  00010B   3401(1)  	b0mov	y,#signaltable$m
   792  00010C   33EC(1)  	b0mov	z,#signaltable$l
   793  00010D   1E21(1)  	mov	a,tablecount
   794  00010E   1383(1)  	add	z,a
   795  00010F   2D00(1)  	mov	a,#0
   796  000110   1184(1)  	adc	y,a
   797  000111   0D00(2)  	movc
   798  000112   221E(1)  	sub	a,leveh
   799  000113   5286(1+S)  	bts0	fc
   800  000114   8119(2)  	jmp	chksignaltableend	
   801  000115   8116(2)  	jmp	signaltableadd
   802  000116             signaltableadd:
   803  000116   1621(1+S)  	incms	tablecount
   804  000117   0000(1)  	nop
   805  000118   810B(2)  	jmp	chksignaltable
   806  000119             chksignaltableend:
   807  000119   1E21(1)  	mov	a,tablecount	
   808  00011A   5086(1+S)  	bts0	fz
   809  00011B   81D9(2)  	jmp	mnint008		;error
   810  00011C   2416(1)  	sub	a,#22
   811  00011D   5286(1+S)  	bts0	fc
   812  00011E   81D9(2)  	jmp	mnint008		;error
   813  00011F   1E21(1)  	mov	a,tablecount
   814  000120   1407(1)  	add	a,zerocontant
   815  000121   1F08(1)  	mov	gearbuf,a
   816  000122   1E09(1)  	mov	a,inputcount
   817  000123             	@jmp_a	5
   818  000123   13CE(1)  	add	pcl, a
   819  000124   81DE(2)  	jmp	mnint00
   820  000125   8129(2)  	jmp	gearwing
   821  000126   8150(2)  	jmp	gearempennage
   822  000127   818B(2)  	jmp	gearscrew
   823  000128   81B2(2)  	jmp	gearswing
   824  000129             ;	jmp	mnint00	
   825  000129             gearwing:
   826  000129   1E08(1)  	mov	a,gearbuf
   827  00012A   070B(1+S)  	cmprs	a,wingbuf1
   828  00012B   814C(2)  	jmp	gearwing10
   829  00012C   161A(1+S)  	incms	samebuf1
   830  00012D   0000(1)  	nop
   831  00012E   1E1A(1)  	mov	a,samebuf1
   832  00012F   2403(1)  	sub	a,samecontant
   833  000130   5A86(1+S)  	bts1	fc
   834  000131   81DE(2)  	jmp	mnint00	
   835  000132             
   836  000132   5827(1+S)  	bts1	add1flag
   837  000133   813D(2)  	jmp	gearwing001

⌨️ 快捷键说明

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