📄 define.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 + -