怎样使用收音模块TEA5767,有具体的电路吗?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-04
FM收音模块 飞利浦 TEA5767 简体版

这个小板需要配合单片机来使用的,使用IIC总线控制。
TEA5767是一片数字收音芯片,常用于MP3、手机等便携产品。
简单的接电阻、电容是不能让其工作的。这几天我正在玩这片IC,很麻烦的。

连好不代表没有出错,写好也一样

‍‍

TEA5767采用I2C或者三线接口控制,我是用的I2C,单片机用STC89C52,带1K EEPROM,可以掉电存台,1602LCD显示. TEA5767读写数据都是5个字节,其中PLL参数14位,具体数据格式请看datasheet.以下程序中的函数可以直接在主程序中调用. 

 #include "iic.c" 

#define max_freq 108000 

#define min_freq 87500 

unsigned char radio_write_data[5]={0x29,0xc2,0x20,0x11,0x00}; //要写入TEA5767

的数据

 

unsigned char radio_read_data[5];        //TEA5767读出的状态

  unsigned int default_pll=0x29c2;//0x29f9;        //默认存台的pll,87.8MHz 

//unsigned int max_pll=0x339b;            //108MHz时的pll, 

//unsigned int min_pll=9000;            //70MHz时的pll 

 

void radio_write(void) 

    unsigned char i; 

    iic_start(); 

    iic_write8bit(0xc0);        //TEA5767写地址

 

    if(!iic_testack()) 

    { 

        for(i=0;i<5;i++) 

        { 

            iic_write8bit(radio_write_data[i]); 

            iic_ack(); 

        } 

    } 

    iic_stop();     

 

//读TEA5767状态并转换成频率

 void radio_read(void) 

    unsigned char i; 

    unsigned char temp_l,temp_h; 

    pll=0; 

    iic_start(); 

    iic_write8bit(0xc1);        //TEA5767读地址

 

    if(!iic_testack()) 

    { 

        for(i=0;i<5;i++) 

        { 

            radio_read_data[i]=iic_read8bit(); 

            iic_ack(); 

        } 

    } 

    iic_stop(); 

    temp_l=radio_read_data[1]; 

    temp_h=radio_read_data[0]; 

    temp_h&=0x3f; 

    pll=temp_h*256+temp_l; 

    get_frequency(); 

 

//由频率计算PLL 

void get_pll(void) 

 { 

    unsigned char hlsi; 

    unsigned int twpll=0; 

    hlsi=radio_write_data[2]&0x10; 

    if (hlsi) 

        pll=(unsigned int)((float)((frequency+225)*4)/(float)32.768);    //频率单位:k 

    else 

        pll=(unsigned int)((float)((frequency-225)*4)/(float)32.768);    //率单位:k 

//由PLL计算频率

void get_frequency(void) 

    unsigned char hlsi; 

    unsigned int npll=0; 

    npll=pll; 

    hlsi=radio_write_data[2]&0x10; 

    if (hlsi) 

        frequency=(unsigned long)((float)(npll)*(float)8.192-225);    //频率单位:KHz 

    else 

        frequency=(unsigned long)((float)(npll)*(float)8.192+225);    //频率单位:KHz 

 

//手动设置频率

,mode=1,+0.1MHz; mode=0:-0.1MHz ,不用考虑TEA5767用于搜台的相关位:SM,SUD 

void search(bit mode) 

    radio_read();         

    if(mode) 

    { 

         frequency+=100; 

        if(frequency>max_freq) 

            frequency=min_freq; 

    } 

    else 

    { 

        frequency-=100; 

        if(frequency<min_freq) 

            frequency=max_freq; 

    }           

    get_pll(); 

    radio_write_data[0]=pll/256; 

    radio_write_data[1]=pll%256; 

    radio_write_data[2]=0x20; 

    radio_write_data[3]=0x11; 

    radio_write_data[4]=0x00; 

    radio_write(); 

 

//自动搜台,mode=1,频率增加搜台; mode=0:频率减小搜台,不过这个好像不能循环搜台

  void auto_search(bit mode) 

    radio_read(); 

    get_pll(); 

    if(mode) 

        radio_write_data[2]=0xa0; 

    else 

        radio_write_data[2]=0x20;     

    radio_write_data[0]=pll/256+0x40; 

    radio_write_data[1]=pll%256;     

    radio_write_data[3]=0x11; 

    radio_write_data[4]=0x00; 

    radio_write(); 

    radio_read(); 

    while(!(radio_read_data[0]&0x80))     //搜台成功标志

     { 

        radio_read(); 

        disp_freq(9,1); 

    }     

 

 

本篇文章来源于单片机仿真网|www.mcufz.com 原文链接: http://www.mcufz.com/html/danpianjiyingyong/2009/1017/986.html 



http://chinadz.net/Article/IC/200609/199.htm
非常全面的。

网上基本找不到

  • tea5767收音机模块,stc单片机操作,写不进去数据,怎么回事呢?
    答:主要还是I2C时序可能有问题,你能读出TEA5767寄存器的值么?如果不能,那你的I2C程序发出一个字节后,能收到ACK么?如果不能,那就要检查程序了,确保CLK配置为输出,SDA在写的时候配置为输出,读ACK或数据时配置为浮空输入,然后就是检查1个字节的8个脉冲是否匹配了。
  • 最简单收音机电路 可以不用可变电容器挑台
    答:可以。一个管子做再生放大,一个管子做电压放大,剩下两只管子推挽放大。不用电容器也可以,线圈做成抽头的,改变抽头,可以调节电台。不用磁棒,灵敏度会很低,可能要加一根长一些的“拖线”,做天线用。
  • 国产普通手机里的收音机模块是什么? 能不能diy一下,拆下来通过单片机来...
    答:一般是tea5767收音机模块,可以拆下来通过单片机控制
  • 收音模块tea5767的中频为什么是225Khz?
    答:它的频率接收范围是76~108MHZ,但是固定中频的带宽是225kHz。而传统超外差收音机的固定中频是10.7MHz。
  • 单片机控制tea5767 天线问题
    答:实际上手机的收音机芯片不是这样的,你非要把耳机当天线,就去买个带MIC的耳机,把天线连在MIC的那根接线上面
  • 数字调频收音机中89c52单片机有什么用?
    答:如果是专用收音模块的话,比如TEA5767 或RDA 5807这样的芯片 89C52是用来控制该模块选频、工作以及调整各工作状态的包括音量大小,工作方式、省电\工作模式等。如果是普通的收音芯片的话应该只是调台,和显示频率的。
  • 数字调频收音机中89c52单片机有什么用?
    答:如果是专用收音模块的话,比如TEA5767 或RDA 5807这样的芯片 89C52是用来控制该模块选频、工作以及调整各工作状态的包括音量大小,工作方式、省电\工作模式等。如果是普通的收音芯片的话应该只是调台,和显示频率的。
  • MP3怎样构成的啊!硬件!
    答:MP3内部结构 MP3播放器由液晶显示屏、微处理器、数码信号处理器(DSP)芯片、输入输出控制器、放大器和一些按钮组成。微处理器是播放器的“大脑”,用来接受用户选择的播放控制,并将当前播放的歌曲信息显示在液晶显示屏上,然后向数据信号处理芯片发出指令,使其准确地处理音频信号。数码信号处理器先用解压...
  • 七喜320A(128MB)主要功能
    答:FM收音功能更是这款播放器的一大亮点。它可免费接入欧洲、美国和日本的调频波段,覆盖范围从76MHz至108MHz。用户可以存储高达20个电台频道,得益于采用的PHILIPS的TEA5767高灵敏度收音模块芯片,确保了稳定的接收质量。然而,对于复读功能,七喜320A并不支持,可能更侧重于提供多样化的播放体验。它还具备网络...
  • 用protues做收音机原理图,TEA5767和TDA2822以及FM62429这三个芯片用...
    答:没有这些元件,也没替代元件,但是其中元件的时序编程还是可以仿真的