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

📄 plane050930v01.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 4 页
字号:
   329  000053   2D9C(1)  	mov	A,#156;206;
   330  000054             
   331  000054             ;	MOV	A,#01100100B
   332  000054             ;	B0MOV	TC0M,A			; Set the TC0 rate=Fcpu/64
   333  000054             ;	mov	A,#206			;200us
   334  000054   2FDB(1)  	b0mov	TC0C,A			; Set the TC0 timer
   335  000055   2FCD(1)  	b0mov	tc0r,a
   336  000056             ;	bclr fpwm0out
   337  000056   6FDA(1)  	b0bset	FTC0ENB			; Enable TIMER0
   338  000057   4DC9(1)  	bset	FTC0IEN			; Enable TC0 interrupt
   339  000058   45C8(1)  	bclr	ftc0irq			; CLEAR TIMER0 INTERRUPT FLAG
   340  000059             
   341  000059             			; Enable P00 interrup
   342  000059             	@P00_EDGE	2		;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;	
   343  000059   2D10(1)  			   MOV		A,#00010000B
   344  00005A   2FBF(1)  			   B0MOV	PEDGE,A
   345  00005B   60C8(1)  	b0bclr	FP00IRQ
   346  00005C   68C9(1)  	b0bset	FP00IEN	
   347  00005D             
   348  00005D   6FDF(1)  	b0bset	FGIE			;//enable Interrupt gain
   349  00005E   0E00(2)  	ret
   350  00005F             
   351  00005F             ;***********************************************	
   352  00005F             Pdelay100ms:
   353  00005F   2D64(1)  	mov	a,#100
   354  000060   1F26(1)  	mov	r2,a
   355  000061             Pdelay1ms:
   356  000061   2D64(1)  	mov	a,#100	
   357  000062   1F25(1)  	mov	r1,a
   358  000063             Pdelay10us:
   359  000063   8064(2)  	jmp	$+1
   360  000064   8065(2)  	jmp	$+1
   361  000065   8066(2)  	jmp	$+1
   362  000066   2625(1+S)  	decms	r1
   363  000067   8063(2)  	jmp	Pdelay10us
   364  000068   2626(1+S)  	decms	r2
   365  000069   8061(2)  	jmp	Pdelay1ms
   366  00006A             Pdelay90:
   367  00006A   0E00(2)  	ret	
   368  00006B             	
   369  00006B             	
   370  00006B             	include		app.asm
   371  00006B             mnapp:
   372  00006B             ;	call	complete
   373  00006B             ;	call	wing
   374  00006B             ;	call	empennage
   375  00006B             ;	call	screw
   376  00006B             ;	call	swing
   377  00006B             ;	call	output
   378  00006B             	
   379  00006B             mnapp90:
   380  00006B   0E00(2)  	ret	
   381  00006C             ;*********************************************
   382  00006C             complete:
   383  00006C   1E0F(1)  	mov	a,empennagebuf1
   384  00006D   061F(1+S)  	cmprs	a,#01fh
   385  00006E   8070(2)  	jmp	complete10
   386  00006F   8078(2)  	jmp	complete80
   387  000070             complete10:
   388  000070   0620(1+S)  	cmprs	a,#020h
   389  000071   8073(2)  	jmp	complete20
   390  000072   8078(2)  	jmp	complete80
   391  000073             complete20:
   392  000073   0621(1+S)  	cmprs	a,#021h
   393  000074   8076(2)  	jmp	complete800
   394  000075   8078(2)  	jmp	complete80
   395  000076             complete800:
   396  000076   4028(1)  	bclr	csxenbflag
   397  000077   807A(2)  	jmp	complete90
   398  000078             complete80:
   399  000078   4828(1)  	bset	csxenbflag
   400  000079   807A(2)  	jmp	complete90	
   401  00007A             complete90:
   402  00007A   0E00(2)  	ret
   403  00007B             ;**********************************************		
   404  00007B             /*wing:
   405  00007B             	bts1	t5msflag1
   406  00007B             	jmp	wing90
   407  00007B             	bclr	t5msflag1
   408  00007B             	incms	timerwing
   409  00007B             	nop
   410  00007B             	mov	a,timerwing
   411  00007B             	sub	a,#200
   412  00007B             	bts0	fc
   413  00007B             	clr	timerwing
   414  00007B             	
   415  00007B             	b0mov	y,#outtable$m
   416  00007B             	b0mov	z,#outtable$l
   417  00007B             	mov	a,wingbuf
   418  00007B             	add	z,a
   419  00007B             	mov	a,#0
   420  00007B             	adc	y,a
   421  00007B             	movc
   422  00007B             	mov	r1,a
   423  00007B             	mov	a,timerwing
   424  00007B             	sub	a,r1
   425  00007B             	bts1	fc
   426  00007B             	jmp	wing10
   427  00007B             	bclr	winghighflag
   428  00007B             	jmp	wing90	
   429  00007B             wing10:
   430  00007B             	bset	winghighflag	
   431  00007B             	jmp	wing90
   432  00007B             wing90:
   433  00007B             	ret	
   434  00007B             
   435  00007B             ;*********************************************
   436  00007B             empennage:
   437  00007B             	bts1	t5msflag2
   438  00007B             	jmp	empennage90
   439  00007B             	bclr	t5msflag2
   440  00007B             	incms	timerempennage
   441  00007B             	nop
   442  00007B             	mov	a,timerempennage
   443  00007B             	sub	a,#200
   444  00007B             	bts0	fc
   445  00007B             	clr	timerempennage
   446  00007B             	
   447  00007B             	b0mov	y,#outtable$m
   448  00007B             	b0mov	z,#outtable$l
   449  00007B             	mov	a,empennagebuf
   450  00007B             	add	z,a
   451  00007B             	mov	a,#0
   452  00007B             	adc	y,a
   453  00007B             	movc
   454  00007B             	mov	r1,a
   455  00007B             	mov	a,timerempennage
   456  00007B             	sub	a,r1
   457  00007B             	bts1	fc
   458  00007B             	jmp	empennage10
   459  00007B             	bclr	empennagehighflag
   460  00007B             	jmp	empennage90	
   461  00007B             empennage10:
   462  00007B             	bset	empennagehighflag	
   463  00007B             	jmp	empennage90
   464  00007B             empennage90:
   465  00007B             	ret	
   466  00007B             ;*********************************************
   467  00007B             screw:
   468  00007B             	bts1	t5msflag3
   469  00007B             	jmp	screw90
   470  00007B             	bclr	t5msflag3
   471  00007B             	incms	timerscrew
   472  00007B             	nop
   473  00007B             	mov	a,timerscrew
   474  00007B             	sub	a,#200
   475  00007B             	bts0	fc
   476  00007B             	clr	timerscrew
   477  00007B             	
   478  00007B             	b0mov	y,#outtable$m
   479  00007B             	b0mov	z,#outtable$l
   480  00007B             	mov	a,screwbuf
   481  00007B             	add	z,a
   482  00007B             	mov	a,#0
   483  00007B             	adc	y,a
   484  00007B             	movc
   485  00007B             	mov	r1,a
   486  00007B             	mov	a,timerscrew
   487  00007B             	sub	a,r1
   488  00007B             	bts1	fc
   489  00007B             	jmp	screw10
   490  00007B             	bclr	screwhighflag
   491  00007B             	jmp	screw90	
   492  00007B             screw10:
   493  00007B             	bset	screwhighflag	
   494  00007B             	jmp	screw90
   495  00007B             screw90:
   496  00007B             	ret
   497  00007B             ;*********************************************
   498  00007B             swing:
   499  00007B             	bts1	t5msflag4
   500  00007B             	jmp	swing90
   501  00007B             	bclr	t5msflag4
   502  00007B             	incms	timerswing
   503  00007B             	nop
   504  00007B             	mov	a,timerswing
   505  00007B             	sub	a,#200
   506  00007B             	bts0	fc
   507  00007B             	clr	timerswing
   508  00007B             	
   509  00007B             	b0mov	y,#outtable$m
   510  00007B             	b0mov	z,#outtable$l
   511  00007B             	mov	a,swingbuf
   512  00007B             	add	z,a
   513  00007B             	mov	a,#0
   514  00007B             	adc	y,a
   515  00007B             	movc
   516  00007B             	mov	r1,a
   517  00007B             	mov	a,timerswing
   518  00007B             	sub	a,r1
   519  00007B             	bts1	fc
   520  00007B             	jmp	swing10
   521  00007B             	bclr	swinghighflag
   522  00007B             	jmp	swing90	
   523  00007B             swing10:
   524  00007B             	bset	swinghighflag	
   525  00007B             	jmp	swing90
   526  00007B             swing90:
   527  00007B             	ret	
   528  00007B             	
   529  00007B             ;***************************************************
   530  00007B             output:				;给步进电机发送信号
   531  00007B             	bts1	winghighflag
   532  00007B             	jmp	output80
   533  00007B             	bts1	ptwing
   534  00007B             	jmp	outputwing
   535  00007B             	bts1	t1800usflag
   536  00007B             	jmp	outputwing
   537  00007B             	bclr	t1800usflag
   538  00007B             	bclr	ptwing
   539  00007B             	jmp	output90
   540  00007B             outputwing:
   541  00007B             	bts1	t18msflag
   542  00007B             	jmp	output90
   543  00007B             	bclr	t18msflag
   544  00007B             	bset	ptwing
   545  00007B             	jmp	output90
   546  00007B             outputempennage:
   547  00007B             	bts1	empennagehighflag
   548  00007B             	jmp	outputempennage10
   549  00007B             	bset	ptempennage
   550  00007B             	jmp	outputscrew
   551  00007B             outputempennage10:
   552  00007B             	bclr	ptempennage
   553  00007B             	jmp	outputscrew
   554  00007B             outputscrew:
   555  00007B             	bts1	screwhighflag
   556  00007B             	jmp	outputscrew10
   557  00007B             	bset	ptscrew
   558  00007B             	jmp	outputswing
   559  00007B             outputscrew10:
   560  00007B             	bclr	ptscrew
   561  00007B             	jmp	outputswing
   562  00007B             outputswing:
   563  00007B             	bts1	swinghighflag
   564  00007B             	jmp	outputswing10
   565  00007B             	bset	ptswing
   566  00007B             	jmp	output90
   567  00007B             outputswing10:
   568  00007B             	bclr	ptswing
   569  00007B             	jmp	output90
   570  00007B             output80:
   571  00007B             	bclr	ptwing
   572  00007B             	bclr	ptempennage
   573  00007B             	bclr	ptscrew
   574  00007B             	bclr	ptswing
   575  00007B             output90:
   576  00007B             	ret
   577  00007B             
   578  00007B             ;***************************************************
   579  00007B             outtable:
   580  00007B             	dw	058h;4h
   581  00007B             	dw	05fh
   582  00007B             	dw	06ah
   583  00007B             	dw	075h
   584  00007B             	dw	080h
   585  00007B             	dw	08bh
   586  00007B             	dw	096h
   587  00007B             	dw	0a1h
   588  00007B             	dw	0ach
   589  00007B             	dw	0b8h
   590  00007B             */	
   591  00007B                         
   592  00007B             ;***************************************************
   593  00007B             	include		int.asm
   594  00007B             ;************************************************
   595  00007B             ;Name	:InterruptSub
   596  00007B             ;Function:
   597  00007B             ;Input  :
   598  00007B             ;Output	:
   599  00007B             ;Register Used:
   600  00007B             ;*************************************************
   601  00007B             InterruptSub:
   602  00007B   2C00(1)  	XCH	A,AccBuf
   603  00007C   2C86(1)  	XCH	A,PFLAG
   604  00007D   2F01(1)  	B0MOV	PflagBuf,A
   605  00007E             	
   606  00007E   75C8(1+S)  	b0bts0	FTC0IRQ		;//Analyse the Interrupt resourc
   607  00007F   8088(2)  	jmp	TC0INTR
   608  000080             	
   609  000080   74C8(1+S)  	b0bts0	ft0irq
   610  000081   80CA(2)  	jmp	t0intr
   611  000082             
   612  000082   70C8(1+S)  	b0bts0	FP00IRQ
   613  000083   80D4(2)  	jmp	P00INTR
   614  000084             
   615  000084             Interrupt90:
   616  000084   2C01(1)  	XCH	A,PflagBuf
   617  000085   2F86(1)  	B0MOV	PFLAG,A
   618  000086   2C00(1)  	XCH	A,AccBuf	;//For release the Acc And Pflag
   619  000087   0F00(2)  	RETI
   620  000088             ;--------------------------------------------------------
   621  000088             ;--------------------------------------------------------
   622  000088             TC0INTR:
   623  000088   1622(1+S)  	incms	timer5ms
   624  000089   0000(1)  	nop
   625  00008A   1E22(1)  	mov	a,timer5ms
   626  00008B   2464(1)  	sub	a,#100
   627  00008C   5A86(1+S)  	bts1	fc
   628  00008D   8090(2)  	jmp	tc0intr00
   629  00008E   2B22(1)  	clr	timer5ms
   630  00008F   4F27(1)  	bset	t5msflag
   631  000090             tc0intr00:
   632  000090             ;----------------------
   633  000090             ;左右翼控制
   634  000090   7229(1+S)  	b0bts0	wingstatflag
   635  000091   809B(2)  	jmp	TC0INTR10
   636  000092   69D1(1)  	b0bset	ptwing	
   637  000093   260A(1+S)  	decms	wingbuf
   638  000094   809E(2)  	jmp	TC0INTR20
   639  000095   61D1(1)  	b0bclr	ptwing	
   640  000096   6A29(1)  	b0bset	wingstatflag
   641  000097             	mov_	winglowbuf,lowcontant		;set low level 10ms
   642  000097   2DFA(1)  	mov	a, lowcontant
   643  000098   1F0D(1)  	mov	winglowbuf, a
   644  000099             	mov_	wingbuf,wingloadbuf	;set high level 
   645  000099   1E0C(1)  	mov	a, wingloadbuf
   646  00009A   1F0A(1)  	mov	wingbuf, a
   647  00009B             ;-----
   648  00009B             TC0INTR10:
   649  00009B   260D(1+S)  	decms	winglowbuf
   650  00009C   809E(2)  	jmp	TC0INTR20
   651  00009D   6229(1)  	b0bclr	wingstatflag	
   652  00009E             ;-----------------------
   653  00009E             TC0INTR20:
   654  00009E             ;尾翼控制
   655  00009E   7329(1+S)  	b0bts0	empennagestatflag
   656  00009F   80A9(2)  	jmp	TC0INTR30

⌨️ 快捷键说明

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