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

📄 plane051011v02.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 5 页
字号:
   293  000046   2BD5(1)  	clr	p5
   294  000047   0E00(2)  	ret
   295  000048             ;***********************************************
   296  000048             ;**********************************************
   297  000048             ;Name	:SysInitial
   298  000048             ;Function:
   299  000048             ;Input  :
   300  000048             ;Output	:
   301  000048             ;Register Used:
   302  000048             ;***********************************************
   303  000048             SysInitial:
   304  000048   2B86(1)  	clr	PFLAG			;pflag = x,x,x,x,x,c,dc,z
   305  000049   2D00(1)  	mov  	A,#00h			;Clear watchdog timer and initial system mode
   306  00004A   2FCA(1)  	b0mov	OSCM,A
   307  00004B             
   308  00004B   2D30(1)  	mov	A,#00110000B
   309  00004C   2FD8(1)  	b0mov	T0M,A			; Set the T0 rate=Fcpu/64
   310  00004D   2D00(1)  	mov	A,#0h
   311  00004E   2FD9(1)  	b0mov	T0C,A
   312  00004F   47D8(1)  	bclr	FT0enb			; Enable TIMER0
   313  000050   4CC9(1)  	bset	ft0ien			; Enable T0 interrupt
   314  000051   44C8(1)  	bclr	ft0irq			; CLEAR TIMER0 INTERRUPT FLAG
   315  000052             
   316  000052   2D74(1)  	MOV	A,#01110100B
   317  000053   2FDA(1)  	B0MOV	TC0M,A			;Set the TC0 rate=Fcpu/2
   318  000054   2D38(1)  	mov	A,#56;206;131;156;
   319  000055             
   320  000055             ;	MOV	A,#01100100B
   321  000055             ;	B0MOV	TC0M,A			; Set the TC0 rate=Fcpu/64
   322  000055             ;	mov	A,#206			;200us
   323  000055   2FDB(1)  	b0mov	TC0C,A			; Set the TC0 timer
   324  000056   2FCD(1)  	b0mov	tc0r,a
   325  000057             ;	bclr fpwm0out
   326  000057   6FDA(1)  	b0bset	FTC0ENB			; Enable TIMER0
   327  000058   4DC9(1)  	bset	FTC0IEN			; Enable TC0 interrupt
   328  000059   45C8(1)  	bclr	ftc0irq			; CLEAR TIMER0 INTERRUPT FLAG
   329  00005A             
   330  00005A             			; Enable P00 interrup
   331  00005A             	@P00_EDGE	2		;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;	
   332  00005A   2D10(1)  			   MOV		A,#00010000B
   333  00005B   2FBF(1)  			   B0MOV	PEDGE,A
   334  00005C   60C8(1)  	b0bclr	FP00IRQ
   335  00005D   68C9(1)  	b0bset	FP00IEN	
   336  00005E             
   337  00005E   6FDF(1)  	b0bset	FGIE			;//enable Interrupt gain
   338  00005F   0E00(2)  	ret
   339  000060             
   340  000060             ;***********************************************	
   341  000060             Pdelay100ms:
   342  000060   2D64(1)  	mov	a,#100
   343  000061   1F28(1)  	mov	r2,a
   344  000062             Pdelay1ms:
   345  000062   2D64(1)  	mov	a,#100	
   346  000063   1F27(1)  	mov	r1,a
   347  000064             Pdelay10us:
   348  000064   8065(2)  	jmp	$+1
   349  000065   8066(2)  	jmp	$+1
   350  000066   8067(2)  	jmp	$+1
   351  000067   2627(1+S)  	decms	r1
   352  000068   8064(2)  	jmp	Pdelay10us
   353  000069   2628(1+S)  	decms	r2
   354  00006A   8062(2)  	jmp	Pdelay1ms
   355  00006B             Pdelay90:
   356  00006B   0E00(2)  	ret	
   357  00006C             	
   358  00006C             	
   359  00006C             	include		app.asm
   360  00006C             mnapp:
   361  00006C             ;	call	complete
   362  00006C             ;	call	wing
   363  00006C             ;	call	empennage
   364  00006C             ;	call	screw
   365  00006C             ;	call	swing
   366  00006C             ;	call	output
   367  00006C             	
   368  00006C             mnapp90:
   369  00006C   0E00(2)  	ret	
   370  00006D             ;*********************************************
   371  00006D             completex:
   372  00006D   1E12(1)  	mov	a,empennagebuf1
   373  00006E   2410(1)  	sub	a,#010h
   374  00006F   5A86(1+S)  	bts1	fc
   375  000070   8076(2)  	jmp	completex800	;手柄控制
   376  000071   1E12(1)  	mov	a,empennagebuf1
   377  000072   2414(1)  	sub	a,#014h
   378  000073   5A86(1+S)  	bts1	fc	
   379  000074   8078(2)  	jmp	completex80	;自动控制
   380  000075   8076(2)  	jmp	completex800	;手柄控制
   381  000076             completex800:
   382  000076   402A(1)  	bclr	csxenbflag
   383  000077   807A(2)  	jmp	completex90
   384  000078             completex80:
   385  000078   482A(1)  	bset	csxenbflag
   386  000079   807A(2)  	jmp	completex90	
   387  00007A             completex90:
   388  00007A   0E00(2)  	ret
   389  00007B             
   390  00007B             completey:
   391  00007B   1E0E(1)  	mov	a,wingbuf1
   392  00007C   2410(1)  	sub	a,#010h
   393  00007D   5A86(1+S)  	bts1	fc
   394  00007E   8084(2)  	jmp	completey800	;手柄控制
   395  00007F   1E0E(1)  	mov	a,wingbuf1
   396  000080   2414(1)  	sub	a,#014h
   397  000081   5A86(1+S)  	bts1	fc	
   398  000082   8086(2)  	jmp	completey80	;自动控制
   399  000083   8084(2)  	jmp	completey800	;手柄控制
   400  000084             completey800:
   401  000084   412A(1)  	bclr	csyenbflag
   402  000085   8088(2)  	jmp	completey90
   403  000086             completey80:
   404  000086   492A(1)  	bset	csyenbflag
   405  000087   8088(2)  	jmp	completey90	
   406  000088             completey90:
   407  000088   0E00(2)  	ret
   408  000089             ;**********************************************		
   409  000089             /*wing:
   410  000089             	bts1	t5msflag1
   411  000089             	jmp	wing90
   412  000089             	bclr	t5msflag1
   413  000089             	incms	timerwing
   414  000089             	nop
   415  000089             	mov	a,timerwing
   416  000089             	sub	a,#200
   417  000089             	bts0	fc
   418  000089             	clr	timerwing
   419  000089             	
   420  000089             	b0mov	y,#outtable$m
   421  000089             	b0mov	z,#outtable$l
   422  000089             	mov	a,wingbuf
   423  000089             	add	z,a
   424  000089             	mov	a,#0
   425  000089             	adc	y,a
   426  000089             	movc
   427  000089             	mov	r1,a
   428  000089             	mov	a,timerwing
   429  000089             	sub	a,r1
   430  000089             	bts1	fc
   431  000089             	jmp	wing10
   432  000089             	bclr	winghighflag
   433  000089             	jmp	wing90	
   434  000089             wing10:
   435  000089             	bset	winghighflag	
   436  000089             	jmp	wing90
   437  000089             wing90:
   438  000089             	ret	
   439  000089             
   440  000089             ;*********************************************
   441  000089             empennage:
   442  000089             	bts1	t5msflag2
   443  000089             	jmp	empennage90
   444  000089             	bclr	t5msflag2
   445  000089             	incms	timerempennage
   446  000089             	nop
   447  000089             	mov	a,timerempennage
   448  000089             	sub	a,#200
   449  000089             	bts0	fc
   450  000089             	clr	timerempennage
   451  000089             	
   452  000089             	b0mov	y,#outtable$m
   453  000089             	b0mov	z,#outtable$l
   454  000089             	mov	a,empennagebuf
   455  000089             	add	z,a
   456  000089             	mov	a,#0
   457  000089             	adc	y,a
   458  000089             	movc
   459  000089             	mov	r1,a
   460  000089             	mov	a,timerempennage
   461  000089             	sub	a,r1
   462  000089             	bts1	fc
   463  000089             	jmp	empennage10
   464  000089             	bclr	empennagehighflag
   465  000089             	jmp	empennage90	
   466  000089             empennage10:
   467  000089             	bset	empennagehighflag	
   468  000089             	jmp	empennage90
   469  000089             empennage90:
   470  000089             	ret	
   471  000089             ;*********************************************
   472  000089             screw:
   473  000089             	bts1	t5msflag3
   474  000089             	jmp	screw90
   475  000089             	bclr	t5msflag3
   476  000089             	incms	timerscrew
   477  000089             	nop
   478  000089             	mov	a,timerscrew
   479  000089             	sub	a,#200
   480  000089             	bts0	fc
   481  000089             	clr	timerscrew
   482  000089             	
   483  000089             	b0mov	y,#outtable$m
   484  000089             	b0mov	z,#outtable$l
   485  000089             	mov	a,screwbuf
   486  000089             	add	z,a
   487  000089             	mov	a,#0
   488  000089             	adc	y,a
   489  000089             	movc
   490  000089             	mov	r1,a
   491  000089             	mov	a,timerscrew
   492  000089             	sub	a,r1
   493  000089             	bts1	fc
   494  000089             	jmp	screw10
   495  000089             	bclr	screwhighflag
   496  000089             	jmp	screw90	
   497  000089             screw10:
   498  000089             	bset	screwhighflag	
   499  000089             	jmp	screw90
   500  000089             screw90:
   501  000089             	ret
   502  000089             ;*********************************************
   503  000089             swing:
   504  000089             	bts1	t5msflag4
   505  000089             	jmp	swing90
   506  000089             	bclr	t5msflag4
   507  000089             	incms	timerswing
   508  000089             	nop
   509  000089             	mov	a,timerswing
   510  000089             	sub	a,#200
   511  000089             	bts0	fc
   512  000089             	clr	timerswing
   513  000089             	
   514  000089             	b0mov	y,#outtable$m
   515  000089             	b0mov	z,#outtable$l
   516  000089             	mov	a,swingbuf
   517  000089             	add	z,a
   518  000089             	mov	a,#0
   519  000089             	adc	y,a
   520  000089             	movc
   521  000089             	mov	r1,a
   522  000089             	mov	a,timerswing
   523  000089             	sub	a,r1
   524  000089             	bts1	fc
   525  000089             	jmp	swing10
   526  000089             	bclr	swinghighflag
   527  000089             	jmp	swing90	
   528  000089             swing10:
   529  000089             	bset	swinghighflag	
   530  000089             	jmp	swing90
   531  000089             swing90:
   532  000089             	ret	
   533  000089             	
   534  000089             ;***************************************************
   535  000089             output:				;给步进电机发送信号
   536  000089             	bts1	winghighflag
   537  000089             	jmp	output80
   538  000089             	bts1	ptwing
   539  000089             	jmp	outputwing
   540  000089             	bts1	t1800usflag
   541  000089             	jmp	outputwing
   542  000089             	bclr	t1800usflag
   543  000089             	bclr	ptwing
   544  000089             	jmp	output90
   545  000089             outputwing:
   546  000089             	bts1	t18msflag
   547  000089             	jmp	output90
   548  000089             	bclr	t18msflag
   549  000089             	bset	ptwing
   550  000089             	jmp	output90
   551  000089             outputempennage:
   552  000089             	bts1	empennagehighflag
   553  000089             	jmp	outputempennage10
   554  000089             	bset	ptempennage
   555  000089             	jmp	outputscrew
   556  000089             outputempennage10:
   557  000089             	bclr	ptempennage
   558  000089             	jmp	outputscrew
   559  000089             outputscrew:
   560  000089             	bts1	screwhighflag
   561  000089             	jmp	outputscrew10
   562  000089             	bset	ptscrew
   563  000089             	jmp	outputswing
   564  000089             outputscrew10:
   565  000089             	bclr	ptscrew
   566  000089             	jmp	outputswing
   567  000089             outputswing:
   568  000089             	bts1	swinghighflag
   569  000089             	jmp	outputswing10
   570  000089             	bset	ptswing
   571  000089             	jmp	output90
   572  000089             outputswing10:
   573  000089             	bclr	ptswing
   574  000089             	jmp	output90
   575  000089             output80:
   576  000089             	bclr	ptwing
   577  000089             	bclr	ptempennage
   578  000089             	bclr	ptscrew
   579  000089             	bclr	ptswing
   580  000089             output90:
   581  000089             	ret
   582  000089             
   583  000089             ;***************************************************
   584  000089             outtable:

⌨️ 快捷键说明

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