搜索
bottom↓
回复: 4

那位大侠用过TDA7418?

[复制链接]

出0入0汤圆

发表于 2010-3-8 20:04:15 | 显示全部楼层 |阅读模式
那位大侠用过TDA7418的音频IC,我怎么弄就是没音输出。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-3-9 12:28:41 | 显示全部楼层
没用过

出0入0汤圆

 楼主| 发表于 2010-3-12 10:12:10 | 显示全部楼层
既然没人用过我就把我用试过的代码贴上,只是选择信号源和声音为什么这样子我自已也不是很清楚,但它是可以用的,希望那位知道的告诉一声音,这样就非常感谢。
//#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);
   }

}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-31 03:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表