基于单片机的数字FM收音机设计_第1页
基于单片机的数字FM收音机设计_第2页
基于单片机的数字FM收音机设计_第3页
基于单片机的数字FM收音机设计_第4页
基于单片机的数字FM收音机设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南大学物理与电子学院基于单片机的数字FM收音机设计论文学院名称:专 业:学 号:论文 作者:论文 合 作者:指导教师姓名:二一七 年 十二 月基于单片机的数字FM收音机设计 摘要:本文在具体分析了STC89C52单片机的技术特点与数字FM收音机的基础上,提出了采用单片机控制收音机实现数字调频的方法,并给出了具体的软硬件设计。该系统利主要由STC89C52单片机、液晶显示器、按键、调频收音模块TEA5767、功放LM386组成1。实际运行时,用TEA5767搜索频率,利用单片机STC89C52控制处理,经LM386芯片放大音频功率同时再通过液晶显示器显示频率,最终实现87.5MHz108MHz调频广播的接收。相关的功能验证实验表明,本系统达到了既定的设计目标。关键词:单片机技术;收音机;频率搜索;液晶显示The Design of Digital FM Radio Which Based on Single Chip MicrocomputerAbstract: This paper mainly proposes the method of using single chip computer to control digital FM radio . It gives the specific hardware and software design which based on a detailed analysis on of the technical characteristics of STC89C52 SCM and digital FM radio. The system uses STC89C52 SCM as CPU for overall control, mainly composed of STC89C52 SCM, LCD display, keypad, FM radio module TEA5767 and LM386 amplifier. When it operates, firstly you should use the TEA5767 display to show the search frequency. Then, control and process it with STC89C52 SCM. By the way magnify the audio power through LM386 chip. The LCD display frequency. Ultimately, itll reach a broadcast reception range from 87.5MHz to 108MHz FM. Some related functional verification experiments show that the system achieves the established design goals. Keywords:SCM technology; Radio; Frequency search;Liquid-crystal display5目 录序 言.1 第1章 课题分析与方案论证.2 1.1 课题任务分析.2 1.2 方案论证.2第2章 硬件电路.5 2.1主控电路.5 2.2音频输出电路.9 2.3FM收音电路.12 2.4LCD1062液晶屏模块.15 2.5按键电路 .16 2.6I2C总线简介.16 2.7电路装配注意事项.18第3章 软件设计.19 3.1主程序设计.19 3.2液晶屏显示控制子程序.21 3.3收音机控制子程序.23第4章 系统测试.25 4.1硬件测试.25 4.2软件测试.25 4.3整机调试.26 4.4调试结果.26结束语.27参考文献.28 序 言当前时代,虽然电视、手机、互联网等媒体和各种便携式娱乐设备已经普及到千家万户,但传统的收音机在丰富的娱乐媒介中任然占有重要地位。随着信息化的发展,收音机逐渐数字化,集成化,而且成本越来越低,这使得在各种设备中嵌入收音机的现象更加普遍。例如,本文所要论述的是通过单片机来控制TEA5767模块及驱动液晶显示器实现FM收音并显示频率。TEA5767HN是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片,其内集成了完整的IF频率选择和鉴频系统,只需很少的低成本外围元件,就可实现FM收音机的全部功能。另外,它具有高性能的RF AGC电路,其接收灵敏度高;参考频率选择灵活;可实现自动搜台2。TEA5767系列单片数字收音机就被广泛地应用在数字音响,便携式CD、VCD、DVD、MP3、MP4、手机、PDA等数字消费电子系统中。但是该数字收音机芯片与传统的超外差式收音机的调谐原理不太相同,传统的超外差式收音机的固定频率为10.7MZ,而TEA5767系列数字收音机的固定中频为225KHz,由于固定中频不同,锁相环系统的软件控制就有很大的差别,这就给广大芯片应用设计者带来一定的难度。本设计采用宏晶科技生产的8位微控制器STC89C52来控制数字收音机模块TEA5767,构成一个FM数字收音机系统。该收音机的设计具有电路简单易懂、体积小、易调谐的特点,同时该收音机系统还具有抗干扰能力强,频带宽、音质好的优点。本次设计研究的FM收音机分为硬件电路和程序设计两个方面。从硬件电路来说,数字调频收音机系统主要由STC89C52单片机、液晶显示器、按键、调频收音模块TEA5767、功放LM386组成,主要是实现所需电压值、稳压、搜台、控制和频率显示等方面功能。实际运行时,STC89C52单片机作为CPU进行总体控制3,液晶显示器显示电台频率,四个按键SW1SW4起调频选台作用(按下按键SW1电台频率增加,按下按键SW2电台频率减少,按下按键SW3电台上调,按下按键SW34电台下调),TEA5767搜索频率,LM386芯片放大音频功率,最终实现87.5MHz108MHz调频广播的接收;从系统程序来说,主要是如何将电台频率换算出PLL控制字写入TEA5767,以及PLL控制字转换成频率送显示。相关的实验表明,本系统达到了既定的设计目标。2第1章 课题分析与方案论证1.1课题任务分析 课题要求设计一个基于单片机的数字FM收音机,能够实现搜台、频率控制以及频率显示的功能。收音频段为87.5MHz108MHz,采用液晶显示器显示频率。通过对课题任务的分析可知,可以利用锁相环频率合成器BU2614与单片机STC89C52连接,实现87.5MHz108MHz调频广播的接收,并用TEA5767搜索频率,通过液晶显示器显示,并用按键调节频率。 1.2方案论证 系统以STC89C52单片机作为控制模块,无线FM模块作为调频选台模块。系统框图如图1-1所示。图1-1 系统方案设计框图 1.控制模块决定采用STC89C52,其主要特点如下: (1)增强型8051 单片机,6时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051。(2) 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)。(3) 工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz4。 (4) 用户应用程序空间为8K 字节。(5) 片上集成512 字节RAM。(6)通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。(7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序。(8) 具有EEPROM 功能。(9) 具有看门狗功能。(10) 共3 个16 位定时器/计数器。即定时器T0、T1、T25。(11) 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。(12) 通用异步串行口(UART),还可用定时器软件实现多个UART。(13) 工作温度范围:-40+85(工业级)/075(商业级)。(14) PDIP 封装6。 2.无线FM模块无线模块选择是本设计的关键,有两种方案可以选择:方案 a 采用无线芯片TEA5767HN,自己设计外围电路。方案 b 采用相关厂家生产的TEA5767模块来实现。很显然,第一种方案需要自己设计电路、画PCB和焊接,而TEA5767HN芯片采用的是FVQFN40(耐热的薄型四脚扁平封装)封装,在短时间内和有限的条件下实现硬件功能的难度相当大。所以决定采用第二种方案使用现成的模块7。 3.电源模块 单片机的供电电压要求是5.5V3.3V,TEA5767的供电电压要求是2.5V5.0V。本设计中决定采用7805稳压芯片和AMS1117对系统进行供电,电源是9V的蓄电池,9V输入电压信号经过7805稳压芯片稳压后得到5V电压,实现对单片机供电,5V电压再经过AMS1117得到3.3V电压,实现对TEA5767的供电。 4.功放模块 TEA5767音频输出具有立体声方式,也可以采用单声道输出,具体方式可以通过编程设定,为简化设计,本设计决定采用单声道输出,功放芯片使用LM386,供电采用5V供电。 5.显示模块方案a:使用LCD1602作为显示器部分工业字符型液晶,能够同时显示16x02即32个字符。用液晶1602来显示可实现液晶的动态点亮。因为只需要一片液晶就可以显示,所以单片机控制两个控制端时,最高控制端接地。用软件作为液晶的驱动显示,且具体译码由软件控制。方案b:使用数码管作为显示部分数码管按段数分可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多个小数点)。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。通过对其不同的管脚输入相应的电流,会使其发亮,从而显示出数字。由于两个方案都可以实现同样的功能,虽然方案b便宜但是从焊接角度来看方案b的连接线的十分多而且容易出错,方案a设计简单,反应速度较快,体积小显示内容丰富并且本次的设计需要显示角度和一些字样,如果采用方案b的话就需要很多数码管这样一来焊接时更容易出错,所以决定选择方案a。设计既要实现数字FM收音机的基本功能,又要尽量做到简单廉价,综合考虑各项因素,以上设计方案是可行的。 第2章 硬件电路2.1 主控电路 1. 引脚描述 单片机的基本系统也称为最小系统,这种系统所选择的单片机内部资源已能满足系统的硬件需求,不需外接存储器或I/O接口,含有时钟电路和复位电路,外由电源供电。这种单片机内一定含有用户的程序存储器,用户程序写入到内部只读程序存储器。单片机STC89C52采用双列直插封装(DIP),有40个引脚。该单片机采用ATMEL公司的高密度非易失性存储技术制造,与美国Intel公司生产的MCS-51系列单片机的指令和引脚设置兼容。如图2-1所示为STC89C52的引脚结构图。 图2-1 STC89C52的引脚结构图STC89C52有40 条引脚,分为端口线、电源线、地线和控制线四类。STC89C52RC引脚功能说明8: (1)端口线(4*8=32条) STC89C52有四个并行I/O端口,每个端口有8条口线,用于传送数据。 P0.0P0.7:P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。 P1.0P1.7:这8条引脚和P0口的8条引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O使用时,P1.0P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。 P2.0P2.7:这组引脚的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O口使用。它的第二功能和P0口的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不能像P0口那样是可以传送存储器的读写数据。 P3.0P3.7:这组引脚的第一功能和其余端口的第一功能相同。第二功能作控制用,每个引脚并不完全相同,如表2-1所示为P3口第二功能。表2-1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)(2)电源线(1条)VCC为+5V电源线。(3)地线(1条)(4)控制线(6条) 外接晶体引脚XTAL1和XTAL2XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输入端。ALE:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。 在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:允许访问片外存储器编程电源线,可以控制STC89C52使用片内ROM还是使用片外ROM。若EA=1,则允许使用ROM;若EA=0,则允许使用片外ROM。:片外ROM选通线,在执行访问片外ROM的指令MOVC时,STC89C52自动在PSEN线上产生一个负脉冲,用于为片外ROM芯片的选通。其他情况下,PSEN线均为高电平封锁状态。 RST:复位电源线,可以使STC89C52处于复位工作状态。通常,STC89C52的复位有自动上电复位和按钮复位两种。2. 时钟电路的设计时钟电路是计算机的心脏,它控制着计算机的工作节奏。单片机允许的时钟频率是因型号而异的,STC89C52典型值为11.05926MHZ,本设计采用的就是典型值。单片机STC89C52内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。定时反馈电路一般为石英晶振和电容组成的并联回路。如果振荡器已起振,则在XTAL2引脚上输出3V左右的正弦波。如图2-2所示为时钟的电路图,晶振大小为11.0592MHz,电容C1、C2大小为22PF。图2-2 时钟电路图 3. 复位电路的设计 计算机在启动运行是都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机STC89C52有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期(即24个时钟周期)以上的高电平。使器件复位,只要RST保持高电平,单片机保持复位状态。此时ALE、P0、P1、P2、P3口等都输出高电平。RST变为低电平后,退出复位,CPU从初始状态开始工作。复位以后内部寄存器的初始状态为(SP=07),P0、P1、P2、P3为0FFH外,其它寄存器都为0。如图2-3所示为复位电路图,它能实现上电复位和手动复位的功能。 上电复位时,在图2-3中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电源接通的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。 手动复位时,在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。图2-3 复位电路图 要使单片机工作起来,最基本的电路的构成由单片机、时钟电路等组成。单片机最小系统如图2-4所示。图2-4 单片机最小系统2.2 音频输出电路功放模块用的是LM386芯片。LM386芯片是专为低损耗电源所设计的功率放大器集成电路9。它的内建增益为20,透过pin 1 和pin8脚位间电容的搭配,增益最高可达200。LM386可使用电池为供应电源,输入电压范围可由4V12V。LM386有LM386N-1,LM386M-1和LM386N-4三种,本设计采用的是LM386N-1。LM386的内部电路图如图2-5所示,引脚排列图如图2-6所示。LM386极限值如表2-2所示。LM386在Vcc=6V,Rl=8,f=1KHZ,Tamb=25时的电气特性如表2-3所示。图2-5 内部电路图图2-6 引脚功能图表2-2 LM386极限值(Tamb=25)表2-3 LM386电特性LM386 低电压音频功率放大器的典型应用如图2-7、图2-8、图2-9所示。图2-7 LM386 应用电路图之增益=20图2-8 LM386 应用电路图之增益=200图2-9 LM386 应用电路图之增益=50在LM386其他管脚接法相同的情况下,图2-7中当LM386的脚1和脚8空接时,电路增益为20。图2-8中当LM386的脚1和脚8之间接10uF电容时,电路增益为200。图2-9中当LM386的脚1和脚8间接一个1.2k和一个10uF的电容,电路放大增益为5010。本设计采用的是放大增益为200的电路,电路工作于立体声的电路形式下,功放模块并不是直接与单片机控制模块连接,它只是实现功率的放大和音频的输出,音频信号从集成电路LM386的7脚输入,经过内部功放电路放大后,由扬声器发生时,就能发出所接收到的信号了。本设计介绍的功放电路简单,自制方便。LM386集成功放电路常用在随身听、便携式的DVD等音频放音用;功率不是很大但以可以满足听觉要求了,且有电路简单、音质好、电压范围宽等特点。 2.3 FM收音电路FM模块的控核心芯片采用飞利浦公司的TEA5767HN数字立体声FM芯片11,该芯片把所有的FM功能都集成到一个用HVQFN40封装的小方块中。芯片工作电压2.5V5.0V,典型值是3.3V;RF(调频)接收频率范围是76108MHz,(最强信号+噪声)/噪声的值在60dB左右,失真度在0.4%左右;双声道音频输出的电压在6090mV左右,带宽为22.5KHz。 TEA5767HN芯片主要具有以下特征:(1)集成高灵敏度的低噪声放大器。(2)FM到中频的混频器可以工作在87.5108MHz的欧美频段或7691MHz的日本频段,并且可预设接收日本108MHz的电视音频信号的能力。(3)射频具有自动增益控制功能,并且LC调谐振荡器只需固定片装电感。(4)内置的FM解调器可以省去外部鉴频器,并且FM的中频选择性可以在芯片内部完成。(5)可以采用32.768KHz或13MHz的振荡器产生参考时钟或可以直接输入6.5MHz的时钟信号。(6)集成锁相环调谐系统(7)可以通过I2C或三线串行总线来获取中频计数器值或接收的高频信号电平,以便进行自动调谐功能。(8)SNC12(立体声噪音抑制)、HCC(高频衰减控制)、静音处理等可以通过串行数字接口进行控制。(9)免费调谐立体声解码器。(10)自动调节温度范围(在VCCA,VCC(VCO)和VCCD=5V)。在方案设计时就已经确定FM部分采用按照推荐的应用设计电路图生产的模块。本设计FM模块采用封装完整版收音机模块,外接引脚只有10个,只需要关注引脚而不需要关注模块的内部结构,开发方便简单。下图2-10是模块的引脚封装,表2-4为引脚功能简介(引出引脚的功能和芯片引脚的定义完全相同)。图2-10 TEA5767模块引脚图表2-4 TEA5767模块引脚定义表引脚号符 号简介10ANT天线接口9GND接地8R右声道输出7L左声道输出6GND接地5VCC电源正极4NC无效端口3GND接地2CLK总线时钟线输入1DATA总线数据线输入/输出图2-11 TEA5767模块电路连接图上图所示为TEA5767模块的FM电路连接图。图中,VCC接稳压电源模块中的3.3V电源。R_OUT、L_OUT为FM的音频信号输出,R_OUT为右声道输出,L_OUT为左声道输出,本设计左声道和右声道同时输出构成立体声。SDA和CLK为I2C通信的数据线和时钟线,外接10K的上拉电阻,系统的MCU通过I2C接口来对FM模块进行控制。芯片上的WREAD引脚在本系统中没有使用,故空接。CLK、SDA用于与系统的MCU实现串行通信13。2.4 LCD1602液晶屏模块1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个57或者511等点阵字符位组成,本设计采用的是57型的,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LCD是指显示的内容为162,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。引脚说明如下:第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602与单片机的连线图,10K电位器调节对比度,15、16引脚分别接电源和地构成背光电源。图2-12 LCD1602模块连接图2.5 按键电路系统采用了4键输入以实现系统功能的设定,其中SW1、SW2分别用于操作频率的增加和减少,SW3、SW4分别用于操作自动搜台的向上调台和向下调台。由于系统中的其他模块对微控制器的端口占用较少还有很多没有使用的端口,键盘连接上直接采用了每个按键占用一个端口的形式。键盘的读取采用扫描的形式,当检测到有按键按下时,消抖动后进行键值判断。 如图2-13所示是按键电路的连接图,SW1、SW2、SW3、SW4分别接单片机的P2.0、P2.1、P2.2、P2.3口。按键按下对应单片机IO口为低电平。图2-13 按键电路连接图2.6 I2C总线简介I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。它只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL。典型的I2C结构如图2-14所示。图2-14 典型的I2C总线结构I2C14总线需通过上拉电阻接正电源,当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。I2C总线的数据字节必需保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。 图2-15是I2C总线字节传送与应答时序图2-15 I2C总线字节传送与应答时序由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传送。当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。这个信号是由对从机的“非应答”来实现的。然后,从机释放SDA线,以允许主机产生终止信号。I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。每次数据传送总是由主机产生的终止信号结束。但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。由于本设计采用的STC89C5215单片机没有I2C总线接口,所以要通过模拟来实现,利用软件实现I2C总线的数据传送,即软件与硬件结合的信号模拟。2.7 电路装配注意事项设计就采用普通的万用版进行装配,在装配时要注意以下几点:(1)晶振部分要紧靠着芯片引脚,导线要尽量粗,在焊接时采用用焊锡铺粗来处理。(2)电源输入一定要添加去耦电容。(3)TEA5767模块和单片机引脚的距离尽量靠近,SDA线和CLK线业尽量铺粗。(4)天线安装尽量靠近芯片引脚,一定要加上匹配电容。(5)模拟线和数据线尽量要分开,设计采用元器件面走数字线,焊接面走模拟线的方法处理。第3章 软件设计软件系统以数据处理为核心、通过不断扫描按键状态,实现数字立体声收音,同时显示电台信息。按键处理包含频率调节、电台切换模式,按键后,程序返回不同的键值给数据处理模块、收音控制,程序则相应进行后续动作。按键值确定后则需进行数据处理,包括频率值的转换计算、使用IIC 协议对TEA5767 模块的读写操作。收音控制数据处理模块发送五字节控制信息控制收音控制模块的读写动作,使收音模块进行搜索、选择频率锁定、报告当前数据状况等信息。收音模块返回的数据为5 字节信息格式,该信息发送到数据处理模块,供程序的后续处理. 最后,显示模块用来显示数据处理模块计算后的频率信息。 3.1主程序设计整个主程序主要由收音模块、液晶显示器模块、按键模块组成。首先对液晶显示器和TEA5767HN芯片初始化。接着就是对显示器显示关机状态,并开启定时器,对按键进行扫描。根据不同的按键进行响应的处理。系统初始化完成时对收音模块进行读取,此时收音模块将收到的数据进行分析处理,其后将最终得到的数据上传至单片机,单片机根据得到的数据驱动液晶显示器进行相应的显示,随后单片机将对系统键盘端口进行扫描,并根据扫描得到的键值进行相应的处理。整个系统主程序流程如图3-1所示。图3-1 整个系统主程序流程部分源程序代码如下:void main()unsigned char i;lcd_init();/ 初始化LCDdelay(10);frequency = 89800;radio_write(); / 写入收音机while(1)i = GetKey(); Lcd_Display(frequency); / 液晶显示switch (i) / 判断按键case 0x00: search(0); / 手动加break;case 0x01: search(1); / 手动减break;case 0x02: auto_search(0); / 向上调台break;case 0x03: auto_search(1); / 向下调台break;default: break; 3.2液晶屏显示控制子程序液晶屏显示驱动处于系统的最后端,属于人机交互界面,本次设计采用的液晶屏精确调整度是0.1MHZ。本设计系统开始时,系统赋予它一个初始值,如果有按键按下,初始值将会被清除,同时进行按键处理,液晶屏显示所相应的数值;若没有按键按下,液晶屏则直接显示原有的初始值。本设计用液晶屏显示,是因为液晶屏简单易设计,能够更加直观的观察与操作收音机。如图3-2为液晶屏显示控制子程序流程图。图3-2 液晶屏显示控制子程序流程图void Lcd_Display(unsigned long i) /显示函数lcd_pos(0); /0列 lcd_wdat(0x46); /Flcd_pos(1); /1列 lcd_wdat(0x4D); /Mlcd_pos(5); /设置显示位置为第一行的第1个字符lcd_wdat(i/100000+0x30);lcd_pos(6); lcd_wdat(i%100000)/10000+0x30); lcd_pos(7); lcd_wdat(i%100000)%10000)/1000+0x30); lcd_pos(8); lcd_wdat(0xa5); /.lcd_pos(9); lcd_wdat(i%100000)%10000)%1000)/100+0x30); lcd_pos(11); lcd_wdat(0x4D); /Mlcd_pos(12); lcd_wdat(0x48); /Hlcd_pos(13); lcd_wdat(0x5a); /Z3.3 收音机控制子程序收音机子程序处理中,在手动搜台时候,只需要给收音机发完命令字,以及频率,然后收音模块就读取所发送的频率,等待100ms进行数据处理和分析,判断是否收到电台,如果没有收到电台,频率增加(减少)0.1MHZ,再次继续读取频率所发送的频率;如果收到了电台就可以直接返回了。因为收音模块是用飞利浦公司的TEA5767数字立体声FM芯片,具有灵敏度高,自动增益控制等功能,所以在收音效果上是比较好的。如下图3-3所示为收音机控制子程序流程图。图3-3 收音机控制子程序流程图部分源程序代码如下:void search(bit mode)radio_read(); if(mode)frequency+=100; /自动加0.1Mif(frequencymax_freq) / 判断加0.1M后是否大于最大频率frequency=min_freq; / 超过则返回最小频率elsefrequency-=100;if(frequencymin_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(); 第4章 系统测试4.1硬件调试硬件调试主要分成两大块:上电前的调试和上电后的测试。1.上电前的测试在上电前,必须确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况等。通过万用表的检测,没有发现短路和断路的地方,电路基本正常。2.上电后的测试(1)电源的测试当USB由电路接入PC机时,用万用表打到电压档检测USB供电后是否为5V左右,然后检测单联拨动开关是否有效,当拨动开关后电源指示灯亮说明开关有效,拨动开关后检测接入单片机和PL2303的电压是否为5V左右。(2) PL2303电路的测试用万用表检查PL2303电路无误后,先在PC机上面安装好PL2303的驱动,用USB使板子和PC机相连,此时电脑会出现相应的COM口,若出现COM口说明PL2303电路正确,否则不正确。4.2 软件调试 1.单片机最小系统的测试 当拨动单联开关时,检查STC89C52的电源指示灯是否会亮,然后连接单片机的TXD、RXD和PL2303的RXD、TXD(已经通过导线连接起来了)。两者是一一对应起来的,这时用stc单片机烧写程序软件STC_ISP_V483下载程序,看看能否将程序下载到单片机内。此时前提条件是PL2303电路正常,PC机能够识别COM口,否则无法下载。如果能下载成功后,使用复位键,看看电路能否复位。问题:单片机下载程序不成功,前提硬件是正确的。 解决方案:可能USB下载器上的TXD,RXD对应单片机上的TXD,RXD不正确。正确的接法是USB下载器上的TXD,RXD对应单片机上的RXD,TXD。也有可能波特率设置问题,默认最高波特率为115200,可以把波特率最高改为9600。 2.LCD1602与单片机连接电路的测试用Keil软件编写一简单的程序,通过STC_ISP_V483下载软件下载程序到单片机内,让LCD1602显示出两行字符,用来检测LCD1602与单片机连接电路是否能显示正常。3.TEA5767模块与单片机连接电路的测试通过Keil软件编写TEA5767模块与单片机通信程序,使得LCD1602能够显示频道。问题:有时按加(减)0.1M频率时,LCD1602不显示频率增长(减少)。解决方案:按键扫描时间过长,所以通过改写程序使得扫描时间缩短,使LCD1602显示屏能够灵敏地反应频率的增加和减少。4.3整机调试用Keil编写完整个工程文件后,首先先确保LCD1602液晶、单片机、TEA5767模块能正常工作,然后在通过STC_ISP_V483软件下载程序到单片机内,查看其现象,然后一步一步慢慢调试程序和硬件使其达到指标。4.4 调试结果比较顺利的是,调试好的程序能够正常工作,SW1SW2按钮开关的频率搜索功能SW3SW4按钮开关的电台搜索都能够正确实现。经调试,系统能够搜索的频率范围为8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论