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

📄 mxulie.c

📁 简单的m序列产生办法(存储m序列
💻 C
字号:
#include<reg51.h>
#include<stdio.h>
sbit P0_0=P0^0;   //m序列输出
sbit P1_0=P1^0;   //同步信号输出
sbit P2_0=P2^0;   //200us
sbit P2_3=P2^3;   //2ms
sbit P2_6=P2^6;   //20ms
sbit P3_0=P3^0;   //31位m序列
sbit P3_3=P3^3;   //15位m序列
sbit P3_6=P3^6;   //7位m序列
sbit P3_7=P3^7;   //自动跳频选择
unsigned char num0[62]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01};
unsigned char num1[30]={0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01};
unsigned char num2[14]={0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00};
void initial_0(void)
{
 TCON=0x00;
 TH0=0xFF;
 TL0=0xC3;
 TR0=1;
}
void initial_1(void)
{
 TCON=0x00;
 TH0=0xFC;
 TL0=0x17;
 TR0=1;
}
void initial_2(void)
{
TCON=0x00;
TH0=0xD8;
TL0=0xEF;
TR0=1;
}
void main()
{ int i=0;
  while(1)
  {
//自动跳频选择
     int j=0;
	 int k=0;
     if(P3_7==1)
     {
	      if(P3_0==1)
          { 
		     for(k=0;k<100;k++){
             for(j=0;j<62;j++)
             { TMOD=0x01;
               initial_0();
               do{}while(!TF0);
               P0=num0[j++];
		       P1_0=!P1_0;
	         }}
			 for(k=0;k<10;k++){
             for(j=0;j<62;j++)
             { TMOD=0x01;
               initial_1();
               do{}while(!TF0);
               P0=num0[j++];
		       P1_0=!P1_0;
	         }}
             for(j=0;j<62;j++)
             { TMOD=0x01;
               initial_2();
               do{}while(!TF0);
               P0=num0[j++];
		       P1_0=!P1_0;
             }
	      }
          else if(P3_3==1)
          { 
		     for(k=0;k<100;k++){
             for(j=0;j<30;j++)
             { TMOD=0x01;
               initial_0();
               do{}while(!TF0);
               P0=num1[j++];
		       P1_0=!P1_0;
	         }}
             for(k=0;k<10;k++){
             for(j=0;j<30;j++)
             { TMOD=0x01;
               initial_1();
               do{}while(!TF0);
               P0=num1[j++];
		       P1_0=!P1_0;
	         }}
             for(j=0;j<30;j++)
             { TMOD=0x01;
               initial_2();
               do{}while(!TF0);
               P0=num1[j++];
		       P1_0=!P1_0;
             }
          }  
          else if(P3_6==1)
          {
		    for(k=0;k<100;k++){
            for(j=0;j<14;j++)
             { TMOD=0x01;
               initial_0();
               do{}while(!TF0);
               P0=num2[j++];
		       P1_0=!P1_0;
	         }}
			 for(k=0;k<10;k++){
             for(j=0;j<14;j++)
             { TMOD=0x01;
               initial_1();
               do{}while(!TF0);
               P0=num2[j++];
		       P1_0=!P1_0;
	         }}
             for(j=0;j<14;j++)
             { TMOD=0x01;
               initial_2();
               do{}while(!TF0);
               P0=num2[j++];
		       P1_0=!P1_0;
             }
         }
     }
//手动选择
     else
     {
	      if(P3_0==1)
          {
             if(P2_0==1)
             { TMOD=0x01;
               if(i==62){i=0;}
               initial_0();
               do{}while(!TF0);
               P0=num0[i++];
		       P1_0=!P1_0;
	         }
             else if(P2_3==1)
             { TMOD=0x01;
               if(i==62){i=0;}
               initial_1();
               do{}while(!TF0);
               P0=num0[i++];
		       P1_0=!P1_0;
	         }
             else if(P2_6==1)
             { TMOD=0x01;
               if(i==62){i=0;}
               initial_2();
               do{}while(!TF0);
               P0=num0[i++];
		       P1_0=!P1_0;
             }
	      }
          else if(P3_3==1)
          {
             if(P2_0==1)
             { TMOD=0x01;
               if(i==30){i=0;}
               initial_0();
               do{}while(!TF0);
               P0=num1[i++];
		       P1_0=!P1_0;
	         }
             else if(P2_3==1)
             { TMOD=0x01;
               if(i==30){i=0;}
               initial_1();
               do{}while(!TF0);
               P0=num1[i++];
		       P1_0=!P1_0;
	         }
             else if(P2_6==1)
             { TMOD=0x01;
               if(i==30){i=0;}
               initial_2();
               do{}while(!TF0);
               P0=num1[i++];
		       P1_0=!P1_0;
	       	 }
          }  
          else if(P3_6==1)
          {
            if(P2_0==1)
            { TMOD=0x01;
              if(i==14){i=0;}
              initial_0();
              do{}while(!TF0);
              P0=num2[i++];
		      P1_0=!P1_0;
	        }
            else if(P2_3==1)
            { TMOD=0x01;
              if(i==14){i=0;}
              initial_1();
              do{}while(!TF0);
              P0=num2[i++];
		      P1_0=!P1_0;
	        }
            else if(P2_6==1)
            { TMOD=0x01;
              if(i==14){i=0;}
              initial_2();
              do{}while(!TF0);
              P0=num2[i++];
	      	  P1_0=!P1_0;
		    }
         }
     }
 }
}

⌨️ 快捷键说明

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