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

📄 remkey.c

📁 完整功放的控制程序
💻 C
📖 第 1 页 / 共 2 页
字号:


/******** DSP MODE 键,子程序 ********/
void key_dsp(bit lr_flag)
{
  if ((input_att!=INPUT_AC3)&&(ch_att!=C2_CH))           		/*如果为AC-3输入则出错*/
  {
	   kdel=KTIME2;				/* 0.6S初始按键延时计算数 */
	/******** 存贮高低音子程序 ********/
	    tre_bass_save();

		if (lr_flag)
		{
		    if (dsp_att<8)
		      	dsp_att++;		        /* DSP_POPS环绕模式为反回开头 */
		}
		else
		{		
		    if (dsp_att>0)
		      	dsp_att--;		        /* DSP_POPS环绕模式为反回开头 */
		}		      

		if (dsp_att==DSP_NO)
	       tre_bass_restore();
		else
	        dsp_tone_do();                  /*取出DSP的高低音*/

	    string_num=dsp_att+27;
             dsp_display();
    }
  else dis_seterr();			/* 显示出错 */
}


void dsp_display(void)
{
    string_att=STRING_PROMPT;		/* 设显示为提示方式 */
    string_del=STRDEL_PA2;		/* 设显示停留时间,大约为1.5秒,1.5秒后为机器状态*/
    rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
    par[0]=&dsp_att;
    write_abyte();
}


void key_lound(void)
{
  if((ch_att!=C2_CH)||(input_att==INPUT_AC3))
  { 	
    b_lound=~b_lound;
    if(b_lound) screen_num=30;			/*ERROR*/
    else screen_num=31;
    input_data_scroll();
  }
  else dis_seterr();  
}
	

/******** 存贮高低音子程序 ********/
void tre_bass_save(void)
{
    if(dsp_att==DSP_NO)
     {
      	tre_val_bak=tre_val;
      	bass_val_bak=bass_val;		/*保存原先的高低音*/
	par[0]=&tre_val_bak;
        write_abyte();
	par[0]=&bass_val_bak;
        write_abyte();
     }	
}


/******** 高低音恢复子程序 ********/
void tre_bass_restore(void)
{
      	tre_val=tre_val_bak;
      	bass_val=bass_val_bak;		/*保存原先的高低音*/
      	dsp_att=DSP_NO;
	par[0]=&tre_val;
        write_abyte();
	par[0]=&bass_val;
        write_abyte();
	par[0]=&dsp_att;
        write_abyte();
}

/***========================== 遥控部分程序 ================================***/
/********* 遥控键主调用程序 ********/
void remote_do(void)		/*由主函数调用*/
{
  if (b_rkey)			/* 有remote key时被置1, 注:主程序检测该位后清0 */
  {
    b_rkey=0;			/*清除遥控键有键标志*/
    
    if(b_close_mach==0)
    {
       if(rkey_num!=0x1d)
       {
       	return;
       }	
    }	
    
    ton_num=VOL_F;
    screen_num=0;
    peng_flg=0;  
    
    test_c=0;	      
    
    if(rkey_num!=0x1c)
    {
       b_mute=0;   /*如果按了MUTE以外其它键则取消静音*/
    }
    sys_start=0;
    switch (rkey_num)		/*RKEY_NUM为键号*/
    {
      case  0x1c:			/******按键散转*****/
        key_mute();		/* MUTE 键 */
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;
      case  0x19:
        input_att=INPUT_DVD;
        input_control();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;

      case  0x16:
        input_att=INPUT_AC3;
        input_control();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;

      case  0x15:
        input_att=INPUT_VCD;
        input_control();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;

      case  0x11:
        input_att=INPUT_TAPE;
        input_control();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;

      case  0x12:
        input_att=INPUT_AUX;
        input_control();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto remdo_p0;
        
        /*输入选择控制电平*/

      case 0x10:
        key_surround();
        rkey_speed=RKEY_SP4;
        goto  remdo_p0;
      case 0x14:
        key_3_stereo();
        rkey_speed=RKEY_SP4;
        goto  remdo_p0;
      case 0x18:
        key_stereo();
        rkey_speed=RKEY_SP4;
        goto  remdo_p0;
       
      case 0x57:			/****** AUTO键 按下的处理 ****/
        key_dim();                  /*5声道处理*/
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        
      case 0x4c:			/****** AUTO键 按下的处理 ****/
        key_dim_sub();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
     
      case 0x5d:
        mic1_vol_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x5e:
        mic1_vol_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x59:
        mic2_vol_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x5a:
        mic2_vol_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x13:
        mic_echo_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
       case 0x55:
        mic_tre_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        case 0x56:
        mic_tre_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
       case 0x50:
        mic_echo_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x51:
        mic_bass_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
       case 0x52:
        mic_bass_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x4b:
        rkey_balan_r();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x0b:
        rkey_balan_l();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x09:
       if (((ch_att==C2_CH)||(ch_att==C3_CH))&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else  sl_vol_add();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x0a:
       if (((ch_att==C2_CH)||(ch_att==C3_CH))&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else  sl_vol_sub();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x4d:
       if (((ch_att==C2_CH)||(ch_att==C3_CH))&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else  sr_vol_add();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x4e:
       if (((ch_att==C2_CH)||(ch_att==C3_CH))&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else  sr_vol_sub();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x49:
       if ((ch_att==C2_CH)&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else cen_vol_add();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x4a:
       if ((ch_att==C2_CH)&&(dsp_att==DSP_NO)&&(input_att!=INPUT_AC3)) dis_seterr();
       else cen_vol_sub();
       rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
       goto  remdo_p0;
      case 0x0c:
        key_dsp(1);
        rkey_speed=RKEY_SP3;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x0f:
//        cw2_flg=1;
//        ccw2_flg=0;
       if(master_val<80) master_val++;
       if(sl_val<80) sl_val++;
       if(sr_val<80) sr_val++;
       if(cen_val<80) cen_val++;
       string_num=5;		/*"mvol"*/
       ton_num=0;
		adj_display();
        rkey_speed=RKEY_SP1;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x4f:
//        cw2_flg=0;
//        ccw2_flg=1;
	     if(master_val!=0)  master_val--;
	     if(sl_val!=0) sl_val--;
	     if(sr_val!=0) sr_val--;
	     if(cen_val!=0) cen_val--;
	     string_num=5;			/* "mvol  " */
	         ton_num=0;
		adj_display();
        rkey_speed=RKEY_SP1;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x5b:
        bass_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x48:
        bass_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x5f:
        treble_add();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x08:
        treble_sub();
        rkey_speed=RKEY_SP2;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        
        
      case 0x1e:
       if(b_mic)
       {
         ok_mode=0;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        
      case 0x1a:
       if(b_mic)
       {
         ok_mode=1;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x1f:
       if(b_mic)
       {
         ok_mode=2;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x1b:
       if(b_mic)
       {
         ok_mode=3;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x17:
       if(b_mic)
       {
         mic_delay_add();       	
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x5c:
      
       if(b_mic)
       {
         ok_mode=4;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x58:
       if(b_mic)
       {
         ok_mode=5;
         key_ok_mode();
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
      case 0x54:
       if(b_mic)
       {
         mic_delay_sub();       	
       }
       else dis_seterr(); 
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        
      case 0x53:
        key_lound();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
        
      case 0x1d:
        rkey_speed=RKEY_SP4;	   /* 设置遥控连发速度 */      
        close_mach();
        test_c=0;        
        b_rkey_close=b_close_mach; /*=0为按键关机,=1为自动关机*/        
        rkey_speed=RKEY_SP4;	   /* 设置遥控连发速度 */
        goto  remdo_p0;
        
      case 0x0d:
        disp_add();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
       
      case 0x0e:
        disp_sub();
        rkey_speed=RKEY_SP4;	/* 设置遥控连发速度 */
        goto  remdo_p0;
               
remdo_p0:
  /* 音频的音量、音调数据有效输出处理(IC: m62446) */
  if (!b_mute && !b_intmute)     /*临时静音和机器静音有一者静音则不开通主音量*/
      {  
      audio_ref();
      } 
      break;
    }
  }
}



/******** BALANCE-L 遥控键,子程序 ********/
void rkey_balan_l(void)
{
    kdel=KTIME2;			/* 初始按键延时计算数 */
    if (balan_val<18)
    {
      balan_val++; 			/* 平衡调节, 0-32格 */
    }
    balan_display();
    adj_display();
}


/******** BALANCE-R 遥控键,子程序 ********/
void rkey_balan_r(void)
{
    kdel=KTIME2;			/* 初始按键延时计算数 */
    if (balan_val!=0)
    {
      balan_val--; 			/* 平衡调节, 0-32格 */
    }
    balan_display();
    adj_display();
}


void adj_display(void)
{
    string_att=STRING_ADJ; 	        /* 设为机器方式 */
    string_del=STRDEL_PA3;		/* 设置停留时间 */
}



void balan_display(void)
{
     	string_num=25;
        string_att=STRING_ADJ;		/* 设显示为调节方式 */
        string_del=STRDEL_PA;		/* 设显示停留时间 */
}

void  china_disp(void)                  /*string_num?*/
{
       string_num=22;
       copy_string(tab_string1_p(string_num));	/*  " MUTE "  静止不动!!! */
       display_do();
       dog_time0=DOG_TIME0;		/* 恢复time0看门狗计数数 */
       dog_main=DOG_MAIN;		/* 恢复main看门狗计数数 */
       pub_delay_do(400);		/* 延时0.1S时间, 按键去抖 */
}


void china_scroll(void)
{
  string_num=0;	
  do
  {
    copy_string(&tab_string23[string_num]);	/* 复制字符串to显示缓冲 */
    string_num++;				/* 下一步显示字符串头的表--数组号 */
    string_num++;
    string_scr_step--;				/* 步数减 */
    display_do();
    dog_time0=DOG_TIME0;		/* 恢复time0看门狗计数数 */
    dog_main=DOG_MAIN;		/* 恢复main看门狗计数数 */
    
          par0_0=0;
          par0_1=0;
          par0_2=0;
          b_mic=~b_mic;
          par0_3=b_mic;
          wled_6311();
          par[0]=0;
          twled_6311();          
    
    pub_delay_do(50);		/* 延时0.1S时间, 按键去抖 */
    //led_control();    
  }
  while (string_scr_step!=0); 
}



void key_ok_mode(void)
{
   switch(ok_mode)
   {
     case 0:
      screen_num=22;
      mic1_val=17;
      mic2_val=17;
      mtre_val=4;
      mbass_val=4;
      mecho_val=0;
      delay_val=0;           
      break;	
     case 1:
      screen_num=23;
      mic1_val=13;
      mic2_val=13;
      mtre_val=4;
      mbass_val=4;
      mecho_val=0;
      delay_val=0;           
      break;	
     case 2:
      screen_num=24;
      mic1_val=15;
      mic2_val=15;
      mtre_val=6;
      mbass_val=6;
      mecho_val=15;     
      delay_val=3;      
      break;	
     case 3:
      screen_num=25;
      mic1_val=17;
      mic2_val=17;
      mtre_val=7;
      mbass_val=3;
      mecho_val=17;     
      delay_val=2;      
      break;	
     case 4:
      screen_num=26;
      mic1_val=14;
      mic2_val=14;
      mtre_val=8;
      mbass_val=6;
      mecho_val=17;
      delay_val=3;           
      break;	
     case 5:
      screen_num=27;
      mic1_val=19;
      mic2_val=19;
      mtre_val=2;
      mbass_val=8;
      mecho_val=18;     
      delay_val=1;      
      break;	
   }	
   input_data_scroll();   
}


	
void close_mach(void)
{
      	
  b_close_mach=~b_close_mach;
  peng_flg=0;   /*2002-07-31 01:20PM*/
  if(b_close_mach==0)
  {     	
       string_num=23;
       copy_string(tab_string1_p(string_num));	/*  " MUTE "  静止不动!!! */
       display_do();
       dog_time0=DOG_TIME0;		/* 恢复time0看门狗计数数 */
       dog_main=DOG_MAIN;		/* 恢复main看门狗计数数 */
       bc_jin=1;				/* 预置过载检测口高电平 */
       bc_jout=1;			/* 继电器控制脚, 0=合上 */
       pub_delay_do(400);		/* 延时0.1S时间, 按键去抖 */
       b_rkey=0;			/*清除遥控键有键标志*/       
  }
  else
  {
       string_num=24;
       copy_string(tab_string1_p(string_num));	/*  " MUTE "  静止不动!!! */
       display_do();
       setup_6311();			/* 初始荧光屏 !!!!! */
       dim_vfd();  			/* 打开荧光显示 */
       tsetup_6311();		/* 初始荧光屏 */
       tdim_vfd(); 		 /*清除11格,17段数据显示(清荧光屏) */

       bc_jin=1;				/* 预置过载检测口高电平 */
       bc_jout=0;			/* 继电器控制脚, 0=合上 */
       dog_time0=DOG_TIME0;		/* 恢复time0看门狗计数数 */
       dog_main=DOG_MAIN;		/* 恢复main看门狗计数数 */
       pub_delay_do(400);		/* 延时0.1S时间, 按键去抖 */       
       start_dis(); 			/* 冷启动, 开机走屏显示 */
       restore();
       
       get_peng_flg=0;      
       auto_select_flg=1;
       input_att_bak=input_att;
       auto_cout=AUTO_COUNT1;      
       mach_display();
       
	b_rkey=0;			/*清除遥控键有键标志*/       
	ton_num = 0;
	lrk_del = 0;

   }	
}	
   

⌨️ 快捷键说明

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