




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、36 / 36专业综合课程设计基于单片机控制的FM收音机班级:通信(三)班 成绩: 基于单片机控制的FM收音机摘 要:单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为单片机有如此多的优点,因此其应用领域之广,几乎到了无孔不入的地步。在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。我们可以开发利用单片机系统以获得很高的经济效益。更重要的意义是单片机
2、的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。例如,本文所要论述的通过单片机来控制TEA5767HN芯片与驱动LCD1602液晶屏实现FM收音并显示频率。现在人们常使用的收音机为手动调频收台,使用较为麻烦,而且由于接收灵敏度不高,所接收的频段较窄。本设计采用的是TEA5767HN芯片,它是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片。TEA5767HN芯片集成了完整的IF频率选择和鉴频系统,只需很少的低成本外围元件,就可实现FM
3、收音机的全部功能。另外,它具有高性能的RF AGC电路,其接收灵敏度高;参考频率选择灵活;可实现自动搜台。关键词: 89C52单片机;TEA5767HN芯片;2822功率放大器 AbstractThis test constitute with stc89c52 singlechip micyoco, tea5767 model,2822 power amplifier,1602 and peripheral circuit.In the design process,we used modular design for several types,such as searching mode
4、l,display model,storage model and some ancillary function.STC series singlechip has very good control ability and stable level to meet the requirements.前言: 本设计研究FM收音机分为硬件电路和程序设计两个方面。从硬件电路来说,主要是实现所需电压值、稳压、搜台、控制和频率显示等方面;从系统程序来说,主要是如何将电台频率换算出PLL控制字写入TEA5767HN,以与PLL控制字转换成频率送显示。意义: 随着单片机技术的不断发展,单片机在日用电子产
5、品中的应用越来越广泛,TEA5767HN芯片可通过IIC系统总线进行各种功能控制,并通过IIC总线输出7位IF计数值;立体声解调器完全免调,可用软件控制SNC、HCC、暂停和静音功能;具有两个可编程I/O口,可用于系统的其他相关功能,又由于其小尺寸的封装,使得它非常适合用于电路板空间相当有限的设计上。1课题分析1.1 总体分析 课题研究分为两部分:硬件电路和程序。硬件电路包括主控制器、调频模块、喇叭(耳机)接收和频率显示四部分。主控制器采用的是单片机AT89S51,调频模块采用的是TEA5767HN芯片,显示电路采用FPB9742芯片和LCD液晶屏直读显示。程序部分用C语言编写包括设定89.6
6、MHZ电台、TEA5767HN写入和读出、PLL控制字转换为频率送显示和IIC总线操作子程序包。通过设计电路图和电路焊接,编写程序并调试,使系统达到设计要求。1.2主要技术分析:1.2.1调频广播收音机的原理:一个典型的调频广播收音机的电路原理图如下:自动增益控制高频放大器混频器中频放大器限幅器鉴频器音频放大器调谐器本地振荡器1.2.2 本设计用到的TEA5767HN的功能介绍:(1)具有集成的高灵敏度低噪声射频输入放大器;(2)具有射频自动增益控制电路RF AGC;(3)LC调谐振荡器采用廉价的固定片式电感;(4)具有部实现的FM中频选择性;(5)具有完全集成的FM鉴频器,无需外部解调;(6
7、)可选择32.768kHZ或13MHZ的晶体参考频率振荡器,也可使用外部 6.5MHZ的参考频率; (7)采用PLL合成器调谐系统;(8)引脚BUSMODE可选择IIC和3-wire总线;(9)总线可输出7位中频计数器;(10)总线可输出4位信号电平信息;(11)具有软件静音功能;(12)具有免调整立体声解调功能;(13)具有电台自动搜索功能; 1.2.3 TEA5767HN的IIC总线说明: TEA5767HN的IIC总线地址是C0H,是可收发的从器件结构,无部地址。最大低电平是0.2VCCD,最大高电平是0.45VCCD。 当使用IIC总线时,引脚BUSMODE必须接地。因总线的最高时钟频
8、率是400kHZ,故芯片的时钟频率不能高于该值。 当向TEA5767HN写入数据时,地址的最低位是0,即写地址是C0H。当从TEA5767HN读出数据时,地址的最低位是1,即读地址是C1H。TEA5767HN遵守通用的IIC总线通信协议,IIC总线的写模式和读模式格式分别为: IIC写模式开始位写地址应答位数据字节应答位停止位 IIC读模式开始位读地址应答位数据字节1 1.2.4写数据: TEA5767HN部有一个5字节的控制寄存器,在IIC上电复位后,必须先通过总线接口向其写入适当控制字,TEA5767HN才能正常工作。写入控制字应按照以下顺序: 地址,字节1,字节2,字节3,字节4,字节5
9、 首先发送每个字节的最高位。在时钟下降沿后写入的数据才有效。 写模式字节1格式 位7(MSB)位6位5位4位3位2位1位0(LSB)MUTESMPLL13PLL12PLL11PLL10PLL9PLL8 写模式字节1各位说明位符号 说明7MUTE左右声道静音设置。1:左右声道静音;0:左右声道非静音6SM搜索模式设置。1:搜索模式;0:非搜索模式50PLL138预置或搜索电台的频率数据高6位 写模式字节2格式位7(MSB)位6位5位4位3位2位1位0(LSB)PLL7PLL6PLL5PLL4PLL3PLL2PLL1PLL0 写模式字节2各位说明位符号说明70PLL70预置或搜索电台的频率数据低8
10、位 写模式字节3格式位7(MSB)位6位5位4位3位2位1位0(LSB)SUDSSL1SSL0HLSIMSMLMRSWP1 写模式字节3各位说明位符号说明7SUD上下搜索设置。1:向上搜索;0:向下搜索6,5SSL10设定搜索停止电平,见下表4HLSI设定高低本振。1:高端本振注入;0:低端本振注入3MS单声道或立体声设置。1:强制单声道;0:开立体声2ML左静音设置。1:左声道静音强制单声道;0:左声道非静音1MR右静音设置。1:右声道静音强制单声道;0:右声道非静音0SWP1软件可编程输出口1设置。1:SWPOR1为高;0:SWPOR1为低 搜索停止电平设置SSL1SSL0搜索停止电平00
11、不搜索01低电平,ADC输出值为510中电平,ADC输出值为711高电平,ADC输出值为10 (本设计用的是第三种)1.2.5读数据读地址为C1H。 读模式字节1格式位7(MSB)位6位5位4位3位2位1位0(LSB)RFBLFPLL13PLL12PLL11PLL10PLL9PLL8 读模式字节1各位说明位符号说明7RFReady标志。1:发现了一个电台或搜索到头;0:未搜索到头6BLF波段到头标志。1:搜索到头;0:未搜索到头50PLL138搜索或预置的电台频率值的高6位(需换算) 读模式字节2格式位7(MSB)位6位5位4位3位2位1位0(LSB)PLL7PLL6PLL5PLL4PLL3P
12、LL2PLL1PLL0读模式字节2各位说明位符号说明70PLL70搜索或预置的电台频率值的低8位(需换算) 读模式字节3格式位7(MSB)位6位5位4位3位2位1位0(LSB)STEREOIF6IF5IF4IF3IF2IF1IF0 读模式字节3各位说明位符号说明7STEREO立体声标志。1:立体声;0:单声道60IF60中频计数结果1.2.6 根据电台频率换算出PLL控制字写入以与根据PLL控制字换算出电台频率读出。TEA5767HN的中频f固定为225khz,参考频率与所使用的晶振有关,具体数值如下: XTAL是写模式控制字第4字节的位4,PLLREF是写模式控制字第5字节的7位 。 FM收
13、音机参考频率XTALPLLREF参考频率振荡频率003000HZ13MHZ013000HZ6.5MHZ1032768HZ32.768KHZ1132768HZ32.768KHZfRF=(NDEC*fREFS)/4-(+)fIF 式中,fRF为收到的电台频率,NDEC为控制字的十进制值,fIF为中频频率,fREFS为参考频率。当采用高本振时,公式用减号,当采用低本振时,公式用加号。本设计用的参考频率是32768HZ,低本振,计算公式为: fRF=NDEC*8192+225000(HZ)2 FM收音机流程图:3 FM收音机电路图:器件清单:器件规格件数电解电容1µF2电解电容1000
14、81;F1电解电容47µF4普通电容0.1µF1电阻10k2TDA28221喇叭14 FM收音机实物图:5.FM收音机核心程序:#include <reg51.h>#include <string.h>#include <math.h>#include <uart.h>#include <i2c.h>#define max_freq 108000#define min_freq 87500sbit KEY11=P30;sbit KEY22=P31;sbit KEY1=P32;sbit KEY2=P33;unsign
15、ed char radio_write_data5=0x2a,0xb6,0x40,0x11,0x40; /要写入TEA5767的数据unsigned char radio_read_data5; /TEA5767读出的状态unsigned int default_pll=0x301d; /0x29f9; /默认存台的pll,95.8MHzunsigned int max_pll=0x339b; /108MHz时的pll,unsigned int min_pll=9000; /70MHz时的pllunsigned long frequency;unsigned int pll;unsigned
16、long FM;/*void delay(unsigned int time) while(time-);*/void delay1ms (unsigned int b)/1ms for(b;b>0;b-) unsigned int i; for(i=0;i<300;i+) ; #include<intrins.h>sbit RS = P24; /定义端口 sbit RW = P23;sbit EN = P22;sbit P20=P20;/定义锁存使能端口 段锁存sbit P21=P21;/ 位锁存sbit P35 = P35;/这是为了关闭开发板上的点阵实际应用去掉#
17、define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P1/*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*-
18、mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 判忙函数-*/ bit LCD_Check_Busy(void) DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80
19、); /*- 写入命令函数-*/ void LCD_Write_Com(unsigned char ) while(LCD_Check_Busy(); /忙则等待 RS_CLR; RW_CLR; EN_SET; DataPort= ; _nop_(); EN_CLR; /*- 写入数据函数-*/ void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); /忙则等待 RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /*- 清屏函数-*/ void LCD_Cle
20、ar(void) LCD_Write_Com(0x01); DelayMs(5); /*- 初始化函数-*/ void LCD_Init(void) LCD_Write_Com(0x38); /*显示模式设置*/ DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08); /*显示关闭*/ LCD_Write_Com(0x01); /*显示清屏*/ LCD_Write_Com(0x06); /*显示光标移动设置*/
21、DelayMs(5); LCD_Write_Com(0x0C); /*显示开与光标设置*/ /1602显示void DISP_FM() unsigned char j; j=(radio_read_data3&0xf0)>>4; LCD_Write_Com(0x8e); LCD_Write_Data('0'+(j/10); LCD_Write_Data('0'+(j%10); LCD_Write_Com(0x8c); LCD_Write_Data('S'); LCD_Write_Data(':');FM=fre
22、quency; LCD_Write_Com(0x80); LCD_Write_Data('F'); LCD_Write_Data('M'); LCD_Write_Data(' '); LCD_Write_Data('R'); LCD_Write_Data('a'); LCD_Write_Data('d'); LCD_Write_Data('i'); LCD_Write_Data('o'); LCD_Write_Com(0xc2);if(FM/100000) LCD_W
23、rite_Data('0'+FM/100000);else LCD_Write_Data(' ');LCD_Write_Com(0xc3); LCD_Write_Data('0'+(FM%100000)/10000);LCD_Write_Com(0xc4); LCD_Write_Data('0'+(FM%10000/1000);LCD_Write_Com(0xc5); LCD_Write_Data('.');LCD_Write_Com(0xc6); LCD_Write_Data('0'+(FM%10
24、00)/100);LCD_Write_Com(0xc7); LCD_Write_Data('0'+(FM%100)/10);LCD_Write_Com(0xc8); LCD_Write_Data('0'+(FM%10);LCD_Write_Com(0xc9); LCD_Write_Data(' ');LCD_Write_Com(0xca); LCD_Write_Data('M');LCD_Write_Com(0xcb); LCD_Write_Data('H');LCD_Write_Com(0xcc); LCD_Wr
25、ite_Data('Z'); 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_datai); iic_ack(); iic_stop(); /由频率计算PLLvoid get_pll(void) unsigned char hlsi; unsigned int twpll=0; hlsi=radio_write_data2&
26、0x10; /HLSI位 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_data2&0x10; if (hlsi) frequency
27、=(unsigned long)(float)(npll)*(float)8.192-225); /频率单位:KHz else frequency=(unsigned long)(float)(npll)*(float)8.192+225); /频率单位:KHzvoid 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_
28、datai=iic_read8bit(); iic_ack(); iic_stop(); temp_l=radio_read_data1; temp_h=radio_read_data0; temp_h&=0x3f; pll=temp_h*256+temp_l; get_frequency();/手动设置频率,mode=1,+0.1MHz; mode=0:-0.1MHz ,不用考虑TEA5767用于搜台的相关位:SM,SUDvoid search(bit mode) radio_read(); if(mode) frequency+=100; if(frequency>max_f
29、req) frequency=min_freq; else frequency-=100; if(frequency<min_freq) frequency=max_freq; get_pll(); radio_write_data0=pll/256; radio_write_data1=pll%256; radio_write_data2=0x41; radio_write_data3=0x11; radio_write_data4=0x40; radio_write(); DISP_FM();/自动搜台,mode=1,频率增加搜台; mode=0:频率减小搜台,不过这个好像不能循环搜
30、台void auto_search(bit mode) bit BLF; radio_read(); if(BLF) if(mode)frequency=min_freq; else frequency=max_freq;else if(mode) frequency+=100; if(frequency>max_freq) frequency=min_freq; else frequency-=100; if(frequency<min_freq) frequency=max_freq; get_pll(); if(mode) radio_write_data2=0xb1; el
31、se radio_write_data2=0x41; radio_write_data0=pll/256+0x40; /加0x40是将SM置为1 为自动搜索模式 radio_write_data1=pll%256; radio_write_data3=0x11; /SSL1和SSL0控制搜索停止条件 radio_write_data4=0x40; radio_write(); radio_read(); while(!(radio_read_data0&0x80) /搜台成功标志 radio_read(); DISP_FM(); UART_Put_Num(frequency); if(
32、radio_read_data0&0x40)=0x40)BLF=1; else BLF=0; get_pll(); if(radio_read_data2&0x80)radio_write_data2=0xb1; else radio_write_data2=0x41; radio_write_data0=pll/256; radio_write_data1=pll%256; radio_write_data3=0x11; radio_write_data4=0x40; radio_write(); radio_read(); DISP_FM(); void main(void
33、) P3=0xFF;P1=0x00;/这是为了关闭开发板上的数码管实际应用去掉P20=0; /这是为了关闭开发板上的数码管实际应用去掉P21=0; /这是为了关闭开发板上的数码管实际应用去掉P35=0; /这是为了关闭开发板上的点阵实际应用去掉P1=0xFF;/P1口置1LCD_Init(); LCD_Clear();/清屏 UART_Init();/串口初始化 UART_Send_Str("调频收音机n"); radio_write(); while(1) if(KEY1=0) delay1ms(15); /延时15ms if(KEY1=0) while(KEY1=0);/等待按键释放 search(1); radio_read(); UART_Send_Str("目前频率n"); UART_Put_Num(frequency); UART_Send_Str("n");DISP_FM(); if(KEY2=0) delay1ms(15); /延时15ms if(KEY2=0) while(KEY2=0);/等待按键释放 search(0); radio_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年蚌埠市淮上区中小学教师招聘笔试真题
- 《骆驼祥子》每一章的读后感
- 高效除砂器企业制定与实施新质生产力战略研究报告
- 定制化办公空间解决方案企业制定与实施新质生产力战略研究报告
- 抗病毒药物耐药性快速检测技术行业跨境出海战略研究报告
- 高效汽车电池企业制定与实施新质生产力战略研究报告
- 时尚艺术品设计中心行业深度调研及发展战略咨询报告
- 自有商业房屋租赁AI应用企业制定与实施新质生产力战略研究报告
- 高效果酱灌装封口机行业深度调研及发展战略咨询报告
- 湘艺版七年级歌唱课《雪绒花》教学实践研究
- 护理随访案例分享课件
- 天然产物药物生物合成
- 中国HEPA过滤器行业发展监测及发展战略规划报告
- 2024年江苏商贸职业学院高职单招职业适应性测试历年参考题库含答案解析
- 施工技术创新管理措施
- 2024版非ST段抬高型急性冠脉综合征诊断和治疗指南解读
- 医疗机构抗菌药物临床应用分级管理目录(2024年版)
- 2024江苏省高中化学学业水平考试 考前指导(心态+策略+得分点)(学生版+解析版)
- 《汤姆索亚历险记》阅读测试题(附答案)
- 动设备监测课件 转动设备状态监测与故障诊断
- 《黑神话:悟空》跨文化传播策略与路径研究
评论
0/150
提交评论