那位大侠用过TDA7418?

2020-02-09 09:38发布

那位大侠用过TDA7418的音频IC,我怎么弄就是没音输出。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
junlonger
1楼-- · 2020-02-09 10:34
 精彩回答 2  元偷偷看……
xzbx
2楼-- · 2020-02-09 11:41
既然没人用过我就把我用试过的代码贴上,只是选择信号源和声音为什么这样子我自已也不是很清楚,但它是可以用的,希望那位知道的告诉一声音,这样就非常感谢。
//#include <16F628A.h>
#include <16F690.h>
//#FUSES NOWDT, INTRC_IO, PUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD, RESERVED
#FUSES NOWDT, INTRC_IO, NOPROTECT, NOBROWNOUT, NOMCLR, NOCPD, PUT, NOIESO, NOFCMEN, RESERVED
#use delay(clock=4000000)
#use i2c(Master,slow,sda=PIN_B4,scl=PIN_B6)  //slow

#byte OPTION_REG=0x81
#bit pull_EN=OPTION_REG.8

#define Chip_address 0x88
#define Testing_Mode 0x80
#define Auto_Zero_Remain 0x40
#define Auto_Increment_Mode 0x20
#define reset_chip 0xfe

#define Source_Selector 0 //&Eacute;ù&Ograve;&ocirc;&Ocirc;&acute;&Ntilde;&iexcl;&Ocirc;&ntilde;
#define Loudness        1 //&cedil;&szlig;&Ograve;&ocirc;
#define Volume          2 //&Ograve;&ocirc;&Aacute;&iquest;
#define Treble          3 //&Ouml;&Oslash;&Ograve;&ocirc;
#define Middle          5 //&Ouml;&ETH;&Ograve;&ocirc;
#define Bass            4 //&micro;&Iacute;&Ograve;&ocirc;

#define Speaker_Attenuator_Left_Front  0x07
#define Speaker_Attenuator_Right_Front 0x0a
#define Speaker_Attenuator_Left_Rear   0x08
#define Speaker_Attenuator_Right_Rear  0x09

#define Source1      1
#define Source2      2
#define Source3      3
#define Source_Mute  4
#define max_db       14

void Data_send(char Commd,char Data)
{
  i2c_start();
  i2c_write(Chip_address);
  i2c_write(Commd);
  i2c_write(Data);
  i2c_stop();
  delay_ms(5);
}
void Led1_flash(void)
{
    output_high(pin_a5);
    delay_ms(1000);
    output_low(pin_a5);
    delay_ms(1000);
}
void Led2_flash(void)
{
    output_high(pin_a4);
    delay_ms(1000);
    output_low(pin_a4);
    delay_ms(1000);
}
void Initializtion_Speaker_Attenuator(void)
{
  Data_send(Speaker_Attenuator_Right_Front,max_db);
  Data_send(Speaker_Attenuator_Left_Front,max_db);
  Data_send(Speaker_Attenuator_Left_Rear,max_db);
  Data_send(Speaker_Attenuator_Right_Rear,max_db);
}
void main()
{
   char i,x;
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   delay_ms(3000);
   while(1)
   {
   
/*
    //*******&Iacute;¨&micro;&Agrave;1************************
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Auto_Increment_Mode + Source_Selector);
    i2c_write(0x78+Source1); //15db,&Iacute;¨&micro;&Agrave;1
    i2c_write(Volume);       //&Ograve;&ocirc;&Aacute;&iquest;;
    for(i=17;i>6;i--)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);        
     }
    output_high(pin_a4);
    i2c_stop();
*/
    //*******&Iacute;¨&micro;&Agrave;2************************
/*
    delay_ms(4000);
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Auto_Increment_Mode + Source_Selector);
    i2c_write(0x78+Source2); //15db,&Iacute;¨&micro;&Agrave;2
    i2c_write(Volume);       //&Ograve;&ocirc;&Aacute;&iquest;;
    for(i=17;i>6;i--)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;
      i2c_write(i);         
    i2c_stop();
*/
/*   //*******&Iacute;¨&micro;&Agrave;3************************
    delay_ms(2000);
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Auto_Increment_Mode + Source_Selector);
    i2c_write(0x78+Source3); //15db,&Iacute;¨&micro;&Agrave;3
    i2c_write(Volume);       //&Ograve;&ocirc;&Aacute;&iquest;;
    for(i=17;i>6;i--)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;5f
     {
      i2c_write(i);          //15db
      Led2_flash();
     }
     i2c_stop();
     //****&frac12;á&Ecirc;&oslash;&Iacute;¨&micro;&Agrave;&Ntilde;&iexcl;&Ocirc;&ntilde;***************
*/
//*************&Iacute;¨&micro;&Agrave;1*********************************************
    delay_ms(4000);
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Auto_Increment_Mode + Source_Selector);
    i2c_write(0x78+Source2); //15db,&Ntilde;&iexcl;&Ocirc;&ntilde;&micro;&frac12;&Iacute;¨&micro;&Agrave;2
    i2c_write(Volume);       //&Ograve;&ocirc;&Aacute;&iquest;;
    for(i=17;i>6;i--)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);        
     }
     i2c_stop();
//**********************Left_Front************************************
    delay_ms(5);
    Initializtion_Speaker_Attenuator();   //&Ecirc;&auml;&sup3;&ouml;&Euml;&yen;&frac14;&otilde;&AElig;÷&Eacute;è&Icirc;&ordf;&Ograve;&raquo;&Ntilde;ù&acute;ó
    delay_ms(3000);
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Speaker_Attenuator_Left_Front);
    for(i=0x0e;i>0;i--)            //&frac14;&otilde;&Eacute;&Ugrave;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x11;i<0x20;i++)        //&frac14;&otilde;&Eacute;&Ugrave;&Ograve;&ocirc;&Aacute;&iquest;5f
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x20;i>0x10;i--)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;5f
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x0;i<0x0f;i++)        //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;5f
     {
      i2c_write(i);         
      delay_ms(400);
     }
    i2c_stop();
//********************Right**********************************
    delay_ms(1000);
    i2c_start();
    i2c_write(Chip_address);
    i2c_write(Speaker_Attenuator_Right_Front);
    for(i=0x0e;i>0;i--)       //&frac14;&otilde;&Eacute;&Ugrave;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x11;i<0x20;i++)    //&frac14;&otilde;&Eacute;&Ugrave;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x20;i>0x10;i--)     //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);         
      delay_ms(400);
     }
    for(i=0x0;i<0x0f;i++)      //&Ocirc;&ouml;&frac14;&Oacute;&Ograve;&ocirc;&Aacute;&iquest;
     {
      i2c_write(i);         
      delay_ms(400);
     }
    i2c_stop();
//*********************************************************   
   while(1);
   }

}

一周热门 更多>