基于TEA5767数字调频收音机(主讲:程匹克)
基于TEA5767的数字式收音机设计报告
大学物理与电子学院课程设计报告基于TEA5767的数字调频收音机报告人:王世威专业:通信工程设计小组成员:王世威、何康目录前言 (3)一、主要器材介绍 (4)1.1 STC89C52单片机 (4)1.2 TEA5767收音模块儿 (4)1.3 1602LCD显示屏 (5)1.4 LM386音频功率放大器 (6)二、系统原理及功能介绍 (7)2.1数字FM收音机基本原理 (7)2.2系统功能介绍 (7)三、元件清单 (9)四、制作过程 (10)4.1 前期准备 (10)4.2 实物图 (10)4.3焊接过程中遇到的问题和注意事项 (12)五、程序 (13)六、结论 (23)前言十九世纪无线电通讯技术的发明,使通信摆脱了依赖导线的传统方式,是通信技术上的一次飞跃,也是人类科技史上的一个重要成就。
作为无线电通信的的杰出成果,收音机的发明极改变了人们的生活方式,给人们的生活带来了无穷的乐趣。
随着科技的发展,技术不断地更新换代,收音机也沿着矿石收音机、电子管收音机、晶体管收音机、集成电路收音机的轨道不断进步着。
近年来,随着DSP技术的发展,采用DSP技术研发的收音机芯片的出现,“硬件无线电”由“软件无线电”代替,大大降低了收音机制造业的门槛。
2006年凯隆电子与美国芯科实验室合作,开发出世界上第一台数字收音机。
数字技术收音机的问世,标志着传统模拟收音机将逐渐退出历史舞台。
收音机的数字时代已经到来。
数字调频收音机就是无线电模拟信号由天线感应后接收后,在同一块儿芯片里放大,然后转化为数字信号,再对数字信号进行处理,然后还原成模拟音频信号输出。
数字调频收音机体积小、重量轻、寿命长、频率稳定、操作简便等优点,使其在市场上越来越受欢迎。
本次项目设计,我们对数字调频收音机的原理在理论上进行了充分的了解,基于其基本理论,我们制作了一台数字调频收音机。
一、主要器材介绍本系统主要由STC89C52单片机、1602LCD显示屏、LM386音频功率放大器、TEA5767收音模块儿、电阻电容等组成。
基于TEA5767的USB调频收音机设计
音质和速 度 与 网络 连接情 况有 很大 关系 .与 网络 收音机相 比较 ,US B收音机 没有 收听 费用 ,便于
携带 ,不受 网络条件 限制 ,随 时随地 都能 收听 , 同 时通过 完 善计算 机软件 , 也可 具有 自定义 频道 ,
自动关机 等 附加功 能 .
图 1 系统 框 图
传给上位机 ,任何具有 US B连结功能的 Wi o 个人计 算机或笔记本 电脑,只要通 过 US n ws d B接 口连接本设 计, 就 能通过计算机扬 声器播放调频广播 音频.
关 键 词 :T A5 6 ;调 频 收音 机 ; US E 77 B 中图 分 类 号 :T 7 . M5 1 6 文 献 标 识 码 :A 文 章编 号 : 17 — 3 8( 0 0 卜0 1— 6 6 20 1 2 1 )0 0 20
的管线 式 8 5 0 1处理 器和 1k 闪存 以及 UAR 、 6B T
高度集 成化 , 占用 面积很 小 .
C 0 1 3 0微 处理器 控制通 过 1C总线 控制 85 F 2 2
S u 和 SI MB s P 串行 界面 .芯 片 内建 模拟功 能则包 括
T A5 6 E 7 7芯 片 , E 5 6 T A 7 7音频输 出被微 处理 器 的 模数 转 换 器 ( ADC)进行 采 样 ,采 样 结 果通 过
1 收音机硬件设计
1 1 硬 件总体 设计 .
1 2 微控 制器 电路设计 .
微 控制器 采用 型号 为 C8 5 F 2 0 1 3 0的芯片 ,该芯
片是 C g a 公 司推 出的 US 微控 制器 ,芯 片体积 ynl B 小巧 , 内有 高速 8 5 单片机 内核 ,并 内建 US 20 0l B.
大学生毕业设计基于TEA5767和单片机的数字FM收音机设计资料
摘要本设计是一个数字调频收音机(FM),就是接受频率调制的无线电信号,经过解调还原成原信号的电子设备,利用单片机控制有FM功能的专用芯片,设计一个基于TEA5767模块的数字FM收音机。
本设计采用模块化设计,整个系统由控制模块,FM音频模块和功放模块组成。
本设计核心采用的是TEA5767芯片,它是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片。
TEA5767芯片内集成了完整的IF频率选择和鉴频系统,就可实现FM收音机的全部功能。
采用的是Lcd1602液晶显示屏,实现单片机的频率值与模块内部的寄存器(PLL值)之间的相互转换,从而带动功放的工作。
功能:自动收台,手动收台,液晶显示。
采用主要模块有:(1)STC89C52单片机模块。
(2)Lcd1602显示模块。
(3)TEA5767收音机模块。
关键词:STC89C52 Lcd1602 TEA5767模块目录摘要 (2)1.绪论 (5)1.1 课题背景 (5)1.2 课题概述 (5)2.设计要求与思路 (5)2.1 收音机的设计要求 (5)2.2 系统设计整体思路 (5)3.主要电路模块的实现方案比较及选择 (6)3.1 控制模块方案选择 (7)3.2 液晶显示模块方案选择 (7)3.3 无线芯片方案选择 (7)4.系统电路图 (8)4.1 微控制器模块 (8)4.2 FM模块 (9)4.2.1 FM模块介绍 (9)4.3 工作原理 (10)4.3.1串行总线工作模式 (10)4.3.2 串行总线基本操作 (10)4.3.3数据传送 (12)4.3.4、三线总线工作模式 (12)5.系统软件设计 (13)5.1 主程序设计 (13)5.2 流程图 (14)6.硬件电路测试与检测 (14)6.1 硬件装配 (14)6.2 系统测试 (14)7.结束语 (15)8.参考文献 (15)9.致谢 (15)10.附录 (16)10.1 电路原理图 (16)10.2 电路PCB图 (16)10.3 电路实物图 (17)10.3 元器件清单 (18)11.操作框图 (19)程序框图 (20)12.程序 (21)12.1 主程序 (21)12.2 I2C总线 (26)12.3 Lcd1602程序 (29)基于TEA5767模块的数字FM收音机设计一.绪论1.1课题背景随着科学技术的不断发展,新颖的调频收音机的不断出现,技术不断的提高,设计出来的收音机外型精致和小巧。
单片机控制的TEA5767高性能FM收音机DIY
[分享]单片机控制的 TEA5767高性能FM 收音机 DIY (含原理图,源代码 ) Post By : 2007-10-10 11:41:57本文用到的收音模块可到: / 参考本帖向大家介绍新型 FM 收音机的设计及制作。
想想当年我们是什么做收音机的。
高放混频,解调,立体声解码,锁相等好几个芯片,线路焊好了,但痛苦才开始。
有设备还好些,没有更苦。
为了找谐振点,不 停的调电容电感,不停的换电容电感••…终于有声音,但始终都没那么好。
现在,痛苦终于过去。
因为有了新一代的芯片 TEA5767。
TEA5767 ,零调整。
线路又极其简单。
一个晶振,一个电感,几个电容完了。
通过 接口送几个字节的数据进去就ok 。
I 弓此主题相关图片如下:电子・CNC 爱好看源动力|二1此主题相关图片如下: 电子・CNC 爱好者■源动力源代码:可以存台的版本。
I2C 磁动力论坛bbs 磁动力论坛bbs.cdle. net// WINAVR GCC// ATmega8// clock: internal 1Mhz#include <avr/io.h>#include <avr/interrupt.h>#include <avr/signal.h>#include <avr/delay.h>#include <avr/eeprom.h>#include '3310LCD_function.c'#define uchar uint8_t#define uint uint16_t#define SLA_W 0b11000000 #define SLA_R 0b11000001uchar senddata[5] ;uchar readdata[5] ;uchar search = 0;uchar search_up = 0;uchar mode = 1;uchar station = 0;uint pll = 0x29da; // 88Mhzuint fre = 8750;//// 延时void delay_ms(uint ms){uint i;for(i=0;i<ms;i++)_delay_loop_2(250);}//I2C 主机模式输出void set5767(void){uchar i = 0;TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // SEND START whileSIGNAL (!(TWCR & (1<<TWINT))); // WAIT FOR START SIG //if ((TWSR & 0xF8) != START) ERROR();TWDR = SLA_W; // send addressTWCR = (1<<TWINT) | (1<<TWEN);while (!(TWCR & (1<<TWINT)));//if ((TWSR & 0xF8) !=MT_SLA_ACK) ERROR();for ( i = 0; i < 5; i++ ){TWDR = senddata;TWCR = (1<<TWINT) | (1<<TWEN); // send datawhile (!(TWCR & (1<<TWINT)));// if ((TWSR & 0xF8) != MT_DATA_ACK) ERROR();}TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //SEND STOP SIGNAL // if ((TWSR & 0xF8) != MT_DATA_ACK) ERROR();}//LCD_write_english_string(60,3,'sOK');}//I2C 主机模式 输入void read5767(void){uchar i = 0;TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // SEND START while (!(TWCR & (1<<TWINT))); // WAIT FOR START SIG //if ((TWSR & 0xF8) != START) ERROR();TWDR = SLA_R; // send addressTWCR = (1<<TWINT) | (1<<TWEN);while (!(TWCR & (1<<TWINT)));for ( i = 0; i < 5; i++ ){TWCR = (1<<TWINT) | (1<<TWEN); // read datawhile (!(TWCR & (1<<TWINT)));readdata = TWDR ;SIGNALTWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //SEND STOP SIGNAL//LCD_write_english_string(10,3,'rOK');}void show_frequency(void){uint32_t nPLL =0; //Decuint32_t frequency = 0; //Khzuchar display_bit[5];uchar tbTmp1=readdata[1];uchar tbTmp2=readdata[0];tbTmp2&=0x3f;nPLL=pll ;//tbTmp2*256+tbTmp1;// calculate searched station frequency if(senddata[2]&0x10)frequency =(unsigned long)(nPLL*82/10-225); elsefrequency =(unsigned long)(nPLL*82/10+225);display_bit[0] = frequency / 100000 ;if ( display_bit[0] == 0 ) display_bit[0] = 0x20; else display_bit[0] += 0x30;display_bit[1] = (frequency / 10000)%10 +0x30;display_bit[2] = (frequency / 1000)%10 +0x30;display_bit[3] = (frequency / 100)%10 +0x30;display_bit[4] = (frequency / 10)%10 +0x30;LCD_write_english_string(0,2,' ' );LCD_write_char(display_bit[0]);LCD_write_char(display_bit[1]);LCD_write_char(display_bit[2]);LCD_write_english_string(30,2,'.' );LCD_write_char(display_bit[3]);LCD_write_char(display_bit[4]);LCD_write_english_string(48,2,' MHz' );}void show_frequency2(void){uchar display_bit[5];display_bit[0] = fre / 10000 ;if ( display_bit[0] == 0 ) display_bit[0] = 0x20;else display_bit[0] += 0x30;display_bit[1] = (fre / 1000)%10 +0x30; display_bit[2] = (fre / 100)%10 +0x30; display_bit[3] = (fre/10) %10 +0x30;display_bit[4] = fre%10+0x30;LCD_write_english_string(0,2,' ' );LCD_write_char(display_bit[0]);LCD_write_char(display_bit[1]);LCD_write_char(display_bit[2]);LCD_write_english_string(30,2,'.' );LCD_write_char(display_bit[3]); LCD_write_char(display_bit[4]);LCD_write_english_string(48,2,' }void show_rx_power(void){uchar temp;temp = (readdata[3]>>4);LCD_write_english_string(60,0,'LCD_write_char((temp/10)%10 LCD_write_char(temp%10 + } void show_rx_power_blank(void) {LCD_write_english_string(60,0,' }void calculate_pll(void){uint32_t temp;temp = fre;MHz' );');+ 0x30 ); 0x30 );');pll = (uint)( ( (temp*10-225)*4000)/32768);void init(void){DDRB = 0XFF;PORTB = 0XFF;DDRD = 0B11100000;PORTD = 0XFF;DDRC = 0B00000000;PORTC = 0Xff; // IO initdelay_nms(250);delay_nms(250);delay_nms(250);delay_nms(250);//TWITWBR = 12;TWCR = (1<<TWEN); //SEND STOP SIGNALOSCCAL=0x9d; // 8M 系统内部时钟校准// 设置MCU 的I/O 口DDRB |= LCD_RST | LCD_DC | LCD_CE | SPI_MOSI| SPI_CLK;SPSR |= (1<<SPI2X); // 设置SPI 时钟倍速SPCR |= (1<<SPE)|(1<<MSTR); // 使能SPI 接口,主机模式,4M 时钟LCD_init(); // 初始化液晶////////////////////////////////////////////////////////////////// int main(void){init();uint x;senddata[0] = pll/256; //load 100MHz pllsenddata[1] = pll%256; // away's low side senddata[2] = 0b00100000;senddata[3] = 0b10010000;senddata[4] = 0b01000000;readdata[0] = senddata[0];readdata[1] = senddata[1];LCD_write_english_string(0,0,'FM STEREO' //LCD_write_english_string(0,5,' stereo' );//LCD_write_english_string(0,2,' 99.1Mhz' ); show_frequency();LCD_write_inverse_string(0,5,' UP ');LCD_write_inverse_string(48,5,' DOWN '); station = eeprom_read_byte(22);injection );fre = eeprom_read_word( station *2); calculate_pll();show_rx_power_blank();senddata[0] = pll/256;senddata[1] = pll%256;set5767();delay_nms(200);//delay_nms(200);read5767();show_frequency2();show_rx_power();LCD_write_english_string(0,4,'CH' );LCD_write_char(station/10 +0x30);LCD_write_char(station%10 +0x30);while(1){start:if ( (PIND&0x0c) == 0x04){delay_nms(50);if ( (PIND&0x0c) == 0x04){LCD_write_english_string(48,5,' DOWN ' );delay_nms(200);x= 0;while(bit_is_clear(PIND, 3))x++;if ( x > 65530 ) //判断是否长按{if ( mode ){mode = 0; // 改变模式LCD_write_english_string(0,4,'SET CH' );LCD_write_char(station/10 +0x30);LCD_write_char(station%10 +0x30);}else{mode = 1; // 改变模式LCD_write_english_string(0,4,'CH' );LCD_write_char(station/10 +0x30);LCD_write_char(station%10 +0x30);LCD_write_english_string(24,4,' ' );eeprom_write_word(station*2,fre);loop_until_bit_is_set(PIND,3);LCD_write_inverse_string(48,5,' DOWN '); goto start;}//LCD_write_english_string(0,4,'KEY1 press' );LCD_write_inverse_string(48,5,' DOWN ');if ( mode ){station --;if ( station < 1 ) station = 10;eeprom_write_byte( 22,station);//*pst = station *2;fre = eeprom_read_word( station *2); calculate_pll(); show_rx_power_blank();senddata[0] = pll/256;senddata[1] = pll%256;set5767();delay_nms(200);delay_nms(200);read5767();show_frequency2();show_rx_power();LCD_write_english_string(0,4,'CH' );LCD_write_char(station/10 +0x30);LCD_write_char(station%10 +0x30);}else{fre -=5;if ( fre <= 8750 ) fre = 10800;calculate_pll();show_rx_power_blank();senddata[0] = pll/256;senddata[1] = pll%256;set5767();delay_nms(200);delay_nms(200);read5767();show_frequency2();show_rx_power();}}if ( (PIND&0x0c) == 0x08){delay_nms(50);if ( (PIND&0x0c) == 0x08){LCD_write_english_string(0,5,'delay_nms(200);UP ');if ( mode ){loop_until_bit_is_set(PIND, LCD_write_inverse_string(0,5,' station ++;if ( station >= 11 ) station 2);UP '); = 1;eeprom_write_byte( 22,station);//*pst = station *2;fre = eeprom_read_word( station *2);calculate_pll();show_rx_power_blank();senddata[0] = pll/256;senddata[1] = pll%256;set5767();delay_nms(200);delay_nms(200);read5767();show_frequency2();show_rx_power();LCD_write_english_string(0,4,'CH' );LCD_write_char(station/10 +0x30);LCD_write_char(station%10 +0x30);}else{fre +=5;if ( fre >= 10800 ) fre = 8750;calculate_pll();show_rx_power_blank();senddata[0] = pll/256;senddata[1] = pll%256;set5767();delay_nms(200);delay_nms(200);read5767(); show_frequency2(); show_rx_power();} }//loop_until_bit_is_set(PIND,LCD_write_inverse_string(0,5,' UP ');2);。
基于TEA5767模块的数字FM收音机设计
基于TEA5767模块的数字FM收音机设计姓名:指导老师:摘要本设计是一个数字调频收音机(FM),就是接受频率调制的无线电信号,经过解调还原成原信号的电子设备,利用单片机控制有FM功能的专用芯片,设计一个收音机系统。
本设计采用模块化设计,整个系统由控制模块,FM音频模块,电源模块和功放模块组成。
未处理系统采用单片机控制。
单片机自从20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。
STC89C52单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
本设计另一核心采用的是TEA5767芯片,它是由PHILIPS 公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片。
TEA5767芯片内集成了完整的IF频率选择和鉴频系统,就可实现FM收音机的全部功能。
设计的液晶屏采用的是Nokia5110,该液晶屏的性价比高,接口简单,速度快,适合便携式供电设备。
本设计主要是体现单片机系统的自动控制能力,更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。
关键词:STC89C52 Nokia5110 TEA5767AbstractThe design is a digital FM radio (FM), It is to receive the frequency modulated radio signals, electronic equipment restored to the original signal after demodulation,the use of dedicated chip MCU control FM functions, design a radio system. The system consists of the control module, FM audio module, power module and power amplifier module. The Themicro-processing system microcontroller.The singlechip has come out since the 1970s, compared to is valued people's and the attention by the extremely high performance price, therefore the application is very broad, the development is very quick.STC89C52 Monolithic integrated circuit's characteristic is the volume is small, the integration rate is high, the weight is light, antijamming ability, is not high to the environment request, the low in price, the reliability is high, the flexibility is good, the development is easier. What this design uses is the TEA5767 chip, it is promotes by PHILIPS Corporation in view of the low voltage application single chip digit harmonious FM stereophonic receiver chip. In the TEA5767 chip integrated the complete IF frequency selection and the frequency discrimination system, only need the very few low cost periphery part, be possible to realize the FM radio's complete function.The design of the LCD screen is Nokia5110, The LCD screen have high cost , simple interface, fast, and suitable for portable power supply equipment. A more vital significance was monolithic integrated circuit's application changed the control system tradition design concept and the method.Keywords:STC89C52 , Nokia5110 , TEA5767目录摘要 (2)Abstract (2)目录 (3)绪论 ................................................................................................................ 错误!未定义书签。
用TEA5767实现的数控收音机
TEA5767模块是采用菲利普公司专为移动数码产品设计的单晶片收音集成电路TEA5767为核心,加上外围器件,组成可用IIC总线控制的收音机模块。
模块的供电电压范围比较宽:3-5V都可正常工作。
在应用中,只需要给模块提供电源,用MCU通过IIC接口控制模块就可以完成收音。
模块输出收音机音频左右声道信号,由于模块输出的是音频信号前级,所以直接推动耳机比较困难,需要在外面再加一级耳放,或将音频信号输入至功放。
下图是采用这个模块在本工作室设计的TOP_STAR主板上实现的数字收音机。
数字收音机采用电子音量控制,耳放采用NE5532推动,用稍微好一点的耳机就能获得比较满意的音质。
板载外响放大,方便做事的时候收听收音节目。
功能:按键1-2:音量大小控制,支持按键连击。
按键3-4:频率调节,支持按键连击。
按键5:自动搜索电台。
按键8:外响开关。
调节天线角度能收到北京所有的调频电台。
下图是板载收音模块:如果同样有电子爱好者想自制收音机,本工作室有收音模块出售,淘宝地址: 对购买模块的买家提供本工作室编写调试通过的C51驱动程序。
这个模块的锁相环频率合成参数的计算公式是:分频参数的计算公式为:当HLSI 位为1时N=4∗(fRF +fIF )fREFN = PLL 内的频率合成参数;fRF = 要接收的电台频率;fIF = 中频= 225 kHz;fref = 参考频率晶振为32.768 kHz 参考频率为 32.768 kHz ;晶振为13M 或6.5M 时钟时参考频率为50 kHz ;已知模块的晶振为32.768KN = 4∗(fRF +fIF )32.768K = 4000∗((fRF /1k)K +225 K)32768K = 4000∗((fRF /1k) +225 )32768 = 1000∗(fRF /1K +225)8192 = (fRF +225K)8192例如要接收87.5Mhz的频率,频率合成参数N=(87500000+225000)/8192 =10708.6=10709.往PLL寄存器写10709就能收到87.5M的频率。
利用TEA5767收音模块DIY调频立体声FM收音机
2
// 音量
#define VOLUME_MAX #define VOLUME_MIN #define CHANNEL_NUM #define CHANNEL_MIN #define CHANNEL_MAX
84 0
10 1 CHANNEL_NUM
// 搜索模式
#define STATE_SEARCH
#define OPER_MODE_RADIO #define OPER_MODE_SET
0
// 正常收音机模式
1
// 设置模式
// 正确保存标志 #define SAVE_MASK
0x4B // 'K'
// 设置模式
#define SET_MODE_SEARCH
1 // 搜索
#define SET_MODE_SOUNDMODE
特别注意:组装时 R2 电阻 0 欧姆一定要焊上
10、参考程序和烧写文件 烧写文件:
该文件只允许会员下载! 登录 | 注册
内部震荡 8M
部分参考程序:
Tea5767.c
#include "Tea5767.h" #include "TwiLib.h"
// 初始化 TEA5767
void TEA5767_Init(ulong Freq,uchar Mono) {
// 是否闪烁 #define IS_BLINK()
(BlinkCounter > BLINK_COUNTER_MAX/2)
//======================================================================================================
基于TEA5767的智能收音机的开题报告
基于TEA5767的智能收音机的开题报告郑州大学西亚斯国际学院本科生毕业论文(设计)开题报告题目名称基于单片机和TEA5767模块智能收音机的设计学生姓名张晓宇专业自动化学号20101523341指导教师姓名周伟所学专业自动化职称讲师完成期限2014年2月27日至2014年5月20日一、选题的目的意义:随着社会科技的发展,各种数字电子产品进入我们的生活,虽然智能手机、智能电视已经变得越来越普遍、但是收音机在丰富的娱乐媒介和广大司机朋友,老人及各位观众听友们里还是占有很重要的地位。
现在大都电子产品都在向数字化、集成化发展而且成本越来越低,使得广大厂商在各种设备中嵌入收音机诸如MP3,智能手机,便携式video播放器等电子产品中嵌入FM部分。
这是因为飞利浦公司研发的TEA5768设计的数字FM收音机使这种低成本的实现可能,它可以实现手动、自动、搜台和存台、带有I2C 和3-Wire 两个总线接口, 最小供电电压为2.5V, 外围只需要少量元器件即可实现FM收音机功能, 具有体积小、功耗低、频率稳定性好、高灵敏度、高保真等特点。
EA5767HN芯片是PHILIPS公司推出的针对低电压应用的单芯片数字谐调FM立体声收音机芯片。
它采用创新的收音机架构取代了外部的无源器件与复杂的线路,芯片内集成了完整的IF频率选择和鉴频系统,只需很少的低成本外围元件,就可实现FM收音机的全部功能,硬件系统完全不需要调试。
EA5767HN 芯片前端具有高性能的RF AGC电路,其接收灵敏度高,并且兼容欧洲、美国和日本FM频段;参考频率选择灵活,可通过寄存器设臵选择32.768kHz和13MHz的晶体振荡器或者6.5MHz的外部时钟参考频率;可通过IIC系统总线进行各种功能控制并通过IIC总线输出7位IF计数值;立体声解调器完全免调,可用软件控制SNC、HCC、暂停和静音功能;具有两个可编程I/O口,可用于系统的其他相关功能;由于其软件设计简单,再加上小尺寸的封装,使得它非常适合应用于电路板空间相当有限的设计上;可集成到便携式数码消费产品的设计中,如移动电话、MP3播放器、便携式CD 机、玩具等众多产品,使它们具有FM收音功能。
基于TEA5767模块的数字FM收音机设计说明
基于TEA5767模块的数字FM收音机设计:指导老师:摘要本设计是一个数字调频收音机(FM),就是接受频率调制的无线电信号,经过解调还原成原信号的电子设备,利用单片机控制有FM功能的专用芯片,设计一个收音机系统。
本设计采用模块化设计,整个系统由控制模块,FM音频模块,电源模块和功放模块组成。
未处理系统采用单片机控制。
单片机自从20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。
STC89C52单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
本设计另一核心采用的是TEA5767芯片,它是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片。
TEA5767芯片集成了完整的IF频率选择和鉴频系统,就可实现FM收音机的全部功能。
设计的液晶屏采用的是Nokia5110,该液晶屏的性价比高,接口简单,速度快,适合便携式供电设备。
本设计主要是体现单片机系统的自动控制能力,更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。
关键词:STC89C52 Nokia5110 TEA5767AbstractThe design is a digital FM radio (FM), It is to receive the frequency modulated radio signals, electronic equipment restored to the original signal after demodulation, the use of dedicated chip MCU control FM functions, design a radio system. The system consists of the control module, FM audio module, power module and power amplifier module. The The micro-processing system microcontroller. The singlechip has come out since the 1970s, compared to is valued people's and the attention by the extremely high performance price, therefore the application is very broad, the development is very quick.STC89C52 Monolithic integrated circuit's characteristic is the volume is small, theintegration rate is high, the weight is light, antijamming ability, is not high to the environment request, the low in price, the reliability is high, the flexibility is good, the development is easier. What this design uses is the TEA5767 chip, it is promotes by PHILIPS Corporation in view of the low voltage application single chip digit harmonious FM stereophonic receiver chip. In the TEA5767 chip integrated the complete IF frequency selection and the frequency discrimination system, only need the very few low cost periphery part, be possible to realize the FM radio's complete function.The design of the LCD screen is Nokia5110, The LCD screen have high cost , simple interface, fast, and suitable for portable power supply equipment. A more vital significance was monolithic integrated circuit's application changed the control system tradition design concept and the method.Keywords:STC89C52 , Nokia5110 , TEA5767目录摘要 (2)Abstract (3)目录 (5)绪论 ........................................................ 错误!未定义书签。
基于TEA5767的USB调频收音机设计
图 3 FM 收音模块电路图
2 收音机软件设计
2.1 软件总体设计 FM 收音机软件采用分层次结构化、模块化
图 2 微处理器部分电路设计
14
深圳职业技术学院学报
第9卷
根引线,不同型号的模块引出的线不会完全相 同.除了正负电源、天线和左右声道音频输出是 必须引出的端子外,根据控制方式的不同,芯片 控制和总线接口电路的端子会有不同的选择.对 于使用 3-wire 总线方式的模块来说,3 根信号线 DATA,CLK 和 W/R 都必须有,但是对于 I2C 总 线来说则不需要 W/R 线,可以根据需要,通过模 块上的 BUSMODE 引脚来选择,本设计将该引脚 接地线,选用的是 I2C 总线方式[3].FM 收音模块 部分的设计电路图如图 3 所示.
设计,依次分为应用处理层、接口层、设备驱动 层.其中应用处理层完成与 FM 收音有关的具体 的应用处理;接口层作为应用处理层与设备驱动
层的桥梁,提供与具体硬件平台无关的应用程序接 口;设备驱动层包含具体的硬件平台的各种设备驱 动程序.系统框图如图 4 所示.
采用上述架构设计的软件系统,层次清晰,不 相邻的上下层没有依赖关系,各模块之间的耦合度 低,具有良好的可移植性和可扩充性[4].
机的设计.该调频收音机将收音芯片接收到的声音信号进行处理和数字化,通过 USB 接口将数字声音数据上
传给上位机,任何具有 USB 连结功能的 Windows 个人计算机或笔记本电脑,只要通过 USB 接口连接本设计,
TEA5767数码管显示调频收音机
2012年5月21日 12:56
Delayus(4); SCL = 0; return ErrorBit; } /********************************************************************************************* *****************/ void iic_write8bit(unsigned char input) //写一个字节的数据到总线上 { unsigned char temp; for(temp = 8;temp > 0;temp--) { SDA = (bit)(input & 0x80); Delayus(4); SCL = 1; Delayus(4); SCL = 0; Delayus(4); input = input << 1; } } /********************************************************************************************* *****************/ uchar iic_rdbyt() //从总线上读取一个字节的数据 { uchar a = 0,i = 0; for(i = 0;i < 8;i++) { SDA = 1; SCL = 1; if(SDA == 1) { a = (a << 1) + 1; SCL = 0; } else if(SDA == 0) { a = a << 1; SCL = 0; } } return(a); } /********************************************************************************************* *****************/ void delays (unsigned char b) //按键消抖用的延时程序 { unsigned char i; for(b;b > 0;b--) for(i = 0;i < 250;i++); } /********************************************************************************************* *****************/ void radio_write(void) //写入TEA5767 { unsigned char i; iic_start(); //启动总线传输 iic_write8bit(0xc0); //TEA5767写地址
TEA5767收音机设计
摘要随着我国经济的高速发展,微电子技术、无线电通信技术和自动控制技术也得到了迅速发展,锁相环和频率合成技术已经进入一个崭新的时代,其应用越来越广。
而收音机作为现代的娱乐工具,与人们的生活紧密相关,随着人们对其要求的提高,收音机得到了快速发展,传统的电容、电感调台收音机已经向数字化收音机发展。
本文在已有的收音机模块的基础上,采用A T89S52微控制器对收音机进行控制,由 1602液晶模块作显示,用TEA5767的高灵敏度,低电压和低功耗的全集成的优点作收音模块芯片,通过合理设计,制作了一款完善的数字调谐收音机,并增加了传统收音机所不具备的功能,使之达到了较为理想的效果。
关键词:微控制器, TEA5767,收音机ABSTRACTWith the development of the economy, microelectronic technology, radio communication technology and the automatic theory are developed rapidly, the compound frequency technology has been in a new state. It's application is becoming more and more widely. But the radio as an important pastime tools , it also has developed quickly with the improving requirement of the people .It's radio technology has developed from tradition capacitance or inductance to digital .The article is based on the now-being general radio module, using A T89S52 microcontroller to control the radio, by 1602 for liquid crystal display modules, with TEA5767 the high sensitivity, low voltage and low power consumption of all the advantages of integrated chips for the radio module. the reliability is improved and the feeling of comfort is better through the reasonable design, so the function of radio is more powerful compared with tradition one .Keywords: Microcontroller, TEA5767,Radio目录摘要 (I)ABSTRACT (II)第1章引言 (1)1.1背景 (1)1.2研究内容 (1)第2章芯片介绍 (2)2.1TEA5767收音芯片概述 (2)2.1.1 TEA5767的特点 (2)2.1.2 管脚说明 (3)2.1.3 I2C总线说明 (3)2.1.4 数据传输 (4)2.21602液晶模块介绍 (6)2.2.1技术参数 (7)2.2.2 接口信号说明 (7)2.2.3制器接口时序说明(HD4478及兼容芯片) (7)2.2.4 控制器接口时序说明 (10)2.3FM62429芯片介绍 (11)2.4AT89S52片机模块介绍 (12)第3章硬件电路设计 (16)3.1系统组成 (16)3.2收音模块 (17)3.3音量控制模块 (17)3.4LCD1602模块 (18)3.5按键模块 (18)3.6AT89S52微控制模块 (19)第4章软件设计部分 (21)4.1主程序流程图 (21)4.2按键控制 (22)4.3收音机控制 (22)4.4LCD显示控制 (23)第5章结束语 (24)致谢 (25)参考文献 (26)附录源代码 (27)第1章引言1.1背景收音机诞生到现在已有80年的历史了,在此期间经历了60年代从电子管到晶体管的革命,80年代从晶体管到集成电路的革命,目前正面临着数字化革命。
TEA5767 收音模块操作程序
呵..声音干净,没任何噪音,音质很好哦!
需要液晶显示收音频率的朋友,可点击查看!
----------------------------------
程序使用说明:
sbit freq_set=P3^3; //频率设置
radio_write_data[1]=pll%256;
radio_write_data[2]=0x41;
radio_write_data[3]=0x11;
radio_write_data[4]=0x40;
radio_write();
radio_write_data[2]=0x41;
radio_write_data[3]=0x11;
radio_write_data[4]=0x40;
radio_write();
}
break;
case 3:
}
break;
case 2:
{
frequency=102533; //KHz
get_pll();
radio_write_data[0]=pll/256;
radio_write_data[1]=pll%256;
sbit freq_dec=P3^4; //手动减小键
sbit freq_inc=P3^5; //手动增加键
sbit auto_freq_dec=P3^6; //自动减小键
sbit auto_freq_inc=P3^7; //自动增加键
radio_write_data[3]=0x11;
radio_write_data[4]=0x40;
基于TEA5767的数字式收音机方案设计书
开放实验室单片机设计报告基于TEA5767的数字调频收音机设计人:开放实验室入室人员目录0 前言 (1)1主要器材介绍 (2)1.1 STC89C52单片机 (2)1.2 TEA5767收音模块儿 (2)1.3 X9511数字电位器 (3)1.4 四位共阴数码管 (4)1.5 2822集成功放 (4)2系统原理及功能介绍 (5)2.1数字FM收音机基本原理 (5)2.2 基本原理仿真图 (5)2.3 拓展仿真图 (6)2.4 系统功能介绍 (6)3 程序 (7)3.1 程序流程图 (7)3.2 核心程序(部分) (7)4 制作过程 (10)4.1 前期准备 (10)4.2 焊接过程(附图) (10)4.3焊接过程中遇到的问题和注意事项 (12)5 器材清单 (13)6 其他实现方案的探讨 (13)6.1 可编程数字电位器介绍 (13)6.2 方案讨论 (14)7 结论 (14)参考文献 (15)1 基于TEA5767的数字调频收音机开放实验室入室人员(河南大学物理与电子学院,河南 开封,475004)0 前言十九世纪无线电通讯技术的发明,使通信摆脱了依赖导线的传统方式,是通信技术上的一次飞跃,也是人类科技史上的一个重要成就。
作为无线电通信的的杰出成果,收音机的发明极大地改变了人们的生活方式,给人们的生活带来了无穷的乐趣。
随着科技的发展,技术不断地更新换代,收音机也沿着矿石收音机、电子管收音机、晶体管收音机、集成电路收音机的轨道不断进步着。
近年来,随着DSP 技术的发展,采用DSP 技术研发的收音机芯片的出现,“硬件无线电”由“软件无线电”代替,大大降低了收音机制造业的门槛。
2006年深圳凯隆电子有限公司与美国芯科实验室合作,开发出世界上第一台数字收音机。
数字技术收音机的问世,标志着传统模拟收音机将逐渐退出历史舞台。
收音机的数字时代已经到来。
数字调频收音机就是无线电模拟信号由天线感应后接收后,在同一块儿芯片里放大,然后转化为数字信号,再对数字信号进行处理,然后还原成模拟音频信号输出。
PICTEA5767数码管显示调频收音机精品文档14页
TEA5767数码管显示调频收音机在深圳本地目前能收到如下电台/**************************************************************************************************** **********unsigned char radio_write_data[5] = {0x2c,0xe1,0x70,0x16,0x80}; //频率为93.9MHz 广东音乐电台unsigned char radio_write_data[5] = {0x30,0x5c,0x70,0x16,0x80}; //频率为101.2MHz 广东电台音乐之声unsigned char radio_write_data[5] = {0x31,0x38,0x70,0x16,0x80}; //频率为103.0MHz 广东珠江经济电台unsigned char radio_write_data[5] = {0x31,0xd7,0x70,0x16,0x80}; //频率为104.3MHz 宝安广播电台unsigned char radio_write_data[5] = {0x32,0x20,0x70,0x16,0x80}; //频率为104.9MHz 中央人民广播电台华夏之声unsigned char radio_write_data[5] = {0x33,0x2d,0x70,0x16,0x80}; //频率为107.1MHz 中国国际广播电台环球资讯/**************************************************************************************************** **********/把用来下载的M币给我算了,直上程序供复制。
哈哈!/**************************************************************************************************** **********AT89S52+12MHZ+TEA5767的数码管显示调频收音机本程序使用数码管显示频率晶振是用12M 已通过测试,收音机的频率调节是用计算的方法将显示的频率算好后写到TEA5767芯片里面实现调节的两个按键实现自加或自减频率加了连续加减功能!使用的是在淘宝上买的4.5元/片的简化版的TEA5767模块.2019-05-08/**************************************************************************************************** **********/#include < reg51.h >#define uchar unsigned char#define uint unsigned int/**************************************************************************************************** **********/sbit SDA = P3^0; //接在TEA5767的数据端口sbit SCL = P3^1; //接在TEA5767的时钟端口sbit KEY1 = P3^4; //频率增加按键端口sbit KEY2 = P3^5; //频率减小按键端口sbit KEY3 = P3^6; //频率增加按键端口sbit KEY4 = P3^7; //频率减小按键端口#define duan P0 //频率显示的数码管段选P0端口//#define gy //使用共阴极时屏蔽这行sbit dula=P2^6;sbit wela=P2^7;uchar IF,ADC,CH;//bit RF,STEREO;#ifdef gyunsigned char code dispbit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//显示位码unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};//数码管显示编码#else/**************************************************************************************************** **********/unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0 x00}; //数码管显示编码unsigned char code dispbit[]={0x7e,0x7d,0x7b,0x77,0x6f,0x5f};/*定义点亮的数码管与数组的关系*/#endif/**************************************************************************************************** **********unsigned char radio_write_data[5] = {0x2c,0xe1,0x70,0x16,0x80}; //频率为93.9MHz 广东音乐电台unsigned char radio_write_data[5] = {0x30,0x5c,0x70,0x16,0x80}; //频率为101.2MHz 广东电台音乐之声unsigned char radio_write_data[5] = {0x31,0x38,0x70,0x16,0x80}; //频率为103.0MHz 广东珠江经济电台unsigned char radio_write_data[5] = {0x31,0xd7,0x70,0x16,0x80}; //频率为104.3MHz 宝安广播电台unsigned char radio_write_data[5] = {0x32,0x20,0x70,0x16,0x80}; //频率为104.9MHz 中央人民广播电台华夏之声unsigned char radio_write_data[5] = {0x33,0x2d,0x70,0x16,0x80}; //频率为107.1MHz 中国国际广播电台环球资讯/**************************************************************************************************** **********/unsigned char radio_read_data[5];unsigned char radio_write_data[5];unsigned long frequency = 104900; //开机初始化的电台频率为104.9MHz中央民广播电台华夏之声unsigned int PLL; //计算频率合成时用的变量/**************************************************************************************************** **********/void Delayus(unsigned char x){for(;x > 0;x--);}/**************************************************************************************************** **********/void iic_start() //启动总线传输{SDA = 1;Delayus(4);SCL = 1;Delayus(4);SDA = 0;Delayus(4);SCL = 0;Delayus(4);}/**************************************************************************************************** **********/void iic_stop() //结束总线传输{SCL = 0;Delayus(4);SDA = 0;Delayus(4);SCL = 1;Delayus(4);SDA = 1;Delayus(4);}/**************************************************************************************************** **********/void iic_ack() //发送应答位{SDA = 0;Delayus(4);SCL = 1;Delayus(4);SCL = 0;Delayus(4);SDA = 1;Delayus(4);}/**************************************************************************************************************/bit iic_testack(){bit ErrorBit;SDA = 1;Delayus(4);SCL = 1;Delayus(4);ErrorBit = SDA;Delayus(4);SCL = 0;return ErrorBit;}/**************************************************************************************************** **********/void iic_write8bit(unsigned char input) //写一个字节的数据到总线上{unsigned char temp;for(temp = 8;temp > 0;temp--){SDA = (bit)(input & 0x80);Delayus(4);SCL = 1;Delayus(4);SCL = 0;Delayus(4);input = input << 1;}}/**************************************************************************************************** **********/uchar iic_rdbyt() //从总线上读取一个字节的数据{uchar a = 0,i = 0;for(i = 0;i < 8;i++){SDA = 1;SCL = 1;if(SDA == 1){a = (a << 1) + 1;SCL = 0;}else if(SDA == 0){a = a << 1;SCL = 0;}}return(a);}/**************************************************************************************************** **********/void delays (unsigned char b) //按键消抖用的延时程序{unsigned char i;for(b;b > 0;b--)for(i = 0;i < 250;i++);}/**************************************************************************************************** **********/void radio_write(void) //写入TEA5767{unsigned char i;iic_start(); //启动总线传输iic_write8bit(0xc0); //TEA5767写地址if(!iic_testack()){for(i = 0;i < 5;i++){iic_write8bit(radio_write_data); //写一个字节的数据到总线上iic_ack(); //发送应答位}}iic_stop(); //结束总线传输}/**************************************************************************************************** **********///将显示的频率算好后写到TEA5767芯片里面实现调节,不用考虑TEA5767用于搜台的相关位:SM,SUD//写模式//数据字节1 数据字节2 数据字节3 数据字节4 数据字节5void search(){PLL = (unsigned int)((float)((frequency + 225)) / (float)8.192); //计算合成频率数据频率单位:k/**************************************************************************************************** **********///数据字节1的格式radio_write_data[0]//位7(高位)位6 位5 位4 位3 位2 位1 位0(低位)// MUTE SM PLL13 PLL12 PLL11 PLL10 PLL9 PLL8//7 MUTE 如果MUTE=1 则左右声道被静音;MUTE=0 左右声道正常工作。
基于TEA5767的USB调频收音机设计
基于TEA5767的USB调频收音机设计
卢贶
【期刊名称】《深圳职业技术学院学报》
【年(卷),期】2010(009)001
【摘要】以TEA5767调频收音芯片和C8051F320微控制器为基础,结合USB通信技术,完成了调频收音机的设计.该调频收音机将收音芯片接收到的声音信号进行处理和数字化,通过USB接口将数字声音数据上传给上位机,任何具有USB连结功能的Windows个人计算机或笔记本电脑,只要通过USB接口连接本设计,就能通过计算机扬声器播放调频广播音频.
【总页数】7页(P12-17,39)
【作者】卢贶
【作者单位】武汉软件工程职业学院,湖北武汉430205
【正文语种】中文
【中图分类】TM571.6
【相关文献】
1.基于MSP430F149的数字调频收音机的设计与实现 [J], 符长友;汪星宇;何丽
2.Silicon Laboratories推出完整USB调频收音机参考设计 [J],
3.基于Protel的调频收音机设计 [J], 刘伟波;高坤;钟颜
4.一种基于WinCE6.0的数字调频收音机的设计 [J], 王波;李会勇;钟君
5.Silicon Labs推出USB调频收音机参考设计 [J], 无
因版权原因,仅展示原文概要,查看原文内容请购买。
51单片机+TEA5767+数码管的FM收音机制作电路图+程序
51单片机+TEA5767+数码管的FM收音机制作电路图+程序展开全文现在网上很多网友都在做和TEA5767有关的东东,今天找到个MP4的尸体,屏碎了,打开一看刚好有能用的TEA5767,验证了一下这个东西的实用性,用手上刚好有的51单片机开发板和lm386,为这个集成模块搭建了一个测试平台,下面是试验图片,如果在西安的朋友,肯定知道我手的那个电台了,哈哈!图片一:这个图可以看到整体结构了,其实硬件电路很简单,看看pdf文档完全可以搭建出来,单片机实验板是以前开发的商品。
图片二:这一部分是主要部分了,中间上面那个就是拆下来的TEA5767,它右边是LM386,做功率放大的,下面的扬声器是从一个笔记本里边拆下来的(太败家了,衰!)。
下面的程序可以直接运行了,绝对没问题的,这个也是参考了几个网站的程序,做了些修改,可以手动自动调台了,手动调台有问题,算法好像不对,但是出来的频率问题不大,自动搜索的结果是正确的,我要提醒大家一点,自动搜台的效果和接受强度,也就是天线,有很大的关系,我的天线是一截不到15mm的软导线,good luck!1./*********************************************************** ****************************************2.TEA5767采用I2C接口控制,单片机用AT89S52.晶振11.0592Mhz。
采用四位LED显示。
3.TEA5767采用I2C接口控制.TEA5767读写数据都是5个字节,其中PLL参数14位. Fosc =11.0592Mhz.4.************************************************************ ****************************************/5.#include "regx52.h"6.#include "intrins.h"7./*********************************************************** ************************/8.#define max_freq 108000 //108Mhz9.#define min_freq 87500 //87.5Mhz10.#define max_pll 0x339b //108MHz时的pll.11.#define min_pll 0x299d //87.5MHz时的pll.12.#define Add_Freq 113.#define Dec_Freq 014.#define REFERENCE_FREQ 32.76815.#define ATIIcxxDriverAddressW 0xC016.#define ATIIcxxDriverAddressR 0xC117.#define _Nop()_nop_(),_nop_(),_nop_(),_nop_(),_nop_() /*定义空指令*/18.#define LED P019.void Initialization(void);20.void Get_Pll(void);21.void Get_Frequency(void);22.void Search(unsigned char mode);23.void Auto_Search(unsigned char mode);24.unsigned char GetKey();25.void Delay(unsigned char Time);26.void Led_Display(unsigned long i);27.void DelayD(unsigned char Time);28.unsigned char GetKey();29.void Delay(unsigned char Time);30.void ATIICxx_PWrite(unsigned char *McuAddress,unsigned char count);31.void ATIICxx_PRead(unsigned char *McuAddress,unsigned char count);32.void I2C_Send_Byte(unsigned char sendbyte);33.unsigned char I2C_Receive_Byte(void);34.void I2C_Start(void);35.void I2C_Stop(void);36.void I2C_Ack(void);37.void I2C_Noack(void);38.39./******************************************************** *************/40./* IIC读写程序芯片型号*/41.sbit I2C_SCK=P3^0; /*实时时钟时钟线引脚 */42.sbit I2C_SDA=P3^1; /*实时时钟数据线引脚 */43.sbit k1=P1^7;44.sbit k2=P1^6;45.sbit k3=P1^5;46.sbit k4=P1^4;47./******************************************************** *************/48./******************************************************** ****************/49.sbit ge=P2^3;50.sbit shi=P2^2;51.sbit bai=P2^1;52.sbit qan=P2^0;53.unsigned char tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳54.//0, 1, 2 3 4 5 6 7 8 955./******************************************************** ****************/56.unsigned char radio_write_data[5]={0x2d,0x56,0x20,0x11,0x00}; //初始化写入TEA5767的数据(FM89.8Mhz)57.unsigned char radio_read_data[5];58.unsigned int Pll_Data;59.unsigned long Frequency_Data;60./******************************************************** ***************************/61.void Initialization(void)62.{63.TMOD = 0x11;64.TH0 = 0x5d;65.TL0 = 0x3d;66.TR0 = 0; //25ms67.TH1 = 0x5d;68.TL1 = 0x3d;69.TR1 = 0; //25ms70.T2CON = 0x30;71.T2MOD = 0x00;72.RCAP2H = 0xFE;73.TH2 = RCAP2H;74.RCAP2L = 0xFB;75.TL2 = RCAP2L;76.TR2 = 0; //2400bps77.PCON = 0x00;78.SCON = 0xD0;79.IP = 0x14;80.EX0 = 1;81.IT0 = 1;82.ET0 = 1;83.EX1 = 1;84.IT1 = 1;85.ES = 0;86.EA = 0;87.}88.89./******************************************************** ***************************/90.//读TEA5767状态,并转换成频率91.void Radio_Read(void)92.{93.unsigned char temp_l,temp_h;94.Pll_Data = 0;95.96.ATIICxx_PRead(&radio_read_data[0],5);97.98.temp_l = radio_read_data[1];99.temp_h = radio_read_data[0];100.temp_h &= 0x3f;101.Pll_Data = temp_h*256+temp_l;102.Get_Frequency();103.}104.105./******************************************************** ***************************/106.//由PLL计算频率107.void Get_Frequency(void)108.{109.unsigned char hlsi;110.unsigned int npll = 0;111.112.npll = Pll_Data;113.hlsi = radio_read_data[2]&0x10;114.if (hlsi)115.Frequency_Data = (unsigned long)((float)(npll)*(float)REFERENCE_FREQ*(float)0.25-225); //频率单位:KHz116.else117.Frequency_Data = (unsigned long)((float)(npll)*(float)REFERENCE_FREQ*(float)0.25+225); //频率单位:KHz118.}119.120./******************************************************** ***************************/121.//由频率计算PLL122.void Get_Pll(void)123.{124.unsigned char hlsi;125.126.hlsi = radio_read_data[2]&0x10;127.if (hlsi)128.Pll_Data = (unsigned int)((float)((Frequency_Data+225)*4)/(float)REFERENCE_FREQ); //频率单位:k129.else130.Pll_Data = (unsigned int)((float)((Frequency_Data-225)*4)/(float)REFERENCE_FREQ); //频率单位:k131.}132.133./******************************************************** ***************************/134.//手动设置频率,mode=1,+0.1MHz; mode="0:-0".1MHz ,不用考虑TEA5767用于搜台的相关位:SM,SUD135.void Search(unsigned char mode)136.{137.Radio_Read();138.139.if(mode)140.{141.Frequency_Data += 100;142.if(Frequency_Data > max_freq)143.Frequency_Data = min_freq;144.}145.else146.{147.Frequency_Data -= 100;148.if(Frequency_Data < min_freq)149.Frequency_Data = max_freq;150.}151.152.Get_Pll();153.radio_write_data[0] = Pll_Data/256;154.radio_write_data[1] = Pll_Data%256;155.radio_write_data[2] = 0x41;156.radio_write_data[3] = 0x11;157.radio_write_data[4] = 0x40;158.ATIICxx_PWrite(&radio_write_data[0],5);159.}160.161./******************************************************** ***************************/162.//自动搜台,mode=1,频率增加搜台; mode="0:频率减小搜台".163.void Auto_Search(unsigned char mode)164.{165.Radio_Read();166.Get_Pll();167.if(mode)168.{169.radio_write_data[2] = 0xb1;170.if(Pll_Data > max_pll)171.{172.Pll_Data = min_pll;173.}174.}175.else176.{177.radio_write_data[2] = 0x41;178.if(Pll_Data < min_pll)179.{180.Pll_Data = max_pll;181.}182.}183.184.radio_write_data[0] = Pll_Data/256+0x40;185.radio_write_data[1] = Pll_Data%256;186.radio_write_data[3] = 0x11;187.radio_write_data[4] = 0x40;188.ATIICxx_PWrite(&radio_write_data[0],5);189.Radio_Read();190.while(!(radio_read_data[0]&0x80)) //RF电台就绪标志191.{192.Radio_Read();193.}194.}195.196./******************************************************** ***************************/197.void main(void)198.{199.//0x2d,0x56,0x20,0x11,0x00200.unsigned long temp;201.Initialization();202.radio_write_data[0] =0x2A;203.radio_write_data[1] =0xB6;204.radio_write_data[2] =0x41;205.radio_write_data[3] =0x11;206.radio_write_data[4] =0x40;207.ATIICxx_PWrite(&radio_write_data[0],5);//初始化TEA5767(89.8Mhz)208.Frequency_Data = 89800;209.210.while(1)211.{ temp= Frequency_Data;212.Led_Display(Frequency_Data);213.214.if( k1 == 0)215.{ DelayD(2);216.while(k1 == 0);//等待键松开217.Search(Add_Freq);218.}219.if( k2 == 0)220.{ DelayD(2);221.while(k2 == 0);//等待键松开222.Search(Dec_Freq);223.}224.if( k3 == 0)225.{ DelayD(2);226.while(k3 == 0);//等待键松开227.Auto_Search(Add_Freq);228.}229.if( k4 == 0)230.{ DelayD(2);231.while(k4 == 0);//等待键松开232.Auto_Search(Dec_Freq);233.}234.235.}236.}237.238./******************************************************** *************/239.struct bytedata_2240.{241.unsigned char ByteH;242.unsigned char ByteL;243.};244.245.union int2byte246.{247.unsigned int IntData;248.struct bytedata_2 ByteData;249.};250./******************************************************** *************/251.//启动I2C总线,退出时SCL为低252.void I2C_Start(void)253.{254.I2C_SDA=1; /*发送起始条件的数据信号*/255._Nop();256.I2C_SCK=1;257._Nop();_Nop();_Nop();_Nop();_Nop();/*起始条件建立时间大于4.7us,延时*/258.I2C_SDA=0; /*发送起始信号*/259._Nop();_Nop();_Nop();_Nop();_Nop(); /* 起始条件锁定时间大于4μs*/260.I2C_SCK=0; /*钳住I2C总线,准备发送或接收数据 */261._Nop();_Nop();_Nop();_Nop();_Nop();/*起始条件建立时间大于4.7us,延时*/262.}263.//*停止I2C总线264.void I2C_Stop(void)265.{266.I2C_SCK=0;267.I2C_SDA=0; /*发送结束条件的数据信号*/268._Nop(); /*发送结束条件的时钟信号*/269.I2C_SCK=1; /*结束条件建立时间大于4μs*/270._Nop();_Nop();_Nop();_Nop();_Nop();271.I2C_SDA=1; /*发送I2C总线结束信号*/272.}273.//MCU等待应答位(返回0表示应答)274.bit I2C_WaitAck(void)275.{276.unsigned char ucErrTime = 200; //因故障接收方无ACK,超时值。
最新 基于TEA5767的数字收音机设计-精品
基于TEA5767的数字收音机设计摘要:随着数字化系统的普及,收音机也从原来的模拟系统进入了数字的时代。
本项目是基于数字收音机芯片飞利浦公司的TEA5767所设计的简易多功能数字收音机。
具有体积小,功能多,功耗低,使用方便的特点。
关键词:数字收音机;设计;原理;锁相频率一、总体方案设计1、FM接收频率范围:88MHz~108MHz。
2、设计硬件控制电路和单片机控制程序完成对FM收音模块的操作。
3、有电台自动搜索功能,能够控制电台搜索方向,搜索到电台信号后即可收听电台播音。
4、有电台频率显示功能,电台存储功能二、软硬件的系统设计(一)、硬件结构及各部分功能:单片机根据键盘输入,通过I2C对5767模块的控制寄存器进行读写操作,以实现5767模块的自动手动搜索功能,音频信号经过由TDA2822构成的功放电路放大处理由扬声器输出。
并将从5767模块中读取的频率字换算后显示在LCD 上。
按存储键时,单片机将频率字写入24c02实现存台功能,按读取键即可收听所存电台。
总体框图:(二)、软件流程图三、测试给收音机上电后频率跳到初始设定值(91.8MHz),按手动搜索(上、下),可实现0.1MHz步进;按自动搜索键(上、下),可搜出最近的符合设定信号清晰度的频道;按存台键,可以将即时频率存入24c02中;按读取键即可调出该频率所对应的电台。
手动搜索时,从低端频率88MHz(PLL控制字是2A11H),每按一次手动搜索按钮,频率增加100kHz,读搜到电台标志位RF(读模式字节1的B7)为1时搜到电台,否则未搜到。
当搜索到波段尽头时,BLF(读模式字节1的B6)为1,如果再按手动搜索按钮,则从低端频率重新开始搜索。
自动搜索时,可以用静音搜索模式,搜索开始前静音位(写模式字节1的B7)置1,若从波段的低端频率88MHz开始搜索,采用向上搜索方式(写模式字节3的B7=1),反复读取控制字的RF标志位,若RF=1,则表明搜到电台。
TEA5767的简单收音机设计
delay_xms(20); //延时20毫秒
if (KEY != 0x0f) //有键按下处理
{
m = KEY; //键值放入寄存器m
{
temp<<=1;
if(SDA_5767)
temp++;
SCL_5767=1;
delay();
SCL_5767=0;
}
SCL_5767=0;
delay();
SDA_5767=1; //释放SDA数据线
return (temp);
}
void write_radio()
SDA_5767=0;
delay();
SCL_5767=0;
}
void stop_5767(void)//停止
{
SDA_5767=0;
SCL_5767=1;
delay();
SDA_5767=1;
delay();
SCL_5767=0;
BUS_ENABLE=0;
}
void Check_Ack(void) //检查应答信号
{
unsigned char tmp_data;
unsigned int pll_data;
pll_data=get_radio();
tmp_data=read_data[2]&0x10;
if(tmp_data)
frequencry= (pll_data*32768/4-225000)/1000; //(单位KHZ)
{
read_radio();
}
}
void delay_xms(unsigned int count) //1MS延时函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BTL(Bridged-Tied-Load)和SE(Single-Ended) 输出模式
在相同的VDD条件下,BTL模式相对于SE模式有许多有点:
1、BTL模式可以输出更高的电压VOBTL=2VOSE; 2、相同负载下可以输出更大的功率; 3、BTL模式可以有效的抑制共模噪声,这是因为相同的冲击会同时出现在BTL的 “+”,“-”两端,通过负载后会相互抵消,不对扬声器做功;
硬件及原理分析介绍
合理布局是使作品美观漂亮的关键!!!
手工版
PCB成品版
TEA5767模块电路
模块引脚
引脚 符号 功能 引脚 符号 功能
总线数据输入 输出
总线时钟 总线模式选择 总线读写控制 电源正
电源地
右声道输出 左声道输出 解调信号输出 信号(天线)
模块应用说明
①1、2脚为I2C总线的数据线和时钟线必须通过10K电阻上拉; ②3脚BUSMOD这里我们使用的是I2C总线驱动所以将其接地; ③4脚为SPI总线驱动时的读写控制,这里使用的是I2C总线驱 动,所以将其悬空; ④5脚VCC 最好通过磁珠及电容进行干扰抑制。100uF 的电容 选用电解电容,0.1uF 的电容可以选用介电常数高,高频性 能好的陶瓷电容, 以保证整个收音模块的电源系统更加稳 定; (这里我们选用的是104贴片电容,没有磁珠选用的 是10uH电感); ⑤7、8脚左右声道输出脚必须通过电容耦合输出,以滤除直 流成分信号;
TDA2822功放电路
双联电位器
双声道音频接口
TDA2822应用说明
① TDA2822 DATASHEET ; ②TDA2822在5 V供电时可以在8负载上得到大约0.25 W 的功 率。由于TEA5767输出信号为7 5 mV左右,而 T DA2 8 2 2 增益GV约为39dB,在5 V供电时输入 3 0 mV即达到最大功率 输出,所以,另加了 33K和15K电阻对 TEA5767输出的信号进 行衰减以避免输出失真过大; ③C9,R18和C15,R25组成高次谐波抑制电路,用于防止电路 振荡 ,必须加上; ④C12和C13为输出耦合电容,TDA2822输出脚输出存在2.5V 的直流信号,我们要得到的是交流的声音信号,所以必须 利用耦合电容将直流信号隔离并将交流声音信号耦合输出。 当我们需要对音频信号进行采样的时候可以借助这个2.5V 的直流电平将音频信号抬高方便MCU采样。因为我们这里 选择TDA2822为SE模式输出,如果BTL模式输出就不用输 出耦合电容了;
程序流程图
开始
初始化
是否有按键按下
是
定时器
更新频率
数音机
主讲:程匹克 QQ:470217507
基于TEA5767数字调频收音机
①制作过程介绍 ② TEA5767模块介绍 ③ I2C总线介绍 ④硬件及原理分析介绍 ⑤程序软件分析介绍
TEA5767模块
T EA5767HN是Phi lips 公司生产的一款低功耗立体声收音 IC, 广泛应用手机、 MP 3 、MP 4 播放器等便携系统。 接收频率7 6 MHz ~108 MHz ( 日本 /美国 /欧洲频段选择) ,中频频率 2 2 5 k Hz ,用锁相环调谐系统,带有AGC电路,并可以使用 软件进静音和消除噪音。 主要电性能指标 : 工作 电压 :2 .5V~5 V,工作电流1 0 mA, 灵 敏度15V,立体声分离度3 0 d B,信噪比6 0 d B,输出信号电 平 7 5 mV。可通过I2C和SPI总线驱动,具有 RF信号强度 ADC 输出,软件静音。