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

📄 remkey.c

📁 完整功放的控制程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*=============================== 按键及遥控处理函数集 =================================*/
/******************** 按键调用主程序 *********************/
void key_do(void)              /*此函数由主函数调用*/
{
  getkey_6311();		/* 第一次读键值,得键值par[0], 0=无按键 */
  par[1]=par[0];                /*备份第一次按键键值*/
  getkey_6311();                /*第二次读键值*/
  if(par[1]==par[0])            /*如果新旧键值不相等则可能是干扰,返回*/
   { 
   	if (par[0]!=0)		/******* 有按键 ***********/
    {
    	if (par[0]==old_key)
      	{                       /*新旧键值相等则计时,第二次以上按下该键*/
			if (((!b_close_mach)&&(pwr_key_del==0))||(b_close_mach&&(++pwr_key_del>60)))
			{
				pwr_key_del=2;
		        close_mach();
        		test_c=0;        
        		b_rkey_close=b_close_mach; /*=0为按键关机,=1为自动关机*/        
			}
			else
			{
	         	if (b_timeu) kdel--;	/* 用时间单位计时,每循环8次主程序则置B_TIMEU标志位为1(0.1S) */
    	     	if (kdel==0)		/* 是否到时? */
        	  	{
           		 	b_mute=0;  /*按下任意键取消机器静音*/
	       	 		key_jmp();		/*** 按键自动连动 ***/
          		}
			}
        }
        else			/****** 第一次按下 ********/
        {
	        b_mute=0;  /*按下任意键取消机器静音*/	 
    	    old_key=par[0];       /*重装旧键值*/
        	key_jmp();		/* 按键调用 */
        }
     }
     else 			/******** 无按键 **********/
     {
      	old_key=0;                /*无按键旧键值清0*/
		pwr_key_del=0;
     }
  }
}


/***************** 按键子程序跳转 ****************/
/* 输入 par[0]  键值 */
void key_jmp(void)
{
  uchar i,x=par[0];		
  sys_start=0;			/*主音量开机自动提升标志清零*/
  screen_num=0;  
  peng_flg=0;  
  test_c=0;	

/*  
      for(i=0;i<50;i++)
      {
      	tdig_offset[i]=0;
      }	
*/  
  key_vol_select();
  
  /* 音频的音量、音调数据有效输出处理(IC: m62446) */
  if (b_intmute==0)
    { 
      audio_ref();
      pub_delay_do(60);   		/* 延时0.1S时间, 按键去抖 */
    }     
   else pub_delay_do(100);		/* 延时0.1S时间, 按键去抖 */
}



/*********************m62446音调处理子程序**************/
void  key_vol_select(void)
{      			  		/* 低音加 键 */
   kdel=KTIME4;				/* 初始按键延时计算数 */

	ton_num=(ton_num+1)%17;

   if ((ch_att==C2_CH)&&(ton_num>5)&&(ton_num<10))
   		ton_num=10;
   else if ((ch_att==C3_CH)&&(ton_num>6)&&(ton_num<10))
   		ton_num=10;
   else if ((input_att==INPUT_AC3)&&(ton_num==9))
   		ton_num=10;

	if ((!b_mic)&&(ton_num>9)&&(ton_num<16))
   		ton_num=16;
   
     switch(ton_num)
     {
      case 0:
           screen_num=7;			/*vol*/
           input_data_scroll();
           break;
      case 1:
			screen_num=67;			/*input select*/
    		input_data_scroll();
			break;
      case 2:
			screen_num=32;
    		input_data_scroll();
			break;
      case 3:
           screen_num=9;			/*treble*/
           input_data_scroll();
           break;
      case 4:
           screen_num=10;			/*bass*/
           input_data_scroll();
           break;
      case 5:
           screen_num=8;			/*balance*/
           input_data_scroll();
           break;
      case 6:
           screen_num=11;			/*cen*/
           input_data_scroll();
           break;
      case 7:
           screen_num=12;			/*sl_vol*/
           input_data_scroll();
           break;     
      case 8:
           screen_num=13;			/*sr_vol*/
           input_data_scroll();
           break;  
      case 9:
			screen_num=33;
    		input_data_scroll();
			break;
      case 10:
           screen_num=14;			/*mic1_vol*/
           input_data_scroll();
           break;
      case 11:
           screen_num=15;			/*mic2_vol*/
           input_data_scroll();
           break;
      case 12:
           screen_num=16;			/*mtreble*/
           input_data_scroll();
           break;
      case 13:
           screen_num=17;			/*mbass*/
           input_data_scroll();
           break;
      case 14:
           screen_num=18;			/*mecho*/
           input_data_scroll();
           break;
      case 15:
           screen_num=66;			/*delay*/
           input_data_scroll();
           break;
	  case 16:
           screen_num=34;			/*DISPLAY MODE*/
           input_data_scroll();
			break;
      default:     
           break;  
     }   
}

void key_dim(void)
{
   kdel=KTIME4;				/* 初始按键延时计算数 */
   adj_display();
   string_num=20;
   if(dim_num<7) dim_num++;
}
	

void key_dim_sub(void)
{
   kdel=KTIME4;				/* 初始按键延时计算数 */
   adj_display();
   string_num=20;
   if(dim_num!=0) dim_num--;
}

/*
void key_mode(void)
{
    kdel=KTIME4;				/* 初始按键延时计算数 */
/*
    b_dim_disp=~b_dim_disp;
    if(b_dim_disp)
    {
       screen_num=5;			//mbass
       input_data_scroll();
       ton_num=DIM_F;
    }
    else
    {
       screen_num=6;			//mbass
       input_data_scroll();
       ton_num=VFD_F;
    }		        
}	
*/	

void disp_add(void)
{
    kdel=KTIME4;				/* 初始按键延时计算数 */
    string_num=15;			/* "L-   R- "  */
    if(display_num<7) 
    {
      display_num++;
      b_auto_disp=0;
     } 
    else 
    {
      b_auto_disp=1;
      string_num=26; 
    }  
    adj_display();	
}


	
void disp_sub(void)
{
    kdel=KTIME4;				/* 初始按键延时计算数 */
    string_num=15;			/* "L-   R- "  */

    if (b_auto_disp)
	{
		b_auto_disp=0;
		display_num=7;
    }
	else
	{
    	if(display_num!=0) display_num--;
	}
    adj_display();	
}



void mic1_vol_add(void)
{
  if(b_mic)
  {	
   if(mic1_val<20) mic1_val++;
   adj_display();
   par[0]=&mic1_val;		   /*KALA OK高音*/	
   write_abyte();
   string_num=16;			/* "M1   "  */
  }
  else dis_seterr(); 
}	
	

void mic1_vol_sub(void)
{
 if(b_mic)
 {	
   if(mic1_val!=0) mic1_val--;
   adj_display();
   par[0]=&mic1_val;		   /*KALA OK高音*/	
   write_abyte();
   string_num=16;			/* "M1   "  */
  }
  else dis_seterr(); 
}	


void mic2_vol_add(void)
{
 if(b_mic)
 {	
   if(mic2_val<20) mic2_val++;
   adj_display();
   par[0]=&mic2_val;		   /*KALA OK高音*/	
   write_abyte();
   string_num=19;			/* "M2   "  */
  }
  else dis_seterr(); 
}	


void mic2_vol_sub(void)
{
 if(b_mic)
 {	
   if(mic2_val!=0) mic2_val--;
   adj_display();
   par[0]=&mic2_val;		   /*KALA OK高音*/	
   write_abyte();
   string_num=19;			/* "M2   "  */
  }
  else dis_seterr(); 
}	



void mic_tre_add(void)
{
 if(b_mic)
 {	
   if(mtre_val<8) mtre_val++;
   adj_display();
   string_num=9;			/* "MT   "  */
   save_program();
  }
  else dis_seterr(); 
}	


void mic_tre_sub(void)
{
  if(b_mic)
  {	
   if(mtre_val!=0) mtre_val--;
   adj_display();
   string_num=9;			/* "MT   "  */
   save_program();
  }
  else dis_seterr(); 
}	


void mic_bass_add(void)
{
  if(b_mic)
  {	
   if(mbass_val<8) mbass_val++;
   adj_display();
   string_num=17;			/* "MB   "  */
   save_program();
   }
  else dis_seterr();
}	


void mic_bass_sub(void)
{
  if(b_mic)
  {	
   if(mbass_val!=0) mbass_val--;
   adj_display();
   string_num=17;			/* "MB   "  */
   save_program();
  }
  else dis_seterr(); 
}	
	

void mic_echo_add(void)
{
  if(b_mic)
  {	
   if (mecho_val<20) mecho_val++;
   adj_display();
   string_num=18;			/* "EC   "  */
   save_program();
  }
  else dis_seterr(); 
}


void mic_echo_sub(void)
{
 if(b_mic)
 {	
   if (mecho_val!=0) mecho_val--;
   adj_display();
   string_num=18;			/* "EC   "  */
   save_program();
  }
  else dis_seterr(); 
}



void mic_delay_add(void)
{
  if(b_mic)
  {	
   if (delay_val<3) delay_val++;
   adj_display();
   string_num=65;			/* "EC   "  */
   save_program();
  }
  else dis_seterr(); 
}


void mic_delay_sub(void)
{
 if(b_mic)
 {	
   if (delay_val!=0) delay_val--;
   adj_display();
   string_num=65;			/* "EC   "  */
   save_program();
  }
  else dis_seterr(); 
}


void  cen_vol_add(void)
{
    if(cen_val<80) cen_val++;
    adj_display();
    string_num=7;			/* "CV   "  */
}


void  cen_vol_sub(void)
{
    if(cen_val!=0) cen_val--;
    adj_display();
    string_num=7;			/* "CV   "  */
}

void  sl_vol_add(void)
{
   if(sl_val<80) sl_val++;	
   adj_display();
   string_num=6;			/* "SL   "  */
}
	

void  sl_vol_sub(void)
{
   if(sl_val!=0) sl_val--;	
   adj_display();
   string_num=6;			/* "SL   "  */
}


void  sr_vol_add(void)
{
   if(sr_val<80) sr_val++;	
   adj_display();
   string_num=8;			/* "Sr   "  */
}


void  sr_vol_sub(void)
{
   if(sr_val!=0) sr_val--;	
   adj_display();
   string_num=8;			/* "Sr   "  */
}

void bass_add(void)
{
   kdel=KTIME2;			/* 初始按键延时计算数 */
   if(bass_val<10) bass_val++;
   adj_display();
   string_num=10;			/* "BA   "  */
   save_program();
}


void bass_sub(void)
{
   kdel=KTIME2;			/* 初始按键延时计算数 */
   if(bass_val!=0) bass_val--;
   adj_display();
   string_num=10;			/* "BA   "  */
   save_program();
}
	


void treble_add(void)
{
   kdel=KTIME2;			/* 初始按键延时计算数 */
   if(tre_val<10) tre_val++;
   adj_display();
   string_num=11;			/* "TR   "  */
   save_program();
}	


void treble_sub(void)
{
   kdel=KTIME2;			/* 初始按键延时计算数 */
   if(tre_val!=0) tre_val--;
   adj_display();
   string_num=11;			/* "TR   "  */
   save_program();
}	


/********* 5CH 键,子程序 **********/
void key_surround(void)                              /*5声道处理*/
{
    if (input_att!=INPUT_AC3)                   /*如果为AC-3输入则出错*/
    {
	      ch_att=C5_CH;
	      string_num=ch_att+5;
	      ch_select();		
     } 
    else dis_seterr();			/* 显示出错 */
}


/********* 3CH 键,子程序 **********/
void key_3_stereo(void)                              /*5声道处理*/
{
    if (input_att!=INPUT_AC3)                   /*如果为AC-3输入则出错*/
    {
	      ch_att=C3_CH;
	      string_num=ch_att+5;
	      ch_select();		
     } 
    else dis_seterr();			/* 显示出错 */
}


/********* STEREO 键,子程序 *********/
void key_stereo(void)                     /*2.1声道处理*/
{
    if (input_att!=INPUT_AC3)          /*如果为AC-3输入则出错*/
    {
      ch_att=C2_CH;
      string_num=ch_att+5;			/*  "stereo"  */
      ch_select();
    } 
    else dis_seterr();			/* 显示出错 */
}

void key_ch_mode(bit lr_flag)
{
    if (input_att!=INPUT_AC3)          /*如果为AC-3输入则出错*/
    {
		if (lr_flag)
		{
	      if(ch_att<2) ch_att++;
    	  else ch_att=0;
		}
		else
		{
	      if(ch_att>0) ch_att--;
			else ch_att=2;
		}
      ch_select();
    } 
    else dis_seterr();			/* 显示出错 */
}	


void  ch_select(void)
{
      start_intmute();			/* 临时静音启动 */
      kdel=KTIME4;			/* 初始按键延时计算数 */

      par[0]=&ch_att;
      write_abyte();
      
      if(dsp_att!=DSP_NO)
      {
      /******** 高低音恢复子程序 ********/
        tre_bass_restore();
      } 
      if(ch_att==C2_CH)
      {     
      	tre_val=5;
      	bass_val=5; 
        b_lound=0;      	
 	par[0]=&tre_val;
        write_abyte();
	par[0]=&bass_val;
        write_abyte();
      }
      dsp_att=DSP_NO;
      par[0]=&dsp_att;
      write_abyte();
      screen_num=ch_att+1;
      input_data_scroll();
}
	

/********* MUTE 键,子程序 *********/
void key_mute(void)			/*遥控键*/
{
  uchar i;	
  kdel=KTIME4;				/* 0.6S初始按键延时计算数 */
  
  b_mute=~b_mute;                       /*按一次为静音,再按一次为开通音量*/
  if (b_mute)
  { 					/* 静音 */
    mute_enable();
    string_num=21;
    copy_string(tab_string1_p(string_num));	/*  " MUTE "  静止不动!!! */
    string_att=STRING_PROMPT;		/* 设显示为提示方式 */
    string_snext();			/* !!! 特殊方法 !!! */
  }
  else
  {
/**** 声音音量、音调等参数刷新输出处理 *****/
    audio_ref();
  }
}


⌨️ 快捷键说明

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