基于单片机控制的FM收音机.docx

上传人:b****4 文档编号:12058454 上传时间:2023-04-16 格式:DOCX 页数:20 大小:967.32KB
下载 相关 举报
基于单片机控制的FM收音机.docx_第1页
第1页 / 共20页
基于单片机控制的FM收音机.docx_第2页
第2页 / 共20页
基于单片机控制的FM收音机.docx_第3页
第3页 / 共20页
基于单片机控制的FM收音机.docx_第4页
第4页 / 共20页
基于单片机控制的FM收音机.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于单片机控制的FM收音机.docx

《基于单片机控制的FM收音机.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的FM收音机.docx(20页珍藏版)》请在冰豆网上搜索。

基于单片机控制的FM收音机.docx

基于单片机控制的FM收音机

为了广交朋友,展示学生开放实验室一位师兄写的电子制作小论文,请鉴赏,另外,为了广交朋友,开放实验室对外赠送电子入门套件。

赠送对象:

对本网站朋友,想电子入门者,赠送部分入门套件包(受赠者负担邮费)。

焊接工具自己买或到自己学校实验室找老师借用,有疑问就问154401855(点击可以聊天)。

支持本论坛,斑竹辛苦了!

为广交本论坛之网友赠送部分器材:

a、电子门铃制作,b、简易循环小彩灯(用PCB板做),c、LED“手电筒”制作。

具体说明见本文最后。

---------------------------------------------------------------------------------------------------------------------

单片机课程设计之

基于单片机控制的FM收音机

目录

摘要:

1

0前言1

1课题分析2

1.1总体分析2

1.2主要技术分析2

2FM收音机程序流程图7

3FM收音机电路图8

4FM收音机实物图8

5FM收音机核心程序9

6项目拓展13

7结论13

参考文献13

基于单片机控制的FM收音机

摘要:

单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。

单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。

正因为单片机有如此多的优点,因此其应用领域之广,几乎到了无孔不入的地步。

在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。

我们可以开发利用单片机系统以获得很高的经济效益。

更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。

以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。

这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。

例如,本文所要论述的通过单片机来控制TEA5767HN芯片及驱动LED数码管实现FM收音并显示频率。

现在人们常使用的收音机为手动调频收台,使用较为麻烦,而且由于接收灵敏度不高,所接收的频段较窄。

本设计采用的是TEA5767HN芯片,它是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片。

TEA5767HN芯片内集成了完整的IF频率选择和鉴频系统,只需很少的低成本外围元件,就可实现FM收音机的全部功能。

另外,它具有高性能的RFAGC电路,其接收灵敏度高;参考频率选择灵活;可实现自动搜台。

关键词:

单片机;FM收音机

0前言:

本设计研究FM收音机分为硬件电路和程序设计两个方面。

从硬件电路来说,主要是实现所需电压值、稳压、搜台、控制和频率显示等方面;从系统程序来说,主要是如何将电台频率换算出PLL控制字写入TEA5767HN,以及PLL控制字转换成频率送显示。

意义:

随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,TEA5767HN芯片可通过IIC系统总线进行各种功能控制,并通过IIC总线输出7位IF计数值;立体声解调器完全免调,可用软件控制SNC、HCC、暂停和静音功能;具有两个可编程I/O口,可用于系统的其他相关功能,又由于其小尺寸的封装,使得它非常适合用于电路板空间相当有限的设计上。

1课题分析

1.1总体分析

课题研究分为两部分:

硬件电路和程序。

硬件电路包括主控制器、调频模块、喇叭(耳机)接收和频率显示四部分。

主控制器采用的是单片机AT89S51,调频模块采用的是TEA5767HN芯片,显示电路采用四个74LS164芯片和4位共阳极LED数码管直读显示。

程序部分用C语言编写包括设定89.6MHZ电台、TEA5767HN写入和读出、PLL控制字转换为频率送显示和IIC总线操作子程序包。

通过设计电路图和电路焊接,编写程序并调试,使系统达到设计要求。

1.2主要技术分析:

1.2.1调频广播收音机的原理:

一个典型的调频广播收音机的电路原理图如下:

1.2.2本设计用到的TEA5767HN的功能介绍:

//具有集成的高灵敏度低噪声射频输入放大器;

//具有射频自动增益控制电路RFAGC;

//LC调谐振荡器采用廉价的固定片式电感;

//具有内部实现的FM中频选择性;

//具有完全集成的FM鉴频器,无需外部解调;

//可选择32.768kHZ或13MHZ的晶体参考频率振荡器,也可使用外部6.5MHZ的参考频率;

//采用PLL合成器调谐系统;

//引脚BUSMODE可选择IIC和3-wire总线;

//总线可输出7位中频计数器;

//总线可输出4位信号电平信息;

//具有软件静音功能;

//具有免调整立体声解调功能;

//具有电台自动搜索功能;

1.2.3TEA5767HN的IIC总线说明:

TEA5767HN的IIC总线地址是C0H,是可收发的从器件结构,无内部地址。

最大低电平是0.2VCCD,最大高电平是0.45VCCD。

当使用IIC总线时,引脚BUSMODE必须接地。

因总线的最高时钟频率是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

首先发送每个字节的最高位。

在时钟下降沿后写入的数据才有效。

 

写模式字节1格式

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

MUTE

SM

PLL13

PLL12

PLL11

PLL10

PLL9

PLL8

 

写模式字节1各位说明

符号

说明

7

MUTE

左右声道静音设置。

1:

左右声道静音;0:

左右声道非静音

6

SM

搜索模式设置。

1:

搜索模式;0:

非搜索模式

5~0

PLL13~8

预置或搜索电台的频率数据高6位

写模式字节2格式

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

PLL7

PLL6

PLL5

PLL4

PLL3

PLL2

PLL1

PLL0

 

写模式字节2各位说明

符号

说明

7~0

PLL7~0

预置或搜索电台的频率数据低8位

写模式字节3格式

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

SUD

SSL1

SSL0

HLSI

MS

ML

MR

SWP1

 

写模式字节3各位说明

符号

说明

7

SUD

上下搜索设置。

1:

向上搜索;0:

向下搜索

6,5

SSL1~0

设定搜索停止电平,见下表

4

HLSI

设定高低本振。

1:

高端本振注入;0:

低端本振注入

3

MS

单声道或立体声设置。

1:

强制单声道;0:

开立体声

2

ML

左静音设置。

1:

左声道静音强制单声道;0:

左声道非静音

1

MR

右静音设置。

1:

右声道静音强制单声道;0:

右声道非静音

0

SWP1

软件可编程输出口1设置。

1:

SWPOR1为高;0:

SWPOR1为低

 

搜索停止电平设置

SSL1

SSL0

搜索停止电平

0

0

不搜索

0

1

低电平,ADC输出值为5

1

0

中电平,ADC输出值为7

1

1

高电平,ADC输出值为10

(本设计用的是第三种)

 

1.2.5读数据

读地址为C1H。

读模式字节1格式

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

RF

BLF

PLL13

PLL12

PLL11

PLL10

PLL9

PLL8

 

读模式字节1各位说明

符号

说明

7

RF

Ready标志。

1:

发现了一个电台或搜索到头;0:

未搜索到头

6

BLF

波段到头标志。

1:

搜索到头;0:

未搜索到头

5~0

PLL13~8

搜索或预置的电台频率值的高6位(需换算)

读模式字节2格式

 

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

PLL7

PLL6

PLL5

PLL4

PLL3

PLL2

PLL1

PLL0

 

读模式字节2各位说明

符号

说明

7~0

PLL7~0

搜索或预置的电台频率值的低8位(需换算)

 

读模式字节3格式

位7(MSB)

位6

位5

位4

位3

位2

位1

位0(LSB)

STEREO

IF6

IF5

IF4

IF3

IF2

IF1

IF0

 

读模式字节3各位说明

符号

说明

7

STEREO

立体声标志。

1:

立体声;0:

单声道

6~0

IF6~0

中频计数结果

1.2.6根据电台频率换算出PLL控制字写入以及根据PLL控制字换算出电台频率读出。

TEA5767HN的中频f固定为225khz,参考频率与所使用的晶振有关,具体数值如下:

XTAL是写模式控制字第4字节的位4,PLLREF是写模式控制字第5字节的7位。

FM收音机参考频率

XTAL

PLLREF

参考频率

振荡频率

0

0

3000HZ

13MHZ

0

1

3000HZ

6.5MHZ

1

0

32768HZ

32.768KHZ

1

1

32768HZ

32.768KHZ

 

fRF=(NDEC*fREFS)/4-(+)fIF式中,fRF为收到的电台频率,NDEC为控制字的十进制值,fIF为中频频率,fREFS为参考频率。

当采用高本振时,公式用减号,当采用低本振时,公式用加号。

本设计用的参考频率是32768HZ,低本振,计算公式为:

fRF=NDEC*8192+225000(HZ)

2FM收音机流程图:

3FM收音机电路图:

4FM收音机实物图:

如图,工作在105.1MHz

5.FM收音机核心程序:

#pragmaSMALL

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitSDA=P1^1;

sbitSCL=P1^0;

sbitLEDG=P3^5;

sbitLEDR=P3^7;

sbitS1=P1^4;

unsignedlongPLL;

uintFG[5];

bitRF=0X08;

bitBLF=0X09;

bitSTERE0=0X0A;

ucharMRD[5],MTD[5];

uchardisplay[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};

/*IIC总线程序*/

voidclr()

{

MRD[0]=0X00;

MRD[1]=0X00;

MRD[2]=0X00;

MRD[3]=0X00;

MRD[4]=0X00;

PLL=0;

}

voiddel240()

{

inti,j;

for(i=240;i>0;i--)

for(j=110;j>0;j--);

}

voidFM_WT()

{inti;

L2:

do

{

sta();

wrbyt(0xc0);

cack();

}while(F0==1);

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

{wrbyt(MTD[i]);

cack();

while(F0==1)

gotoL2;

}

stop();

}

voidFM_RD()

{

inti;

uchardata0;

do{

sta();

wrbyt(0xc1);

cack();

}while(F0==1);

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

{

data0=rdbyt();

MRD[i]=data0;

if(i<4)mack();

}

mnack();

stop();

RF=MRD[0]/2/2/2/2/2/2;

BLF=MRD[0]/2/2/2/2/2%2;

PLL=(MRD[0]&0X3F)*16*16+MRD[1];

STERE0=MRD[2]/2/2/2/2/2/2;

}

voidPLLDIS()

{

unsignedlongF;

inti;

F=(PLL*8192+225000)/10000;

FG[0]=F/10000;

FG[1]=(F%10000)/1000;

FG[2]=(F%1000)/100;

FG[3]=(F%100)/10;

FG[4]=F%10;

if(FG[4]>5)FG[3]=FG[3]+1;

if(FG[3]>9)

{

FG[2]=FG[2]+1;

FG[3]=0;

}

if(FG[2]>9)

{

FG[1]=FG[1]+1;

FG[2]=0;}

if(FG[1]>9)

{

FG[0]=1;

FG[1]=0;

}

for(i=3;i>=0;i--)

{if(i!

=2)

{

SBUF=display[FG[i]];

}

elseSBUF=display[FG[i]]&0xfe;

while(TI==0);

TI=0;

}

}

voidmain()

{

uinti=1;

SCON=0x00;

BLF=0;

RF=0;

STERE0=0;

LEDG=1;

LEDR=1;

MTD[0]=0X2A;

MTD[1]=0X9E;

MTD[2]=0XC0;

MTD[3]=0X17;

MTD[4]=0X00;

FM_WT();

del240();

clr();

FM_RD();

PLLDIS();

//if(STERE0==1)LEDG=0;

L1:

if(i==1)

{

MTD[0]=0XE9;

MTD[1]=0XDA;

MTD[2]=0Xc8;

MTD[3]=0X17;

MTD[4]=0X00;

}

else

{

MTD[0]=0XF3;

MTD[1]=0X64;

MTD[2]=0X48;

MTD[3]=0X17;

MTD[4]=0X00;

}

while

(1)

{

while(S1==1)NOP();

LEDG=1;

LEDR=1;

FM_WT();

del240();

del240();

clr();

do

{

FM_RD();

}

while(RF==0);

if(STERE0==0)

{

MTD[2]=0X08;

}

else

{

MTD[2]=0X00;

LEDG=0;

}

MTD[0]=MRD[0]&0x7f;

MTD[1]=MRD[1];

FM_WT();

PLLDIS();

if(BLF==1)

{

i=!

i;

LEDR=0;

gotoL1;

}

if(i==1)

{

MTD[2]=0XC8;

MTD[1]=0X0C+MRD[1];

if(MTD[1]>0XFF)

{

MTD[1]=MTD[1]-0XFF;

MRD[0]=MRD[0]+1;

}

MTD[0]=0XC0|MRD[0];

}

else

{

MTD[2]=0X48;

MTD[1]=MRD[1]-0X0C;

if(MTD[1]<0)

{

MTD[1]=MTD[1]+0XFF;

MRD[0]=MRD[0]-1;

}

MTD[0]=MRD[0]|0XC0;

}

}

}

参考文献

[1]张俊谟.单片机中级教程——原理与应用.北京:

北京航空航天大学出版社,2006年10月.

[2]唐工.51单片机工程应用实例.北京:

北京航空航天大学出版社,2006年3月.

-----开放实验室又一位师兄学PCB电路板设计时,他自己设计制作的收音机,请观赏-----

河南大学物理与电子学院开放实验室,有基本电学仪器,有时达有几十人在此学习和制作,从大二到大四的都有,从电子制作入门到搞毕业设计或电子竞赛的都有。

有的活泼,有的安静,各有各的脾气,但共有爱好是电子技术与程序设计。

欢迎电子爱好者交流。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1