📄 鱼探仪.lst
字号:
538 1 sdset9();
539 1 else if(f<=120)
540 1 sdset10();
541 1 else if(f<=140)
542 1 sdset11();
543 1 else if(f<=160)
544 1 sdset12();
545 1 else if(f<=200)
546 1 sdset13();
547 1 else if(f<=250)
548 1 sdset14();
549 1 else if(f<=300)
550 1 sdset15();
551 1 else if(f<=350)
C51 COMPILER V7.01 _鉥揭_ 05/09/2003 11:49:36 PAGE 10
552 1 sdset16();
553 1 else if(f<=400)
554 1 sdset17();
555 1 else if(f<=450)
556 1 sdset18();
557 1 else if(f<=500)
558 1 sdset19();
559 1 else if(f<=550)
560 1 sdset20();
561 1 else sdset21();
562 1 clp_dog();
563 1 }
564 /*********************************/
565 //海底数值判别
566 /*********************************/
567 void sujucle()//数据处理
568 {
569 1
570 1
571 1 yasue();//数据压缩成500个数
572 1 zdpe(); //判断最大值
573 1 if(trp>5)
574 1 {
575 2 if(trp<480)
576 2 {
577 3 xlpe(); //判断最大斜率
578 3 haidisendu=haidewz();//海底值确定
579 3 if(trp<10)
580 3 {
581 4 if(zenyi==0x08)
582 4 {
583 5 zenyia++;
584 5 if(zenyia>0x07)
585 5 zenyia=0x07;
586 5 }
587 4 }
588 3 if(trp>50)
589 3 {
590 4 if(zenyi==0x08)
591 4 {
592 5 {
593 6 if(zenyia>0x00)
594 6 zenyia--;
595 6 }
596 5 }
597 4 }
598 3 }
599 2 else {haidisendu=0x0000;
600 3 if(zenyi==0x08)
601 3 {
602 4 if(zenyia>0x00)
603 4 zenyia--;
604 4 }
605 3 }
606 2 }
607 1 else {haidisendu=0xffff;
608 2 if(zenyi==0x08)
609 2 {
610 3 zenyia++;
611 3 if(zenyia>0x07)
612 3 zenyia=0x07;
613 3 }
C51 COMPILER V7.01 _鉥揭_ 05/09/2003 11:49:36 PAGE 11
614 2
615 2 }
616 1 clp_dog();
617 1 }
618
619 void yasue()
620 {
621 1 uint i;
622 1 uchar o;
623 1 uchar k;
624 1 uint g;
625 1 uchar xdata *fg;
626 1 clp_dog();
627 1 g=0;
628 1 fg=adcjs;
629 1 for(i=0;i<350;i++)//数据压缩成500个数
630 1 {
631 2 g=*fg;
632 2
633 2 for(o=1;o<cmb;o++)
634 2 {
635 3 fg++;
636 3 g=g+*fg;
637 3 }
638 2 k=g/cmb;
639 2 if(k<=zaibao)
640 2 k=0;
641 2 yssu[i]=k;
642 2 fg++;
643 2 g=0;
644 2 }
645 1
646 1 }
647
648
649 void zdpe() //判断最大值
650 {
651 1 uint i;
652 1
653 1
654 1 trp=0;
655 1 clp_dog();
656 1 for(i=2;i<350;i++) //判断最大值
657 1 {
658 2 if(yssu[i]>=0xf0)
659 2 {
660 3 haidea[trp]=i;
661 3 trp++;
662 3 }
663 2
664 2 }
665 1 }
666
667
668 void xlpe() //判断最大斜率,数据分组
669 {
670 1 int i;
671 1 int dc;
672 1 uint n;
673 1 uint m;//一组有几个数
674 1 dc=trp-1;
675 1 n=haidea[dc];
C51 COMPILER V7.01 _鉥揭_ 05/09/2003 11:49:36 PAGE 12
676 1 t=0;
677 1 m=1;
678 1 for(i=trp-2;i>=0;i--)
679 1 {
680 2 if(n-haidea[i]==1)
681 2 m++;
682 2 else
683 2 {
684 3 haier[t]=m;
685 3 dc=i+1;
686 3 haief[t]=haidea[dc];
687 3 t++;m=1;
688 3 }
689 2 n=haidea[i];
690 2 }
691 1 clp_dog();
692 1 }
693
694 uint haidewz()//海底值确定
695 {
696 1 uint i;
697 1 uint n;
-
-
698 1 uint m;
699 1 uint h;
700 1 uint k;
701 1
702 1 uchar w,b,j;
703 1
704 1
705 1 uint ds[9];
706 1 uint pu;
707 1 n=haier[0];
708 1 m=0;
709 1 for(i=1;i<t;i++)
710 1 {
711 2
712 2 if(haier[i]>=n)
713 2 {
714 3 m=i;
715 3 n=haier[i];
716 3 }
717 2 }
718 1
719 1 h=haief[m]*cmb*2;//5次海底值平均
720 1 ak=al;
721 1 al=az;
722 1 az=ax;
723 1 ax=av;
724 1 av=as;
725 1 as=ad;
726 1 ad=ar;
727 1 ar=ay;
728 1 ay=h;
729 1 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;
730 1 for(b=0;b<8;b++)
731 1 {
732 2 w=b;
733 2 for(j=b+1;j<9;j++)
734 2
735 2 if(ds[j]<ds[w])w=j;
C51 COMPILER V7.01 _鉥揭_ 05/09/2003 11:49:36 PAGE 13
736 2 k=ds[w];ds[w]=ds[b];ds[b]=k;
737 2 }
738 1 pu=(ds[3]+ds[4]+ds[5])/3;
739 1 clp_dog();
740 1 return(pu);
741 1
742 1 }
743
744
745
746
747 /*********************************/
748 void sujuclf()//无海底扩大数据处理压缩
749 {
750 1 yasud();//数据压缩成500个数
751 1 clp_dog();
752 1 yasuf();//数据压缩成250个数
753 1 }
754 void yasud()
755 {
756 1 uint i;
757 1 uchar o;
758 1 uchar k;
759 1 uint g;
760 1 uchar xdata *fg;
761 1 g=0;
762 1 fg=adcjs;
763 1 fg=fg+suk*50;
764 1 for(i=0;i<350;i++)//上传数据压缩成500个数
765 1 {
766 2 g=*fg;
767 2
768 2 for(o=1;o<cm;o++)
769 2 {
770 3 fg++;
771 3 g=g+*fg;
772 3 }
773 2 k=g/cm;
774 2 if(k<=zaibao)
775 2 k=0;
776 2 yssu[i]=k;
777 2 fg++;
778 2 g=0;
779 2 }
780 1
781 1
782 1 }
783
784 void yasuf()//数据压缩成250个数
785 {
786 1 uchar i;
787 1 uchar n;
788 1 uchar xdata *fg;
789 1 fg=yssu;
790 1 for(i=0;i<=174;i++)
791 1 {
792 2
793 2 n=(*fg&0xf0)>>4;
794 2 fg++;
795 2 suju[i]=n|(*fg&0xf0);
796 2 fg++;
797 2 }
C51 COMPILER V7.01 _鉥揭_ 05/09/2003 11:49:36 PAGE 14
798 1
799 1 }
800
801
802
803 /*************************/
804 void sujuclg()//有海底扩大数据处理压缩
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -