📄 鱼探仪.c
字号:
}
uint scsj()//判别深度设置参数
{
uint d;
clp_dog();
switch(caijisendud)//深度设定
{
case 0x00: d=suk+10; break;
case 0x01: d=suk+20; break;
case 0x02: d=suk+30; break;
case 0x03: d=suk+40; break;
case 0x04: d=suk+50; break;
case 0x05: d=suk+60; break;
case 0x06: d=suk+70; break;
case 0x07: d=suk+80; break;
case 0x08: d=suk+90; break;
case 0x09: d=suk+100; break;
case 0x0A: d=suk+120; break;
case 0x0B: d=suk+140; break;
case 0x0C: d=suk+160; break;
case 0x0D: d=suk+200; break;
case 0x0E: d=suk+250; break;
case 0x0F: d=suk+300; break;
case 0x10: d=suk+350; break;
case 0x11: d=suk+400; break;
case 0x12: d=suk+450; break;
case 0x13: d=suk+500; break;
case 0x14: d=suk+550; break;
case 0x15: d=suk+600; break;
default:d=suk+600;
}
return(d);
}
void scsjq()//判别微调点参数
{clp_dog();
switch(caijisendu)//深度设定
{
case 0x00: cm=1; break;
case 0x01: cm=2; break;
case 0x02: cm=3; break;
case 0x03: cm=4; break;
case 0x04: cm=5; break;
case 0x05: cm=6; break;
case 0x06: cm=7; break;
case 0x07: cm=8; break;
case 0x08: cm=9; break;
case 0x09: cm=10; break;
case 0x0A: cm=12; break;
case 0x0B: cm=14; break;
case 0x0C: cm=16; break;
case 0x0D: cm=20; break;
case 0x0E: cm=25; break;
case 0x10: cm=35; break;
case 0x11: cm=40; break;
case 0x12: cm=45; break;
case 0x13: cm=50; break;
case 0x14: cm=55; break;
case 0x15: cm=60; break;
default:cm=60;
}
}
void zdpbsa()//自动
{
sdset22();//自动判别
if(caijisendue==0x00)//深度设定
sdset1();
else if(caijisendue==0x01)
sdset2();
else if(caijisendue==0x02)
sdset3();
else if(caijisendue==0x03)
sdset4();
else if(caijisendue==0x04)
sdset5();
else if(caijisendue==0x05)
sdset6();
else if(caijisendue==0x06)
sdset7();
else if(caijisendue==0x07)
sdset8();
else if(caijisendue==0x08)
sdset9();
else if(caijisendue==0x09)
sdset10();
else if(caijisendue==0x0a)
sdset11();
else if(caijisendue==0x0b)
sdset12();
else if(caijisendue==0x0c)
sdset13();
else if(caijisendue==0x0d)
sdset14();
else if(caijisendue==0x0e)
sdset15();
else if(caijisendue==0x0f)
sdset16();
else if(caijisendue==0x10)
sdset17();
else if(caijisendue==0x11)
sdset18();
else if(caijisendue==0x12)
sdset19();
else if(caijisendue==0x13)
sdset20();
else sdset21();
clp_dog();
}
void pbhd(uint f)
{
if(f<=20)
sdset1();
else if(f<=30)
sdset2();
else if(f<=40)
sdset3();
else if(f<=50)
sdset4();
else if(f<=60)
sdset5();
else if(f<=70)
sdset6();
else if(f<=80)
sdset7();
else if(f<=90)
sdset8();
else if(f<=100)
sdset9();
else if(f<=120)
sdset10();
else if(f<=140)
sdset11();
else if(f<=160)
sdset12();
else if(f<=200)
sdset13();
else if(f<=250)
sdset14();
else if(f<=300)
sdset15();
else if(f<=350)
sdset16();
else if(f<=400)
sdset17();
else if(f<=450)
sdset18();
else if(f<=500)
sdset19();
else if(f<=550)
sdset20();
else sdset21();
clp_dog();
}
/*********************************/
//海底数值判别
/*********************************/
void sujucle()//数据处理
{
yasue();//数据压缩成500个数
zdpe(); //判断最大值
if(trp>5)
{
if(trp<480)
{
xlpe(); //判断最大斜率
haidisendu=haidewz();//海底值确定
if(trp<10)
{
if(zenyi==0x08)
{
zenyia++;
if(zenyia>0x07)
zenyia=0x07;
}
}
if(trp>50)
{
if(zenyi==0x08)
{
{
if(zenyia>0x00)
zenyia--;
}
}
}
}
else {haidisendu=0x0000;
if(zenyi==0x08)
{
if(zenyia>0x00)
zenyia--;
}
}
}
else {haidisendu=0xffff;
if(zenyi==0x08)
{
zenyia++;
if(zenyia>0x07)
zenyia=0x07;
}
}
clp_dog();
}
void yasue()
{
uint i;
uchar o;
uchar k;
uint g;
uchar xdata *fg;
clp_dog();
g=0;
fg=adcjs;
for(i=0;i<350;i++)//数据压缩成500个数
{
g=*fg;
for(o=1;o<cmb;o++)
{
fg++;
g=g+*fg;
}
k=g/cmb;
if(k<=zaibao)
k=0;
yssu[i]=k;
fg++;
g=0;
}
}
void zdpe() //判断最大值
{
uint i;
trp=0;
clp_dog();
for(i=2;i<350;i++) //判断最大值
{
if(yssu[i]>=0xf0)
{
haidea[trp]=i;
trp++;
}
}
}
void xlpe() //判断最大斜率,数据分组
{
int i;
int dc;
uint n;
uint m;//一组有几个数
dc=trp-1;
n=haidea[dc];
t=0;
m=1;
for(i=trp-2;i>=0;i--)
{
if(n-haidea[i]==1)
m++;
else
{
haier[t]=m;
dc=i+1;
haief[t]=haidea[dc];
t++;m=1;
}
n=haidea[i];
}
clp_dog();
}
uint haidewz()//海底值确定
{
uint i;
uint n;
uint m;
uint h;
uint k;
uchar w,b,j;
uint ds[9];
uint pu;
n=haier[0];
m=0;
for(i=1;i<t;i++)
{
if(haier[i]>=n)
{
m=i;
n=haier[i];
}
}
h=haief[m]*cmb*2;//5次海底值平均
ak=al;
al=az;
az=ax;
ax=av;
av=as;
as=ad;
ad=ar;
ar=ay;
ay=h;
ds[0]=ak;ds[1]=al;ds[2]=az;ds[3]=ax;ds[4]=av; ds[5]=as;ds[6]=ad;ds[7]=ar;ds[8]=ay;
for(b=0;b<8;b++)
{
w=b;
for(j=b+1;j<9;j++)
if(ds[j]<ds[w])w=j;
k=ds[w];ds[w]=ds[b];ds[b]=k;
}
pu=(ds[3]+ds[4]+ds[5])/3;
clp_dog();
return(pu);
}
/*********************************/
void sujuclf()//无海底扩大数据处理压缩
{
yasud();//数据压缩成500个数
clp_dog();
yasuf();//数据压缩成250个数
}
void yasud()
{
uint i;
uchar o;
uchar k;
uint g;
uchar xdata *fg;
g=0;
fg=adcjs;
fg=fg+suk*50;
for(i=0;i<350;i++)//上传数据压缩成500个数
{
g=*fg;
for(o=1;o<cm;o++)
{
fg++;
g=g+*fg;
}
k=g/cm;
if(k<=zaibao)
k=0;
yssu[i]=k;
fg++;
g=0;
}
}
void yasuf()//数据压缩成250个数
{
uchar i;
uchar n;
uchar xdata *fg;
fg=yssu;
for(i=0;i<=174;i++)
{
n=(*fg&0xf0)>>4;
fg++;
suju[i]=n|(*fg&0xf0);
fg++;
}
}
/*************************/
void sujuclg()//有海底扩大数据处理压缩
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -