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

📄 plane050930v01.lst

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

⌨️ 快捷键说明

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