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

📄 plane050930v01.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 4 页
字号:
   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 + -