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

📄 pt2323.c

📁 音响IP pt2323 的一般应用,主要有输入选择和声道控制
💻 C
字号:

/* PT2323 功能:
参数:par_2323 要发送的数据 b_ack_i2c_f应答标志 */
void send_pt2323()
{

  uchar i,par_2323_temp;
  
  par_2323_temp=par_2323;  /* 临时保存 par_2323 用 */

  for(i=0;i<20;i++)  /* 发地址10次,无效才返回 */
    {

      start_i2c();      
      par_2323=0x94;     /* 1001 0100 是0x94 PT2323 地址 */
      send_a_byte_i2c(par_2323);      
      get_i2c_ack();
      
      par_2323=par_2323_temp;  /* 发数据 恢复par_2323参数 */
      send_a_byte_i2c(par_2323);
      get_i2c_ack();

      stop_i2c(); 
      
      if(b_ack_i2c_f==1) return;  /* 有应答信号,直接返回,不再循环 */

    }
}

/* PT2323 选通处理 选取通值到 7-11
Input Switc: 1 1 0 0 C3 C2 C1 C0    c0~c3 从7-11
1 0 0 0 Input Stereo Group 4   1 0 0 1 Input Stereo Group 3
1 0 1 0 Input Stereo Group 2   1 0 1 1 Input Stereo Group 1
0 1 1 1 6-Ch Input
参数 input_num, par_2323   input_num从7到11 */
void input_2323()
{
                /* 0xc0; 默认为 0dB / Loudness OFF / Stereo 1 */
  if(input_num==0) par_2323=0xca;
  if(input_num==1) par_2323=0xc9;
  if(input_num==2) par_2323=0xc8;
  if(input_num==3) par_2323=0xcb;
  if(input_num==4) par_2323=0xc7;
  
  if(input_num!=5)         /* 非DVD 输入 */
    { 
      pt2322_mute_f=1;     /* 解除 选通时临时静音 PT2322 */
      function_2322();
      
      send_pt2323();       /* 如果是通过2323选通,则发数据 */
      
      dvd_power_swith=0;   /* 内置DVD 电源 切断 */
      bc_4053_b=1;         /* 用于切内置DVD输入信号  */
      bc_4053_a=0;         /* 功放 对 PT6311控制 */

      wait_time_mode=0;    /* 非DVD 状态,下一定要解除 */

      pt2322_mute_f=0;     /* 解除 选通时临时静音 PT2322 */
      function_2322();
      
      channal_2323();      /* 处理通道 */
      
       /* 选通时从小开始提 */
     /*
      mvol=0;       
      mov_de_mun=1;
      move_det_add_f=1;
      wait_time_mode=4;
      wait_time_count=WAIT_TIME_MODE_4;
   */
    }
  if(input_num==5)    /* DVD 输入 */
    { 
      pt2322_mute_f=0;     /* 解除 选通时临时静音 PT2322 */
      function_2322();

      wait_time_mode=2;
      wait_time_count=WAIT_TIME_MODE_2; 
    }
  
  key_data[2]=0xff;
}


void dvd_input()   /* 内置DVD输入 */
{
  dvd_power_swith=1;   /* DVD  电源*/
  bc_4053_b=0;    /* 用于切内置DVD输入信号  */
  bc_4053_a=1;    /* DVD 对 PT6311控制 */
}

 /* PT2323 的声道处理 在输入选择和声道中初调用 
 参数为 input_num 和 ch_mode */
void channal_2323() 
{ 
  if(input_num>3)  /* AC-3 或内置 DVD 打开所有通道 */
    { par_2323=0xfe;
      send_pt2323();
    }
  else   /* 立体声输入  5.1CH=0 3.1CH=1 2.1CH=2  2CH=3 */
    {
      par_2323=0xfe;
      send_pt2323();   
      if(ch_mode==1)  /* ch_mode==1 静 左右环绕 */
        {
          par_2323=0xf9;
          send_pt2323();
          par_2323=0xfb;
          send_pt2323();
        }
      if(ch_mode==2)  /* ch_mode==2 静 中置*/
        {
          par_2323=0xf9;
          send_pt2323();
          par_2323=0xfb;
          send_pt2323();
                  	
          par_2323=0xf5;
          send_pt2323();
        }
      if(ch_mode==3)  /* ch_mode==3静 重低音*/
        {
          par_2323=0xf9;
          send_pt2323();
          par_2323=0xfb;
          send_pt2323();
                  	
          par_2323=0xf5;
          send_pt2323();
                  	
          par_2323=0xf7;
          send_pt2323();
        }         
    }
}


/*   M=1(静音开)    M=0(静音关)   +1 为静音开
1 1 0 0 C3 C2 C1 C0 Input Switch        
1 1 1 1 0  0  0  M (0xf0) FL Mute     (0xf1)    
1 1 1 1 0  0  1  M (0xf2) FR Mute     (0xf3)
1 1 1 1 0  1  0  M (0xf4) CT Mute     (0xf5)
1 1 1 1 0  1  1  M (0xf6) SUB Mute    (0xf7)
1 1 1 1 1  0  0  M (0xf8) SL Mute     (0xf9)
1 1 1 1 1  0  1  M (0xfa) SR Mute     (0xfb)
1 1 1 1 1  1  1  M (0xfb) All CH Mute (0xff)

1 1 0 1 0  0  0  0 (0xd0) Enhanced Surround Function Active
1 1 0 1 0  0  0  1 (0xd1) Enhanced Surround Function Disabled
1 0 0 1 0  0  0  0 (0x90) Mixed Channel (0dB) Setup
1 0 0 1 0  0  0  1 (0xd1) Mixed Channel (+6dB) Setup
*/

⌨️ 快捷键说明

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