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

📄 define.asm

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 ASM
字号:
.list
.DATA

	org	0h				;Bank 0 data section start from RAM address 0x000
	AccBuf		ds	1		;Accumulater buffer
	PflagBuf	ds	1		;PFLAG buffer
	
	Keyinbuf	ds	1		;按键
	Keychkbuf	ds	1
	Keycvtbuf	ds	1
	Keyoldbuf	ds	1
	Keychat		ds	1
;	aplcode		ds	1
	csxtable	ds	1	;csx的表值	
	gearbuf		ds	1	;输出档位值
	inputcount	ds	1	;哪一个控制脚
	
;	wingbuf		ds	1	;左右翼档位
;	empennagebuf	ds	1	;尾翼档位
;	screwbuf	ds	1	;螺旋桨档位
;	swingbuf	ds	1	;摆尾档位
;飞机各控制脚输出
;//set by carman
	wingbuf		ds	1	;控制左右翼高电平输出宽度
	wingbuf1	ds	1	;左右翼档位1
	wingloadbuf	ds	1	;重新载入左右翼高电平控制信号
	winglowbuf	ds	1	;控制左右翼低电平输出宽度

	empennagebuf	ds	1	;控制尾翼高电平输出宽度
	empennagebuf1	ds	1	;尾翼档位1
	empennageloadbuf ds	1	;重新载入尾翼高电平控制信号
	empennagelowbuf	ds	1	;控制尾翼低电平输出宽度

	screwbuf	ds	1	;控制螺旋桨高电平输出宽度
	screwbuf1	ds	1	;螺旋桨档位1
	screwloadbuf	ds	1	;重新载入螺旋桨高电平控制信号
	screwlowbuf	ds	1	;控制螺旋桨低电平输出宽度

	swingbuf	ds	1	;控制摆尾高电平输出宽度
	swingbuf1	ds	1	;摆尾档位1
	swingloadbuf	ds	1	;重新载入摆尾高电平控制信号
	swinglowbuf	ds	1	;控制摆尾低电平输出宽度
;------
;可以通过设定以下RAM来改变各高电平宽度
;-----



;	wingbuf2	ds	1	;左右翼档位1
;	empennagebuf2	ds	1	;尾翼档位1
;	screwbuf2	ds	1	;螺旋桨档位1
;	swingbuf2	ds	1	;摆尾档位1

	samebuf1	ds	1
	samebuf2	ds	1
	samebuf3	ds	1
	samebuf4	ds	1

	
	leveh		ds	1	;接收信号的高电平计数值
	level		ds	1	;接收信号的低电平计数值
	levecount	ds	1	;接受信号计数值的中间变量
;	timerswing	ds	1	;摆尾输出振荡波形的计数值
;	timerempennage	ds	1	;尾翼输出振荡波形的计数值
;	timerwing	ds	1	;机翼输出振荡波形的计数值
;	timerscrew	ds	1	;螺旋桨输出振荡波形的计数值
	
	
	
	tablecount	ds	1	;查表的计数值
		
;	timer1800us	ds	1
	timer5ms	ds	1
	timer500ms	ds	1
	
	csxcalibratebuf	ds	1	;csx校准值
		
;	pulsecount1	ds	1	;低电平计数
;	pulsecount2	ds	1	;高电平计数
				
	r1		ds	1		;延时
	r2		ds	1
	
	flag		ds	1
	flag1		ds	1
	flag2		ds	1
	flag3		ds	1




;*************** Define flag ***************
;时间标志
;	t5msflag1	equ	flag.0
;	t5msflag2	equ	flag.1
;	t5msflag3	equ	flag.2
;	t5msflag4	equ	flag.3
;	t1800usflag	equ	flag.4
;	t200usflag	equ	flag.5
	t500msflag	equ	flag.6
	t5msflag	equ	flag.7
	
	
	csxenbflag		equ	flag1.0	;是否检测csx的信号
;	winghighflag		equ	flag1.1	;机翼是否输出振荡波的标志
;	empennagehighflag	equ	flag1.2	;尾翼是否输出振荡波的标志
;	screwhighflag		equ	flag1.3	;螺旋桨是否输出振荡波的标志
;	swinghighflag		equ	flag1.4	;摆尾是否输出振荡波的标志
	errorflag		equ	flag1.5	;
;	singleflag		equ	flag1.6	;遥控接收信号的中断标志
	firstflag		equ	flag1.7	;第一个接收信号的标志
	
	keystatflag		equ	flag2.0

	t18msflag		equ	flag2.1



;飞机各控制脚状态输出切换
;//set by carman
	wingstatflag		equ	flag2.2	;=0:high output,=1:low output
	empennagestatflag	equ	flag2.3
	screwstatflag		equ	flag2.4
	swingstatflag		equ	flag2.5


	chksigntableflag	equ	flag2.6
	empenaddflag		equ	flag2.7	;csx值加减标志
	empensubflag		equ	flag3.0
;	t0count		equ	#230;231

	samecontant		equ	#05h	;解码得到相同的次数
	lowcontant		equ	#250
	equalcontant		equ	#33

;----------------------------------------------
;-------------constant define------------------

;*************Port define**************************

        singleflag	equ     p0.0	;遥控接收脚
	ptwing		equ	p1.1	;机翼
	ptscrew		equ	p1.0	;螺旋桨
	ptempennage	equ	p1.2	;尾翼
      	ptswing		equ     p1.3	;摆尾
	
       	ptcsx1		equ	p5.0	;前后陀螺仪控制信号	
	ptcsx2		equ	p5.1	;
	ptcsx3		equ	p5.2	;
	ptcsx4		equ	p5.3	;
	ptcsy1		equ	p5.4	;左右陀螺仪控制信号
	ptcsy2		equ	p5.5	;
	ptcsy3		equ	p5.6	;
	ptcsy4		equ	p5.7	;
		
	
;*********Micro define as following****************
	NOTBIT		macro bit
			b0bts0 bit
			jmp $+3
			b0bset bit
			jmp $+2
			b0bclr bit
			endm

	IFLT16		expand mem1,val1,val2,adr			;mem<val val-->adr
			local flt00,flt10,flt20,flt30
			mov a,mem1+1
			cmprs a,val2
			jmp flt10
			mov a,mem1
			cmprs a,val1
			jmp flt20
			jmp flt30
		flt20:
			b0bts1 fc
			jmp adr
			jmp flt30
		flt10:
			b0bts1 fc
			jmp adr
		flt30:
			endm

⌨️ 快捷键说明

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