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

📄 display.c

📁 完整功放的控制程序
💻 C
📖 第 1 页 / 共 3 页
字号:
	  par[0]=TDIG9;
	  twvfd_6311();				/* 写6311显示内存 */
/*************************************/    
	 tab_bar_do(tdig_offset[22]);
	 tab_bar_do1(ad_disp_line[22]);
	  par[0]=TDIG10;
	  twvfd_6311();				/* 写6311显示内存 */
/*************************************/    
	 tab_bar_do(tdig_offset[23]);
	 tab_bar_do1(ad_disp_line[23]);
	  par[0]=TDIG11;
	  twvfd_6311();				/* 写6311显示内存 */
/*************************************/    
	 tab_bar_do(tdig_offset[24]);
	 tab_bar_do1(ad_disp_line[24]);
	  par[0]=TDIG12;
	  twvfd_6311();				/* 写6311显示内存 */
    
/*************************************/    
    }
/*************************************/    
   else
    {
	  g=DIG1;
	  i=0;
	  while(i<23)
	  {
           par[1]=tdig_offset[i];		/*第一片PT6311控制*/
           i++;
	   par[2]=tdig_offset[i];		/* ##### */
	   i++;
	   par[0]=g;
	   g=g-3;
	   wvfd_6311();
	  } 
	  par[1]=tdig_offset[i];
	  i++;
	  par[2]=tdig_offset[i];		/* ##### */
	  i++;
	  par[0]=DIG13;
	  wvfd_6311();
	 /************************************** 控制第二片PT6311芯片*/  
//tmp          if((b_close_mach)&&(auto_select_flg==0)) input_det();	 
          
	  g=TDIG1;
	  x=0;
	  while(x<23)
	  {
	    par[1]=tdig_offset[i];
	    i++;
	    x++;
	    par[2]=tdig_offset[i];		/* ##### */
	    i++;
	    x++;
	    par[0]=g;
	    g=g+3;
	    twvfd_6311();
	  }
    }	  	  
}



void tab_bar_do(uchar num)
{ /* 查表得--该频谱的6311显示实数
     参数: 格数
          par[2] -- 中8位数
          par[1] -- 低8位数 */
          switch(display_num)
          {
	    case 0:
	    case 5:
	    case 6:
	      par[1]=tab_bar1[num][0];	
	      par[2]=tab_bar1[num][1];	
	    break;
	    case 1:
	    case 7:
	      par[1]=tab_bar2[num][0];	
	      par[2]=tab_bar2[num][1];	
	    break;
	    case 2:
	      par[1]=tab_bar4[num][0];	
	      par[2]=tab_bar4[num][1];	
	    break;
	    case 3:  
	     par[1]=tab_bar5[num][0];	
	     par[2]=tab_bar5[num][1];	
	    break;
	    case 4: 
	      par[1]=tab_bar6[num][0];	
	      par[2]=tab_bar6[num][1];	
	    break;
	  }  
}


void tab_bar_do1(uchar num)
{
	
 uchar x,y;
     if((display_num==5)||(display_num==6))	/*顶点保留*/
     {
	x=tab_bar4[num][0];	
	y=tab_bar4[num][1];	
	par[1]=par[1]|x;
	par[2]=par[2]|y;	
     }	
     else if(display_num==7)
     {
	x=tab_bar3[num][0];	
	y=tab_bar3[num][1];	
	par[1]=par[1]|x;
	par[2]=par[2]|y;	
     }	
}

/****** 复制--表字符串到DIG4-DIG10 的显示字符串寄存数组 ******/
void copy_string(uchar code *tab_p)
{ /* 参数:tab_p 指向表中字符串头的指针 */
  uchar j=50;                 /*一共装7个*/
  uchar idata *temp_pp;
  temp_pp=&tdig_offset[0];
   while(j!=0)
   {
     *temp_pp=*tab_p;          /*把程序空间中的值给RAM单元*/
     temp_pp++;		     /*tab_p程序空间指针变量,temp_p内部数据空间指针变量*/		
     tab_p++;
     j--;
   }
}

/****** 查tab_string1表, 输入字串号, 返回表中字串头地址 *****/
uchar code *tab_string1_p(uchar num)
{
  uchar code *temp_p;		/*程序存储器指针*/
      switch(string_num)
      {
      	case 0:
            temp_p=&tab_string29[0];     /*静音*/
        break;
      	case 1:
            temp_p=&tab_string30[0];     /*静音*/
        break;
      	case 2:
            temp_p=&tab_string31[0];     /*静音*/
        break;
      	case 3:
            temp_p=&tab_string32[0];     /*静音*/
        break;
      	case 4:
            temp_p=&tab_string33[0];     /*静音*/
        break;
      	case 5:
            temp_p=&tab_string34[0];     /*静音*/
        break;
      	case 6:
            temp_p=&tab_string35[0];     /*静音*/
        break;
      	case 7:
            temp_p=&tab_string36[0];     /*静音*/
        break;
      	case 8:
            temp_p=&tab_string37[0];     /*静音*/
        break;

      	case 16:
            temp_p=&tab_string38[0];     /*静音*/
        break;
      	case 19:
            temp_p=&tab_string39[0];     /*静音*/
        break;

      	case 11:
      	case 9:
            temp_p=&tab_string40[0];     /*静音*/
        break;
      	case 17:
      	case 10:
            temp_p=&tab_string41[0];     /*静音*/
        break;

    	case 18:
            temp_p=&tab_string42[0];     /*静音*/
        break;
    	case 15:
            temp_p=&tab_string43[0];     /*静音*/
        break;
        
    	case 20:
            temp_p=&tab_string44[0];     /*静音*/
        break;
      	
      	case 21:
            temp_p=&tab_string3[0];     /*静音*/
        break;
      	case 22:
            temp_p=&tab_string22[0];    /*保护*/
        break;
      	case 23:
            temp_p=&tab_string26[0];   /*再见*/
        break;
      	case 24:
            temp_p=&tab_string27[0];   /*接入*/
        break;
      	case 25:
            temp_p=&tab_string28[0];   /*l---r*/
        break;

      	case 26:
            temp_p=&tab_string45[0];   /*auto*/
        break;


      	case 27:
            temp_p=&tab_string54[0];   /*dsp off*/
        break;
      	case 28:
            temp_p=&tab_string55[0];   /*dsp 1*/
        break;
      	case 29:
            temp_p=&tab_string56[0];   /*dsp 2*/
        break;
      	case 30:
            temp_p=&tab_string57[0];   /*dsp 3*/
        break;
      	case 31:
            temp_p=&tab_string58[0];   /*dsp 4*/
        break;
      	case 32:
            temp_p=&tab_string59[0];   /*dsp 5*/
        break;
      	case 33:
            temp_p=&tab_string60[0];   /*dsp 6*/
        break;
      	case 34:
            temp_p=&tab_string61[0];   /*dsp 7*/
        break;
      	case 35:
            temp_p=&tab_string62[0];   /*dsp 8*/
        break;

      	case 65:
            temp_p=&tab_string65[0];   /*delay*/
        break;
        
        default:
        break;
      }  
  return temp_p;
}

/****** 8位二进制数 -- 转BCD码及输出到DIG5, DIG4的显示字符寄存数组中 ******/
void dig_bin2bcd1(uchar x)
{ /* 参数:二进制数 */
  uchar z,y;
  z=x/0x0a;		/* BCD -- 十位 */
  y=B;          	/* BCD -- 个位 */
  tdig_offset[20]=tab_ascii_1[z][0];
  tdig_offset[21]=tab_ascii_1[z][1];
  tdig_offset[22]=tab_ascii_1[z][2];
  tdig_offset[23]=tab_ascii_1[z][3];
  tdig_offset[24]=tab_ascii_1[z][4];
  tdig_offset[25]=tab_ascii_1[z][5];

  tdig_offset[28]=tab_ascii_1[y][0];
  tdig_offset[29]=tab_ascii_1[y][1];
  tdig_offset[30]=tab_ascii_1[y][2];
  tdig_offset[31]=tab_ascii_1[y][3];
  tdig_offset[32]=tab_ascii_1[y][4];
  tdig_offset[33]=tab_ascii_1[y][5];
}

/****** 设显示为E R R O R的提示显示 ******/
void dis_seterr(void)
{
  screen_num=4;			/*ERROR*/
  input_data_scroll();
}

/********* 开机走屏显示程序 *****************/
void start_dis(void)
{
  string_num=0;				/* 第一显示字符的表数组号 */
  screen_num=0;  
  string_scr_step=125;			
           
  while (string_scr_do()!=1)		/* 移动 */
  {
    display_do();		        /* 单显示字符串 */
    tdim_vfd(); 		 	/*清除11格,17段数据显示(清荧光屏) */
    dim_vfd(); 			 	/*清除11格,17段数据显示(清荧光屏) */
    if(string_scr_step==121) pub_delay_do(900);	/* 停留时间0.06S */
    else pub_delay_do(35);
  }
}



void video_compare(void)	/*频谱比较*/
{
    uchar i,j;	
    
    for(i=0;i<50;i++)
    {
     if(tdig_offset[i]>16) tdig_offset[i]=0;	
    }	


     	tdig_offset[25]=ad_in[0];
     	tdig_offset[26]=(ad_in[0]+ad_in[1])/2;
     	tdig_offset[27]=(tdig_offset[25]+tdig_offset[26])/2;
     	
     	tdig_offset[28]=ad_in[1];
     	tdig_offset[29]=(ad_in[1]+ad_in[2])/2;
     	tdig_offset[30]=(tdig_offset[28]+tdig_offset[29])/2;
     	
     	tdig_offset[31]=ad_in[2];
     	tdig_offset[32]=(ad_in[2]+ad_in[3])/2;
     	tdig_offset[33]=(tdig_offset[31]+tdig_offset[32])/2;
     	
     	tdig_offset[34]=ad_in[3];
     	tdig_offset[35]=(ad_in[3]+ad_in[4])/2;
     	tdig_offset[36]=(tdig_offset[34]+tdig_offset[35])/2;
     	
     	tdig_offset[37]=ad_in[4];
     	tdig_offset[38]=(ad_in[4]+ad_in[5])/2;
     	tdig_offset[39]=(tdig_offset[34]+tdig_offset[35])/2;
     	
     	tdig_offset[40]=ad_in[5];
     	tdig_offset[41]=(ad_in[5]+ad_in[6])/2;
     	tdig_offset[42]=(tdig_offset[40]+tdig_offset[41])/2;
     	
     	tdig_offset[43]=ad_in[6];
     	tdig_offset[44]=(ad_in[6]+ad_in[7])/2;;
     	tdig_offset[45]=(tdig_offset[43]+tdig_offset[44])/2;;
     	
     	tdig_offset[46]=ad_in[7];
     	tdig_offset[47]=(tdig_offset[43]+tdig_offset[44])/2;
     	tdig_offset[48]=(tdig_offset[44]+tdig_offset[45])/2;
     	tdig_offset[49]=(tdig_offset[46]+tdig_offset[47])/2;
     	
      
     	tdig_offset[0]=tdig_offset[25];
     	if(tdig_offset[0]>0) tdig_offset[0]--;
     	tdig_offset[1]=(tdig_offset[25]+tdig_offset[26])/2;
     	tdig_offset[2]=tdig_offset[27];
     	tdig_offset[3]=(tdig_offset[27]+tdig_offset[28])/2;
     	tdig_offset[4]=tdig_offset[29];
     	tdig_offset[5]=(tdig_offset[29]+tdig_offset[30])/2;
     	tdig_offset[6]=tdig_offset[31];
     	tdig_offset[7]=(tdig_offset[31]+tdig_offset[32])/2;
     	tdig_offset[8]=tdig_offset[33];
     	tdig_offset[9]=(tdig_offset[33]+tdig_offset[34])/2;
     	tdig_offset[10]=tdig_offset[35];
     	tdig_offset[11]=(tdig_offset[35]+tdig_offset[36])/2;
     	tdig_offset[12]=tdig_offset[37];
     	tdig_offset[13]=(tdig_offset[37]+tdig_offset[38])/2;
     	tdig_offset[14]=tdig_offset[39];
     	tdig_offset[15]=(tdig_offset[39]+tdig_offset[40])/2;
    	tdig_offset[16]=tdig_offset[41];
     	tdig_offset[17]=(tdig_offset[41]+tdig_offset[42])/2;
     	tdig_offset[18]=tdig_offset[43];
     	tdig_offset[19]=(tdig_offset[43]+tdig_offset[44])/2;
     	tdig_offset[20]=tdig_offset[45];
     	tdig_offset[21]=(tdig_offset[45]+tdig_offset[46])/2;
     	tdig_offset[22]=tdig_offset[47];
     	tdig_offset[23]=(tdig_offset[47]+tdig_offset[48])/2;
     	tdig_offset[24]=tdig_offset[49];
     	if(tdig_offset[24]>0) tdig_offset[24]--;     	
}	

⌨️ 快捷键说明

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