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

📄 plane050930v01.lst

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 LST
📖 第 1 页 / 共 4 页
字号:
   320  000029   0E00(2)  	ret
   321  00002A             ;***********************************************
   322  00002A             PortInitial:
   323  00002A   2BD0(1)  	clr	p0
   324  00002B   2BD1(1)  	clr	p1
   325  00002C   2BD5(1)  	clr	p5
   326  00002D             
   327  00002D   2D00(1)  	mov	A,#00h  	;//don't Pull up p5,p1,p0 port
   328  00002E   2FE0(1)  	b0mov	p0ur,a
   329  00002F   2FE1(1)  	b0mov	P1UR,A
   330  000030   2DFF(1)  	mov	A,#0ffh 	
   331  000031   2FE5(1)  	b0mov	P5UR,A	
   332  000032             	
   333  000032   2DFE(1)  	mov	A,#0feh
   334  000033   1FB8(1)  	mov	p0m,a
   335  000034   2DFF(1)  	mov	A,#0ffh
   336  000035   1FC1(1)  	mov	P1M,A
   337  000036   2DFF(1)  	mov	A,#0ffh	
   338  000037   1FC5(1)  	mov	P5M,A
   339  000038             	
   340  000038   0000(1)  	nop
   341  000039   0000(1)  	nop
   342  00003A   0000(1)  	nop
   343  00003B   2BD0(1)  	clr	p0
   344  00003C   2BD1(1)  	clr	p1
   345  00003D   2BD5(1)  	clr	p5
   346  00003E   0E00(2)  	ret
   347  00003F             ;***********************************************
   348  00003F             ;**********************************************
   349  00003F             ;Name	:SysInitial
   350  00003F             ;Function:
   351  00003F             ;Input  :
   352  00003F             ;Output	:
   353  00003F             ;Register Used:
   354  00003F             ;***********************************************
   355  00003F             SysInitial:
   356  00003F   2B86(1)  	clr	PFLAG			;pflag = x,x,x,x,x,c,dc,z
   357  000040   2D00(1)  	mov  	A,#00h			;Clear watchdog timer and initial system mode
   358  000041   2FCA(1)  	b0mov	OSCM,A
   359  000042             
   360  000042   2D50(1)  	mov	A,#01010000B
   361  000043   2FD8(1)  	b0mov	T0M,A			;Set the T0 rate=Fcpu/64
   362  000044   2D00(1)  	mov	A,#0h
   363  000045   2FD9(1)  	b0mov	T0C,A
   364  000046   47D8(1)  	bclr	FT0enb			;Enable TIMER0
   365  000047   4CC9(1)  	bset	ft0ien			;Enable T0 interrupt
   366  000048   44C8(1)  	bclr	ft0irq			;CLEAR TIMER0 INTERRUPT FLAG
   367  000049             ;------
   368  000049             ;控制脚输出
   369  000049   2D74(1)  	MOV	A,#01110100B
   370  00004A   2FDA(1)  	B0MOV	TC0M,A			;Set the TC0 rate=Fcpu/2
   371  00004B   2D9C(1)  	mov	A,#156;206;		;50us//100us
   372  00004C   2FDB(1)  	b0mov	TC0C,A			;Set the TC0 timer,Fcpu=4mips
   373  00004D   2FCD(1)  	b0mov	tc0r,a
   374  00004E   6FDA(1)  	b0bset	FTC0ENB			;Enable TIMER0
   375  00004F   4DC9(1)  	bset	FTC0IEN			;Enable TC0 interrupt
   376  000050   45C8(1)  	bclr	ftc0irq			;CLEAR TIMER0 INTERRUPT FLAG
   377  000051             
   378  000051             					; Enable P00 interrup
   379  000051             	@P00_EDGE	2		;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;	
   380  000051   2D10(1)  			   MOV		A,#00010000B
   381  000052   2FBF(1)  			   B0MOV	PEDGE,A
   382  000053   60C8(1)  	b0bclr	FP00IRQ
   383  000054   68C9(1)  	b0bset	FP00IEN	
   384  000055             
   385  000055   6FDF(1)  	b0bset	FGIE			;//enable Interrupt gain
   386  000056   0E00(2)  	ret
   387  000057             
   388  000057             ;***********************************************	
   389  000057             Pdelay100us:
   390  000057   2D05(1)  	mov	a,#5	
   391  000058   1F1F(1)  	mov	r1,a
   392  000059             Pdelay10us:
   393  000059   805A(2)  	jmp	$+1
   394  00005A   805B(2)  	jmp	$+1
   395  00005B             ;//	jmp	$+1
   396  00005B   261F(1+S)  	decms	r1
   397  00005C   8059(2)  	jmp	Pdelay10us
   398  00005D   2620(1+S)  	decms	r2
   399  00005E   8057(2)  	jmp	Pdelay100us
   400  00005F             Pdelay90:
   401  00005F   0E00(2)  	ret	
   402  000060             
   403  000060             	
   404  000060             	
   405  000060             	include		app.asm
   406  000060             mnapp:
   407  000060   C067(2)  	call	complete
   408  000061   C073(2)  	call	wing
   409  000062   C08D(2)  	call	empennage
   410  000063   C0A7(2)  	call	screw
   411  000064   C0C1(2)  	call	swing
   412  000065   C0DB(2)  	call	output
   413  000066             	
   414  000066             mnapp90:
   415  000066   0E00(2)  	ret	
   416  000067             ;*********************************************
   417  000067             complete:
   418  000067   1E25(1)  	mov	a,empennagebuf
   419  000068   0605(1+S)  	cmprs	a,#5
   420  000069   806C(2)  	jmp	complete10
   421  00006A   4822(1)  	bset	csxenbflag
   422  00006B   8072(2)  	jmp	complete90
   423  00006C             complete10:
   424  00006C   0606(1+S)  	cmprs	a,#6
   425  00006D   8070(2)  	jmp	complete20
   426  00006E   4822(1)  	bset	csxenbflag
   427  00006F   8072(2)  	jmp	complete90
   428  000070             complete20:
   429  000070   4022(1)  	bclr	csxenbflag
   430  000071   8072(2)  	jmp	complete90	
   431  000072             complete90:
   432  000072   0E00(2)  	ret
   433  000073             ;**********************************************		
   434  000073             wing:
   435  000073   5821(1+S)  	bts1	t5msflag1
   436  000074   808C(2)  	jmp	wing90
   437  000075   4021(1)  	bclr	t5msflag1
   438  000076   1617(1+S)  	incms	timerwing
   439  000077   0000(1)  	nop
   440  000078   1E17(1)  	mov	a,timerwing
   441  000079   24C8(1)  	sub	a,#200
   442  00007A   5286(1+S)  	bts0	fc
   443  00007B   2B17(1)  	clr	timerwing
   444  00007C             	
   445  00007C   3401(1)  	b0mov	y,#outtable$m
   446  00007D   3300(1)  	b0mov	z,#outtable$l
   447  00007E   1E24(1)  	mov	a,wingbuf
   448  00007F   1383(1)  	add	z,a
   449  000080   2D00(1)  	mov	a,#0
   450  000081   1184(1)  	adc	y,a
   451  000082   0D00(2)  	movc
   452  000083   1F1F(1)  	mov	r1,a
   453  000084   1E17(1)  	mov	a,timerwing
   454  000085   221F(1)  	sub	a,r1
   455  000086   5A86(1+S)  	bts1	fc
   456  000087   808A(2)  	jmp	wing10
   457  000088   4122(1)  	bclr	winghighflag
   458  000089   808C(2)  	jmp	wing90	
   459  00008A             wing10:
   460  00008A   4922(1)  	bset	winghighflag	
   461  00008B   808C(2)  	jmp	wing90
   462  00008C             wing90:
   463  00008C   0E00(2)  	ret	
   464  00008D             
   465  00008D             ;*********************************************
   466  00008D             empennage:
   467  00008D   5921(1+S)  	bts1	t5msflag2
   468  00008E   80A6(2)  	jmp	empennage90
   469  00008F   4121(1)  	bclr	t5msflag2
   470  000090   1616(1+S)  	incms	timerempennage
   471  000091   0000(1)  	nop
   472  000092   1E16(1)  	mov	a,timerempennage
   473  000093   24C8(1)  	sub	a,#200
   474  000094   5286(1+S)  	bts0	fc
   475  000095   2B16(1)  	clr	timerempennage
   476  000096             	
   477  000096   3401(1)  	b0mov	y,#outtable$m
   478  000097   3300(1)  	b0mov	z,#outtable$l
   479  000098   1E25(1)  	mov	a,empennagebuf
   480  000099   1383(1)  	add	z,a
   481  00009A   2D00(1)  	mov	a,#0
   482  00009B   1184(1)  	adc	y,a
   483  00009C   0D00(2)  	movc
   484  00009D   1F1F(1)  	mov	r1,a
   485  00009E   1E16(1)  	mov	a,timerempennage
   486  00009F   221F(1)  	sub	a,r1
   487  0000A0   5A86(1+S)  	bts1	fc
   488  0000A1   80A4(2)  	jmp	empennage10
   489  0000A2   4222(1)  	bclr	empennagehighflag
   490  0000A3   80A6(2)  	jmp	empennage90	
   491  0000A4             empennage10:
   492  0000A4   4A22(1)  	bset	empennagehighflag	
   493  0000A5   80A6(2)  	jmp	empennage90
   494  0000A6             empennage90:
   495  0000A6   0E00(2)  	ret	
   496  0000A7             ;*********************************************
   497  0000A7             screw:
   498  0000A7   5A21(1+S)  	bts1	t5msflag3
   499  0000A8   80C0(2)  	jmp	screw90
   500  0000A9   4221(1)  	bclr	t5msflag3
   501  0000AA   1618(1+S)  	incms	timerscrew
   502  0000AB   0000(1)  	nop
   503  0000AC   1E18(1)  	mov	a,timerscrew
   504  0000AD   24C8(1)  	sub	a,#200
   505  0000AE   5286(1+S)  	bts0	fc
   506  0000AF   2B18(1)  	clr	timerscrew
   507  0000B0             	
   508  0000B0   3401(1)  	b0mov	y,#outtable$m
   509  0000B1   3300(1)  	b0mov	z,#outtable$l
   510  0000B2   1E26(1)  	mov	a,screwbuf
   511  0000B3   1383(1)  	add	z,a
   512  0000B4   2D00(1)  	mov	a,#0
   513  0000B5   1184(1)  	adc	y,a
   514  0000B6   0D00(2)  	movc
   515  0000B7   1F1F(1)  	mov	r1,a
   516  0000B8   1E18(1)  	mov	a,timerscrew
   517  0000B9   221F(1)  	sub	a,r1
   518  0000BA   5A86(1+S)  	bts1	fc
   519  0000BB   80BE(2)  	jmp	screw10
   520  0000BC   4322(1)  	bclr	screwhighflag
   521  0000BD   80C0(2)  	jmp	screw90	
   522  0000BE             screw10:
   523  0000BE   4B22(1)  	bset	screwhighflag	
   524  0000BF   80C0(2)  	jmp	screw90
   525  0000C0             screw90:
   526  0000C0   0E00(2)  	ret
   527  0000C1             ;*********************************************
   528  0000C1             swing:
   529  0000C1   5B21(1+S)  	bts1	t5msflag4
   530  0000C2   80DA(2)  	jmp	swing90
   531  0000C3   4321(1)  	bclr	t5msflag4
   532  0000C4   1615(1+S)  	incms	timerswing
   533  0000C5   0000(1)  	nop
   534  0000C6   1E15(1)  	mov	a,timerswing
   535  0000C7   24C8(1)  	sub	a,#200
   536  0000C8   5286(1+S)  	bts0	fc
   537  0000C9   2B15(1)  	clr	timerswing
   538  0000CA             	
   539  0000CA   3401(1)  	b0mov	y,#outtable$m
   540  0000CB   3300(1)  	b0mov	z,#outtable$l
   541  0000CC   1E27(1)  	mov	a,swingbuf
   542  0000CD   1383(1)  	add	z,a
   543  0000CE   2D00(1)  	mov	a,#0
   544  0000CF   1184(1)  	adc	y,a
   545  0000D0   0D00(2)  	movc
   546  0000D1   1F1F(1)  	mov	r1,a
   547  0000D2   1E15(1)  	mov	a,timerswing
   548  0000D3   221F(1)  	sub	a,r1
   549  0000D4   5A86(1+S)  	bts1	fc
   550  0000D5   80D8(2)  	jmp	swing10
   551  0000D6   4422(1)  	bclr	swinghighflag
   552  0000D7   80DA(2)  	jmp	swing90	
   553  0000D8             swing10:
   554  0000D8   4C22(1)  	bset	swinghighflag	
   555  0000D9   80DA(2)  	jmp	swing90
   556  0000DA             swing90:
   557  0000DA   0E00(2)  	ret		
   558  0000DB             ;***************************************************
   559  0000DB             output:				;给步进电机发送信号
   560  0000DB   5922(1+S)  	bts1	winghighflag
   561  0000DC   80FB(2)  	jmp	output80
   562  0000DD   59D1(1+S)  	bts1	ptwing
   563  0000DE   80E4(2)  	jmp	outputwing
   564  0000DF   5C21(1+S)  	bts1	t1800usflag
   565  0000E0   80E4(2)  	jmp	outputwing
   566  0000E1   4421(1)  	bclr	t1800usflag
   567  0000E2   41D1(1)  	bclr	ptwing
   568  0000E3   80FF(2)  	jmp	output90
   569  0000E4             outputwing:
   570  0000E4   5923(1+S)  	bts1	t18msflag
   571  0000E5   80FF(2)  	jmp	output90
   572  0000E6   4123(1)  	bclr	t18msflag
   573  0000E7   49D1(1)  	bset	ptwing
   574  0000E8   80FF(2)  	jmp	output90
   575  0000E9             outputempennage:
   576  0000E9   5A22(1+S)  	bts1	empennagehighflag
   577  0000EA   80ED(2)  	jmp	outputempennage10
   578  0000EB   4AD1(1)  	bset	ptempennage
   579  0000EC   80EF(2)  	jmp	outputscrew
   580  0000ED             outputempennage10:
   581  0000ED   42D1(1)  	bclr	ptempennage
   582  0000EE   80EF(2)  	jmp	outputscrew
   583  0000EF             outputscrew:
   584  0000EF   5B22(1+S)  	bts1	screwhighflag
   585  0000F0   80F3(2)  	jmp	outputscrew10
   586  0000F1   48D1(1)  	bset	ptscrew
   587  0000F2   80F5(2)  	jmp	outputswing
   588  0000F3             outputscrew10:
   589  0000F3   40D1(1)  	bclr	ptscrew
   590  0000F4   80F5(2)  	jmp	outputswing
   591  0000F5             outputswing:
   592  0000F5   5C22(1+S)  	bts1	swinghighflag
   593  0000F6   80F9(2)  	jmp	outputswing10
   594  0000F7   4BD1(1)  	bset	ptswing
   595  0000F8   80FF(2)  	jmp	output90
   596  0000F9             outputswing10:
   597  0000F9   43D1(1)  	bclr	ptswing
   598  0000FA   80FF(2)  	jmp	output90
   599  0000FB             output80:
   600  0000FB   41D1(1)  	bclr	ptwing
   601  0000FC   42D1(1)  	bclr	ptempennage
   602  0000FD   40D1(1)  	bclr	ptscrew
   603  0000FE   43D1(1)  	bclr	ptswing
   604  0000FF             output90:
   605  0000FF   0E00(2)  	ret
   606  000100             ;***************************************************
   607  000100             outtable:
   608  000100   0058(1)  	dw	058h;4h
   609  000101   005F(1)  	dw	05fh
   610  000102   006A(1)  	dw	06ah
   611  000103   0075(1)  	dw	075h
   612  000104   0080(1)  	dw	080h
   613  000105   008B(1)  	dw	08bh
   614  000106   0096(1)  	dw	096h
   615  000107   00A1(1)  	dw	0a1h
   616  000108   00AC(1)  	dw	0ach
   617  000109   00B8(1)  	dw	0b8h
   618  00010A             	
   619  00010A                         
   620  00010A             ;***************************************************
   621  00010A             	include		int.asm
   622  00010A             ;************************************************
   623  00010A             ;Name	:InterruptSub
   624  00010A             ;Function:
   625  00010A             ;Input  :
   626  00010A             ;Output	:
   627  00010A             ;Register Used:
   628  00010A             ;*************************************************
   629  00010A             InterruptSub:
   630  00010A   2C00(1)  	XCH	A,AccBuf
   631  00010B   2C86(1)  	XCH	A,PFLAG
   632  00010C   2F01(1)  	B0MOV	PflagBuf,A
   633  00010D             	
   634  00010D   75C8(1+S)  	b0bts0	FTC0IRQ		;//Analyse the Interrupt resourc
   635  00010E   8117(2)  	jmp	TC0INTR
   636  00010F             	
   637  00010F   74C8(1+S)  	b0bts0	ft0irq
   638  000110   8151(2)  	jmp	t0intr

⌨️ 快捷键说明

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