数字式调频收音机.docx
《数字式调频收音机.docx》由会员分享,可在线阅读,更多相关《数字式调频收音机.docx(41页珍藏版)》请在冰豆网上搜索。
![数字式调频收音机.docx](https://file1.bdocx.com/fileroot1/2023-2/11/8e1ffbdc-5bdb-4c62-8950-1533d0d3e0a7/8e1ffbdc-5bdb-4c62-8950-1533d0d3e0a71.gif)
数字式调频收音机
TAIYUANUNIVERSITYOFSCIENCE&TECHNOLOGY
毕业设计
题目:
数字式调频收音机
姓名:
________
学号:
__
专业班级:
_自动化_
指导教师:
___________
日期:
_______
电子信息工程学院
摘要
本文选用单片机STC89C52控制器完成了数字调频收音机设计,选用电源模块、键盘模块、TEA5767调频模块、LCD1602液晶显示器和LM386功放模块搭建了硬件平台,利用C语言完成了软件编程,程序开发环境为KeiluVision,实现了按键调频,手动调节旋钮来改变音量大小和显示器实时显示频率的功能。
实验结果表明,本文所设计的收音机具备手动调频,可调音量以及显示实时频率功能,达到了预期设计效果,符合设计要求。
关键词:
单片机STC89C52,TEA5767,LCD1602
ABSTRACT
TheSTC89C52microcontrollerwasselected,whichisregardedasthemaincontrollerofthedigitalfrequencymodulationradiodesign,andcombineswiththepowermodule,thekeyboardmodule,theTEA5767frequencymodulationmodule,theLCD1602liquidcrystaldisplayandtheLM386poweramplifiermoduletocompletehardwarecircuitdesign.andthesoftwaredesignofdigitalfrequencymodulationradiosystemiscompletedbyusingClanguage,theKeiluVisionsoftwareistheprogramdevelopmentenvironment,thesystemrealizesthisfunctions,whichadjustedfrequencybythekey,adjustedthesoundvolumebytheknobandshowedthereal-timefrequencybydisplayer.Finally,throughtheresultofexperiment,thedesignhasfrequencymodulation,adjustablevolumeanddisplayreal-timefrequencyfunctions,theexpecteddesigneffectsarerealized,andthedesignrequirementsaremet.
Keywords:
STC89C52,TEA5767,LCD1602
概述
收音机一直在人们的娱乐生活中占有非常重要的位置,从原来的老式晶体管收音机到今天的网络收音机,说明通过广播可以享受生活,这一直是人们喜欢的生活方式。
现在,随着消费型电子的兴起并且繁荣和数字电子技术的发展,广大从事消费型电子设计的厂商都不忘记在诸如MP3、便携式Video、智能手机、播放器等产品中嵌入调频收音部分。
但目前的收音机功能繁琐,故本设计从实际出发设计一款收音效果好,简单便捷的数字式调频收音机。
调频收音机又称调频广播接收机,它是一种应用十分广泛的小型无线电信号接收装置,被用来接收广播信号以实现节目的收听。
收音机是由美国的费邓森教授最早发明的,1906年至今已有一个世纪之余。
随后,通过大量科研人员和工程师的不断努力以及电子器件的进步,从最初的矿石收音机为起点,逐步发展出电子管收音机,晶体管收音机,直到目前的集成电路收音机[1]。
收音机的接收原理就是把从天线接收到的高频信号经检波(解调)还原成音频信号,送到扬声器变成音波。
由于广播事业发展,天空中有了很多不同频率的无线电波。
如果把这许多电波全都接收下来,音频信号就会像处于闹市之中一样,许多声音混杂在一起,结果什么也听不清了。
为了设法选择所需要的节目,在接收天线后,有一个选择性电路,它的作用是把所需的信号(电台)挑选出来,把不要的信号“滤掉”,以免产生干扰,这就是我们收听广播时,所使用的“选台”按钮。
选择性电路的输出是选出某个电台的高频调幅信号,利用它直接推动扬声器是不行的,还必须把它恢复成原来的音频信号,这种还原电路称为解调,把解调的音频信号送到扬声器,就可以收到广播。
典型的调频收音机工作原理图如下。
图1收音机工作原理图
第1章系统功能需求分析与控制方案设计
本章主要容是对系统进行软、硬件需求分析和对控制方案进行设计。
1.1系统功能需求分析
本文要求设计一个数字式调频收音机,具有以下功能:
(1)可以手动上下调频,灵敏度为0.1MHz;
(2)可以调节音量大小;
(3)具有显示实时频率的功能;
(4)音质要好,保证大部分电台声音清楚;
(5)采用干电池供电,体积适中,便于携带。
1.1.1硬件需求分析
结合上述的系统功能需求分析,硬件电路中需要具备以下几个电路:
1、调频收音电路,用来接收电台信号,解调输出,并且输出的音频信号要好;2、键盘电路,用来实现手动调节频率;3、显示电路,用来显示实时频率;4、功放电路,对调频电路输出的信号进行放大后送到扬声器,同时需要一个电位器实现音量的调节;5、电源电路,对各个电路进行供电。
由于单片机具运算、控制、存储、输入和输出等功能,可通过单片机来控制其他芯片实现所需功能。
本文选用STC89C52单片机,单片机通过I2C总线实现控制功能。
单片机通过I²C总线对调频模块进行操作,实现具体功能。
音频信号经由功放电路输出。
首先从调频模块中读取频率字,然后把字换算,展示在屏幕上。
系统框图如1-1所示。
图1-1系统设计框图
1.1.2软件需求分析
经过分析可知,可以用C语言编程,用单片机来控制调频收音模块,实现对调频模块的数据读写,来完成调节频率和频率转换的操作。
用C语言来开发单片机系统软件的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C语言编程在单片机系统设计中已得到越来越广泛的运用。
针对STC89C52单片机的软件开发,同样可以用C语言实现。
1.2控制方案设计
本节对各个模块的选择进行分析设计。
1.2.1控制器设计
单片机是整个设计的核心部分,所以要了解各种单片机的特性及其优点、缺点。
本设计选用的单片机型号为STC89C52。
52系列单片机的优点如下:
性能强、速度快、体积小、低价格、可以重复编写程序以及功能扩展方便,在大众市场应用比较广泛。
为了方便调试,决定采用STC宏晶单片机,它可以通过USB口进行数据的下载和传输[2]。
1.2.2调频模块设计
调频模块选用市面常见的TEA5767,有两种方案可供选择。
一是用TEA5767芯片,然后外围电路需要自己设计。
二是采用一些厂家生产的以TEA5767芯片为核心的模块。
通过对比分析,方案一在自行设计电路时,需要画出PCB图以及手工焊接,其中TEA5767芯片具有40个引脚,并且整个芯片大小只有6*6毫米,在焊接时难度非常大[3]。
方案二中整个模块仅有10个引脚,不需要关注部,只需要关注10个引脚,设计十分方便,操作简单。
故采用方案二,使用厂家生产的TEA5767模块。
1.2.3电源模块设计
5.5V~3.3V是单片机工作电压的围,2.5V~5.0V是TEA5767工作电压的围。
本设计采用4.5V供电完全足够,只需3节1.5V的干电池,并且将大小为470μF的滤波电容与之并联,防止电源电压波动或工作电流变化影响其工作稳定性。
1.2.4功放模块设计
选择常见的LM386功放芯片。
LM386是一种音频集成功率放大器,其特点有第一自身功耗极低,比如在12V电源电压下,功率仅为0.66w。
第二电源电压围大,工作电压可以为4-12V或者5-18V的宽围[4]。
第三由于它部就是一个完善的三级放大电路,所以只需要很少的元件进行外接即可实现其功能。
第四总谐波失真小。
因此它被广泛应用在录音机和收音机之中。
1.2.5显示模块设计
方案一:
LCD1602作为显示部分
1602液晶模块可以显示两行字符,并且每行可以显示16个字符,这就是“1602”的定义。
它具有显示质量高、没有电磁辐射、应用围广、功耗小等优点。
方案二:
数码管作为显示部分
数码管本质就是一种半导体的发光元器件,它由发光二极管组成。
当它的管脚被输入所需电流时,将会发亮,若有规律的对其不同管脚输入电流,会组合显示出不同数字。
以上两个方案都可以实现数字显示的功能,对比发现方案二价格占优势,但是如果从焊接角度来看,LED数码管的连接线的十分多,比较容易出错。
方案一只需要简单的设计,并且液晶屏的反应速度较快,体积十分小巧,并且显示容比较多,可以完整的显示较长的英文单词,结合到本次设计需要显示一些单词,所以决定选择方案一。
本章节通过对单片机、调频芯片、电源模块、功放模块,显示模块的需求进行分析,同时注重制作简单,在质量良好和价格优惠的原则对芯片进行了选择,下一章节将对各个硬件部分进行详细介绍。
第2章硬件设计
2.1单片机最小系统
最小系统就是单片机最基本的系统,这个最基本的系统包含了时钟电路和复位电路,不需要接外存储器或者输入输出口,只需要外接一个能对它供电的电源,靠着它部的资源就能够达到一个系统的硬件所需,但本设计需要实现电台的接收和播放,所以只有单片机最小系统是不够的。
当用户编写程序时,就将这些程序存储到ROM中,ROM即只读程序存储器。
还有很重要的一点就是,STC89C52的兼容性好,它的指令和引脚都兼容英特尔的MCS-51系列的单片机,这使得它的应用非常的广泛。
下图2-1所示为单片机最小系统图。
图2-1单片机最小系统图
2.1.1时钟电路
将计算机比喻成一个人,那么时钟电路就是这个“人”的心脏,由此可见时钟电路的重要性。
整个计算机精准的工作节奏频率就是被时钟电路控制的。
STC89C52它的部具有一个反相放大器,也可以叫做单片机振荡电路。
这个电路的输入端是19管脚的XTAL1,它的输出端就是18管脚的XTAL2。
一般来说在输入和输出端外接一个石英晶体和电容,石英晶体提供脉冲信号,大小在0-33MHz围间,振荡电容的选取大小一般在10-30pF。
这样就组成振荡器,它产生的稳定信号叫做时钟信号,将其输送到单片机的各个部件就可以使计算机稳定运行。
本设计采用12MHz的晶振,两个振荡电容的大小都为22pF。
下图2-2,即为时钟电路。
图2-2时钟电路图
2.1.2复位电路
对单片机来说,复位单片机的操作是十分重要的,这种操作可以使整个计算机完成初始化,也可以在它死机时,按下复位,使得单片机重新开始运行。
若单片机要完成复位操作,需要在它开始工作时,给它的9管脚也就是单片机复位信号输入端RST施加两个机器周期长的高电平,这样就可以完成复位操作。
需要注意的是,只要RST引脚一直保持高电平,那么单片机就会一直处于复位状态。
在复位操作的时间段,RST引脚是高电平,ALE引脚是高电平,PSEN引脚同样是高电平,此时的ALE引脚处于被禁止的状态,PSEN引脚也不会产生对应的脉冲信号。
要退出复位状态,只要RST引脚从较高电平状态变为低电平状态,这样会使得单片机从初始化的状态重新开始运行。
下图2-3即为本设计的复位电路图,她可以以完成上电复位,同时亦可手动复位。
其中,电容数值为10μF,电阻大小为10KΩ。
对该电路进行上电复位时的情况进行分析,当电源接通时,电容通过0.1秒(10KΩ*10μF=0.1S)的时间就可以充电到电源电压的0.7倍(4.5V的0.7倍即为3.15V).电容两端电压变化为0增至3.15V,根据串联电路的各处电压之和为总电压可知,电阻两端的电压变化围是4.5V减至1.35V。
因为在4.5V电压中工作的单片机,只要是大于1.35V的电信号都是高电平,只要是小于1.5V的电信号都是低电平。
据上述可知,在单片机通电0.1S的时间,RST引脚的电信号就是电阻两端的电压,其数值一直是大于1.35V的,即可知,只要开机0.1S,单片机就可以自动完成复位操作,对整个系统初始化。
对单片机手动复位的情况进行分析,当开机启动0.1S之后,电容两端的电压保持在电源电压4.5V,根据串联电路总电压等于各个分布电压之和可知,电阻两端电压接近0V,即RST引脚的电压信号接近0V,此时处于低电平状态,所以没有进行复位操作,单片机正常运行。
这时候按下开关K0,会导致电容被短路,电容两端会形成一个回路,并在0.1S释放充的电量,其两端电压又会从4.5V降至1.35V,此时的电阻两端的电压会变成3.15V,RST引脚接收到了高电平信号,单片机完成复位操作,这就是手动复位的过程。
图2-3复位电路图
2.2电源电路
电源电路如图2-4所示。
开关S1控制整个电路的电源,在电路中串联了一个红色的发光二极管,可以直观的显示电路的通断。
串联了一个1KΩ电阻防止电源短路烧毁。
为了稳压滤波,还特地并联了10V、470μF(本电路滤波电容选取6.3V-25V,100μF-1000μF围中)的滤波电容,防止电源电压波动或工作电流变化影响其工作稳定性。
图中VCC是整个系统的电源供给端,GND是公共接地端。
图2-4电源电路图
2.3调频电路
对于调频模块的选择,本设计决定采用TEA5767模块,该芯片是由飞利浦公司生产的,在收音机市场上比较常见,应用广泛。
一般情况下都是被作为整个收音模块提供的。
该模块的面积只有11.2*11.2mm2,整个模块的厚度加起来只有5mm,它小巧的体积可以非常容易的集成到电子设备中去[5]。
虽然体积这么小,但是其良好的性能,全面的功能都被各个厂家所青睐。
该模块的典型特性如下:
(1)部含有灵敏度极高的,噪声也能控制在围十分小的放大器。
(2)接收频率围广,既可以在欧美频率即87.5-108MHz中完美发挥作用,同时也可兼容日本频率即76-91MHz。
(3)直接在其部设定了调频解调器,由此可以大大省去外围繁琐的设计电路。
(4)部集成了锁相环调谐系统。
(5)该收音模块提供了I2C控制接口,单片机只要通过该接口即可轻松地操作其部的中频计数器,以及操控调谐电路的高频信号的电平值。
(6)通过数字接口可以控制立体声或者单声道的噪声,还可以在搜台过程中保持静音,亦可控制高频信号的衰减。
在上一章节中,本设计已经选定厂家生产的TEA5767模块,示意图如下图2-5,这是一块完整的封装版模块,所有功能非常完善,它最大的特点就是外接的引脚数量只有10个,大大简化了原芯片40个引脚设计,在设计硬件电路时,只需要关注这10个引脚即可,十分方便。
下表2-1会对该模块的10个引脚进行简介。
图2-5TEA5767模块引脚图
表2-1TEA5767模块引脚定义表
引脚号
符号
简介
10
ANT
天线接口
9
GND
接地
8
R
右声道输出
7
L
左声道输出
6
GND
接地
5
VCC
电源正极
4
NC
无效端口
3
GND
接地
2
CLK
总线时钟线输入
1
DATA
总线数据线输入/输出
下图所示的图2-6是本设计的收音模块在整个电路中的连接图。
在此图中,1管脚的DATA总线数据线输入输出接口接单片机的P10口,2管脚的CLK总线时钟线输入接单片机的P20口,这两根线组成了I2C总线,单片机通过总线来对TEA5767模块进行操作和控制。
3管脚GND接地线。
4管脚是无效端口则可以空接。
5管脚也就是VCC管脚接电源电路的VCC。
6管脚GND接地。
当7管脚的L_OUT和8管脚的R_OUT的音频信号共同输出时就能构成立体声,本设计为了简化电路,减少功耗,只将左声道也就是7管脚接至音频放大电路,同时在左声道输出口加上了104电容进行滤波[6]。
10管脚接的就是该模块的天线,用来接收频率,由于该模块的特性所致,只需要一个普通的天线即可。
图2-6TEA5767连线图
2.4功放电路
在本设计中,功放模块采用的是LM386芯片。
这个芯片的显著特点是,失真低,损耗极低,节能的同时对功率放大过程的影响很小。
该芯片的工作电压为4-12V,当它介入VCC=6V时功耗典型值为0.325W,由此可见功耗十分小[7]。
为下图2-7为本设计所用的LM386功放芯片的引脚功能图。
图2-7LM386引脚功能图
上图中1管脚和8管脚的中间可以放置电容,通过不同大小的电容,可以改变该芯片的增益大小。
当1和8管脚之间不接电容时,LM386的芯片增益为20。
当其间加上一个电容为10μF时,整个放大电路的增益高大200。
当其间接上一个1.2KΩ的电阻和另一个数值为10μF的电容时,整个电路的增益降至50。
本设计采用的时管脚1和管脚8空接时的20增益。
反向输入2管脚和GND4管脚接地。
功放芯片不用和单片机相连,它的正向输入3管脚所需要的音频信号直接从TEA5767模块的7管脚获得。
在3管脚和地线之间接入了一个大小为10K滑动电位器,滑动电位器实际上就是滑动变阻器,通过旋转电位器的旋钮,可以改变其电阻值从而改变输入功放芯片的电流,由此改变声音的大小。
输出5管脚外接一个100μF的滤波电容,这个滤波电容其实在这里相当于一个简单的分频滤波器,它的作用是通高频信号,滤掉低频信号。
这样做的原因是,一可以减少扬声器即喇叭的失真,对高音喇叭来讲,它只对高频的信号有效果,对低频信号无效,若是将低频信号输入高音喇叭,则会造成杂音,影响音效。
二是功率问题,本设计喇叭的额定功率为0.5W,阻值8Ω,当输入低频信号时,因为低频时喇叭的震动幅度大,功率消耗十分大,所以要加一个滤波电容防止喇叭功耗过大,烧坏喇叭。
下图2-8即为本设计的功放电路。
图2-8功放电路图
本设计的功放电路设计比较简单,制作起来比较方便,扬声器的音质也基本达标。
虽然它的功率不大,但已经可以基本满足日常听广播的需求,在一些MP3,随身听中经常可以见到它的身影。
2.5液晶显示电路
LCD1602是一种工业字符型液晶,它可以共同显现32个字符,这些字符排成两行,每行16个字。
1602液晶全称为1602字符型液晶,它能够用来显示6个字母、0到9这10个数字和多种符号等,但是它唯独不能用来显示汉字。
1602工作时的电压为2~3V,这就使得它的功耗也就小,除此之外它的高质量的显示使得它更受人们的青睐。
它采用了数字式的接口,使得它与单片机的连接愈加方便。
下面介绍一下这些引脚的功能:
第1脚:
GND用来接地
第2脚:
VCC为电源端,接正4.5V电源
第3脚:
VL是显示屏幕的灰度调整引脚
第4脚:
RS是表示选择数据寄存器还是数据寄存器的。
当RS接高电平时,选择的是数据寄存器,当RS接低电平时,选择的是指令寄存器
第5脚:
RW为选择读写操作的。
当RW接高电平执行读操作,当RW接低电平时执行写操作
第6脚:
EN为使能端。
高电平时读取程序,低电平时执行程序
第7~14脚:
D0~D7为1602的8位双向传输数据端
第15脚:
BL+为1602背光电源的正极输入端
第16脚:
BL-为1602背光电源的负极输入端
下图2-9为本设计的显示模块连接图。
图中1管脚和16管脚接地,2管脚和15管脚接VCC,3管脚街上一个10K的电位器用来调节字符的亮度。
管脚4、5、6分别接单片机的P25、P26、P27。
7-14管脚接单片机的P0口。
图2-9LCD1602模块连接图
2.6按键电路
本系统的两个功能键K1、K2对应功能是操作频率增加0.1MHz,操作频率减小0.1MHz。
其中键盘决定采用扫描的方式,当检测到按键按下之后,因为有抖动,需要消除抖动后进行按键的功能判断。
K1.K2分别接入单片机的P12、P13口。
按下键位后,对应的单片机的口呈现低电平。
下图2-10为本设计的按键电路。
图2-10按键电路
2.7硬件组装焊接
设计采用常见的万用版进行组装焊接,在组装焊接时要注意下列几点:
(1)晶振电路导线要尽量粗,在焊接时可以把焊锡丝铺粗来进行连接【8】。
最好紧挨着单片机的芯片引脚。
(2)电源电路要加上一个大点的470μF的去耦电容,来防止电源电压波动或工作电流变化影响其工作稳定性。
(3)TEA5767和单片机引脚的需要靠近点,亦可以使用焊锡丝铺粗来处理TEA5767的DATA和CLK连接单片机的线。
(4)天线质量要好。
(5)在功放输出电路一定要加上合适的电容对输出的音频信号进行滤波处理。
本章节主要介绍了硬件电路的设计,重点介绍了单片机最小系统、调频电路和功放电路,下一章节将对软件设计进行介绍。
第3章软件设计
软件系统的设计核心是要对按键反馈的信息,然后对数据进行处理,将频率数显示在液晶屏上,同时扬声器放出广播,实现调频广播的接收和播放。
其中按键功能有复位键,此键不需要编程,硬件电路完全可以实现。
频率调节的按键按下后,系统程序将按键的值反馈到单片机和TEA5767模块,然后程序会进行相应的操作。
这种操作包括频率数值的转换计算和单片机通过I2C总线对TEA5767模块的寄存器进行的读操作和写操作。
收音模块会进行相应的频率搜索,部的锁相环会进行一致的信号整定,然后其部的鉴频器将收到的频率信号进行频率的整合后输出,同时该模块会将读取的频率数反馈到单片机,单片机会将数值转换后发送到液晶屏进行显示。
3.1主程序设计
主程序设计,开机后刚开始先初始化,包括液晶显示器和TEA5767芯片。
然后,开启显示器,并且要打开定时器。
随后对操作按键进行扫描,然后需要判断按键的容。
收到指定的操作容后,将操作通过单片机和TEA5767的I2C总线写入TEA5767中。
TEA5767芯片对传来的数据进行分析,执行操作,并且将信息反馈回单片机。
单片机将传来的信息处理后,转换的频率数值显示到液晶显示屏。
然后返回,单片机继续扫面按键操作,如上程序继续运行。
下图3-1为系统控制流程图。
图3-1系统控制流程图
3.2液晶屏显示程序
系统和人的交互界面就是液晶显示器,上面显示着实时的频率数值,本设计的精确度是0.1MHz,在显示屏上实时显示。
本系统的开始,有“Hello,Welcome”的字样,由于程序已经设置了初始频率为97.0MHz所以初始显示的频率值就是97.0MHz【9】。
当有按键按下时,对初始值进行清除操作,根据单片机反馈的信息更新频率数值。
假如没有按键按下,液晶屏幕保持程序原先预设的初始值。
本设计用的液晶显示器,可以显示丰富的容,人机交互起来更加的直观方便,下图3-2为液晶屏显示流程图。
图3-2液晶屏显示流程图
3.3调频模块控制程序
调频模块的子程序设计,本设计只用到了TEA5767模块的手动搜台模式,在频率调节按下后,单片机将命令数据发送到TEA5767【10】。
随后,TEA5767会分析获得数据,然后100ms对接收的频率进行鉴频读取,找到指定的频率数,倘若在这个频率搜到台,输出信号到功放芯片进行播放,然后程序返回继续等待新的命令数据。
假若没有搜到台,输出静音信号,扬声器不会发出声音,继续调节按键来接收广播。
下图3-3为调频模块控制程序的流程图。
图3-3调频模块控制程序流程图