基于RDA的收音机_第1页
基于RDA的收音机_第2页
基于RDA的收音机_第3页
基于RDA的收音机_第4页
基于RDA的收音机_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、基于RDA的收音机作者: 日期:编号:课程设计说明书(信息系统综合实训)题目:立体声调频收音机院(系):信息与通信学院专业:电子信息工程学生姓名:峰Z使者学 号:指导教师:2016年1 月 8日本系统为立体声调频收音机,设计采用RDA5807收音模块,与单片机相结合,使收 音解调电路设讣变的简单,实现FM收音并显示频率。我们通过矩阵键盘设定我们需要 的频段,并设置音量大小,通过诺基亚5110液晶屏显示出来,并根据所显示接收信号 的强度等级,判断收音所在地的信号强度。RDA5807模块具有65- 108MHz全球FM接收频 段相容的效果,具备噪声消除、软静音、低音增强、灵墩度高、噪声小、抗干扰能

2、力强 等功能,所以使用本模块很容易实现,且系统可靠稳定。关键词:单片机;RDA5807收音模块;FH收音;目录引言11任务要求与设计的背景11.1设计任务要求11.2课题背景12调频收音机的分析和设计思路12.1系统设计原理12.2系统框图分析和设计23硬件设计23.1单片机最小系统23.1.1时钟电路23.1.2复位电路33.2 RDA58O7 模块33.2.1 RDA58O7 模块管脚33.2.2 RDA5807 模块特点43.2.3 RDA5807模块与单片机接口43.3原理图53.4 PCB 图54软件设计54.1 IIC 通信54.2 IIC 时序64.3软件流程图75 调试过程95

3、.1电路板制作95.2硬件调试95.3软件调试105.4实物图116 总结11谢辞13参考文献14附录15引言随着科学技术的发展,调频收音机的应用十分广泛,尤其消费类占有相当的市场。 从分离元件组成的收音机到山集成电路组成的收音机,调频收音机技术已达到十分成熟 的地步。本次设计采用RDA5807收音模块与单片机相结合,实现FM收音并显示频率。 单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所 以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强, 对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易,所以本次采用STC89c52 单片机

4、。此外,RDA5807模块具有63-108MHZ全球FM接收频段相容的效果,具备噪声消 除、软静音、低音增强、灵敬度高、噪声小、抗干扰能力强等功能,还可以具备频率显 示功能。1任务要求与设计的背景1.1设计任务要求本论文的任务是根据调频收音机的特点和应用情况,结合新一代高性能芯片设计一 种使用简单、性能优良的收音机。整个系统以单片机STC89S52控制,RDA5807芯片为核 心,配置相应的外设及接口电路。接收频率可设置、输出音量可数控、显示信号强度和 设置静音,用C语言开发,组成一个多功能的程控数字收音机。1.2课题背景随着科学技术的不断发展,新颖的调频收音机的不断出现,技术不断的提高,设汁

5、出 来的收音机外型精致和小巧。从分离元件到集成电路,这标志着收音机的内部电路简单。 用一个集成块就能完成所有的工作。从早期的调幅收音机到现在的调频收音机,我们可 以想象收音机的不断的改进和不断创新,使收音机的发展空间愈来愈大。现在,出现了 新一代高科技产品一一数字调频收音机,功能强大,性能优良,设计精巧耐用。2调频收音机的分析和设计思路2.1系统设计原理本文提出的采用RDA5807模块作为解调的核心器件的全数控调频收音机设讣方案, 根据接收频率可设置、输出音量可数控、显示信号强度和设置静音等要求,本设讣外置 一根天线,信号从天线进入RDA5807模块,因为内部有一放大器,所以不需要外加放大 器

6、,内部AD对信号进行采样,通过单片机的I/O 口与RDA5807的HC总线相连,经过 程序控制进行对收音芯片内部的寄存器读写,改写这些寄存器,则可输出对应的频率和 音量的信号。控制电路采用4*4的矩阵键盘,输入的数字信息经STC89C52控制的诺基亚5110液晶屏显示。2. 2系统框图分析和设计系统结构组成如图2.1所示,主要III单片机控制模块、键盘与显示模块、收音机解 调模块、天线组成。其中,信号接收山单片机控制模块、收音机解调模块和天线实现, 键盘与显示模块则用来实现人机交互的功能,通过外接的喇叭或者耳机可以接收到对应 频道的信息。图2.1收音机系统框图3硬件设计3.1单片机最小系统ST

7、C89C52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统可编程Flash存 储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上, 拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系 统提供高灵活、有效的解决方案。STC89C52具有以下标准功能:8k字节Flash、256字 节RAM、32位I/O 口线、看门狗定时器、2个数据指针、二个16位定时器/计数器、 一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。另外,STC89C

8、52可 降至OHz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作, 允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存, 振荡器被冻结,单片机一切工作停止,直到下一个中断或碾件复位为止。一般单片机需外接一个时钟电路和一个复位电路,如图3. 1和图3. 2所示。3. 1. 1时钟电路CRV11 2Mczr>图31时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时, 外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲 二分频,如晶振为12MHz,时钟频率就为6MHz。晶

9、振的频率可以在1 MHz-24MHz内选择。 电容取30PF左右。STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外 石英晶体或者陶瓷谐振器一起构成自激振荡器。片外石英晶体或者陶瓷谐振器及电容 Cl、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2虽然没有十分 严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起 振的难易程序及温度稳定性,这里采用电容22pF,晶振釆用12MHzo3.1.2复位电路STC89C52的外部复位电路有上电自动复位和手动按键复

10、位。上电复位电容充电来 实现。手动按键复位乂分为按键电平复位和按键脉冲复位。按键电平复位电路是在普通 RC复位电路的基础上接一个有下拉电阻10K、上拉电容10 u f接VCC,电源山开关接至复 位脚(和上拉电容并联),上拉电容支路负责在“上电”瞬间实施复位;开关通过10K 下拉电阻分压器,保证对单片机实施按键电平复位。电路图如下图3. 2所示:图3. 2复位电路3. 2 RDA5807 模块3.2. 1 RDA5807模块管脚"RRDT02V2. 0”立体声收音模块(FM Stereo radio Module)高灵敏度、低功 耗、超小体积的调频立体声收音模组。采用RD A Micr

11、oelectronics的RDA5807M (或 RDA5802NM),此电路外圉元件少、噪声系数极小。具有体积小、低功耗、低成本、应用 简单、使用范围广等优点。是一款简单易用且具极高性价比的单芯片FM立体声收音模 组,管脚如图3. 3所示,管脚功能如表3.1。表3. 1管脚功能引脚序号引牌功能描述引腾序号引胛功施播述1GND公央按览舛)6A1A;厶R-out R"咅勉訂筑岀)7CLOCK帛行皴2X0线参考时件)38GP? «NC)4KK 1片耳氏纲權入fl|) NC9GPS (NC>5FM FM天线按入紺10VDD T.OVDC电译输入瑶TOF* Vlow图3. 3

12、 RAD5807模块管脚示意图3. 2. 2 RDA5807模块特点(1) 釆用通用的102BC模块的封装,用户可直接替换使用,无需更改电路设讣。(2) 、灵墩度高、噪声小、抗干扰能力强、外接元件极少、体积小(11*11. 2MM Max).使用极其简单。(3 )、76-108MHz全球FM频段兼容(包括日本76-91MHz和欧美87. 5-108. 5MHz )。(4) 、I2C串行数据总线接口通讯,支持外部基准时钟输入方式。(5) 、完全整合的C0MS工艺单晶片集成电路,功耗极小。(6) 、内置高精度A/D (模数转换器)及数字频率合成器。(7) 、内置LDO调整、低功耗、超宽电压使用范圉

13、(2. 7-3. 6VDC)o(8) 、内置噪声消除、软静音、低音增强电路设计。(9) 、高功率32Q负载音频输出,直接耳机驳接,无需外接音频驱动放大。3.2.3 RDA5807模块与单片机接口RDA5807是以I2C协议为通信方式的芯片,通过CLK时钟总线和SDA数据总线与单片机相连,如图3. 3所示。GND三 0BV图3. 4 RAD5807与单片机接口3. 3原理图本原理图是实现一个收音功能的电路,通过天线接收广播,并利用RDA5807收音模块, 解调出音频信号,通过耳机播放出来,如图35所示。卜oeI25TW: 5OXW«AI4. y: NA15i>2 2<AIS

14、"J?voo ro ft ax»>ZOX1图3. 5系统原理图LcurPR;: “KMIEX7WiMHIUMI»»ynrrro irxx>3> PO WAX>FO 3tAS»>FQ3. 4 PCB 图利用软件DXP,将原理图导入进行制作PCB图,通过口色线的指引,把各个部分的电 路连接起来,如图36所示。1AJ7ES5555E4333393Jlclclclclcglc-lcJ1K8UPRE5HSSH® 7 333333Jlc-Slclclcplc-K -1 -品cII ll2U1 IcIIICRY!853

15、 C2SZS图36 PCB图4软件设计4.1 IIC通信IIC是山菲利浦半导体公司在八十年代初设讣出来的,主要是用来连接整体电路 (ICS) , IIC是二种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同 时每个芯片都可以作为实施数据传输的控制源。这种方式简化了信号输总线。IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。 所有接到IIC总线设备上的审行数据SDA都接到总线的SDA上,各设备的时钟线SCL接 到总线的SCL上。4.2 IIC时序在IIC总线传输过程中,将两种特定的惜况定义为开始和停止条件:当SCL保持"高” 时,SDA由“高”

16、变为“低”为开始条件;当SCL保持“高”且SDA由“低”变为“高” 时为停止条件。开始和停止条件均山主控制器产生。使用硬件接口可以很容易地检测到 开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样,以检测 这种变化。SDA线上的数据在时钟“高”期间必须是稳定的,只有当SCL线上的时钟信号为低 时,数据线上的“高”或“低”状态才可以改变。输出到SDA线上的每个字节必须是8 位,每次传输的字节不受限制,但每个字节必须要有一个应答ACK。如果一接收器件在 完成其他功能(如一内部中断)前不能接收另一数据的完整字节时,它可以保持时钟线 SCL为低,以促使发送器进入等待状态;当接收器准

17、备好接受数据的其它字节并释放时 钟SCL后,数据传输继续进行。I2C数据总线传送时序。数据传送具有应答是必须的。与应答对应的时钟脉冲由主控制器产生,发送器在应 答期间必须下拉SDA线。当寻址的被控器件不能应答时,数据保持为高并使主控器产生 停止条件而终I匕传输。在传输的过程中,在用到主控接收器的情况下,主控接收器必须 发出一数据结束信号给被控发送器,从而使被控发送器释放数据线,以允许主控器产生 停止条件。图4.1为RDA5807寄存器写时序,图4. 2为RDA5807寄存器读时序。Bytel m 豳°Byie5图4.1 I2C写时序SDIOSCLK1-7trccat1-7I iiI

18、/ Lm/J Im/ i II I:TIfrSTART 阳阳 而 ACK 罰逊吐 ACK daam NACK STOP START图4. 2 I2C读时序4. 3软件流程图在应用系统中,系统软件的设计是建立在具体硬件电路基础之上,根据系统功能要 求可靠地实现系统的各种功能。好的软件设计能够充分发挥微控制器的运算和逻辑控制 功能,从而提高仪器的精度和使用的方便性。先初始化接收频率,并实现对频率和音量步进的控制。处理用户山键盘键入的频率 值和音量值,判断是否超出范围,生成频率和音量控制字,经I2C方式送入解调模块并 改写寄存器数据,设置用户所需的接收频段和音量,并通过程序实现频率、音量和信号 强度

19、的显示,程序流程图如图4. 3所示。*胎图4. 3总程序流程图为显示作准备。再显示我们需要的信息。最后初始设置频率根据图4. 3的总程序流程图。程序从main函数开始,先对LCD5110液晶屏进行初 始化,主要对液晶屏进行忙或不忙检测,、“I液晶屏忙时,程序等待中;当液晶屏不忙时, 程序继续。再对LCD清屏, 和音量,初始化程序如下:/led初始化/清屏显示初始化 /RDA5807初始化/频率初始设置为88. 30MHZ 音量初始设置为10LCD_init ();LCD_clear (); xianshi ();RDA_Init();Freq_Set(8830);Vol_Set(10) ;矩阵

20、键盘扫描程序,当按键按下时,程序执行对应功能;当键盘没有按下时,程序 结束且这个过程不断循环。键盘扫描程序如下:keyscan() ;/键盘不断扫描当键1被按下时,频率值加100KHZRXFreq+=10;/频率加,步进 100KHZFreq_Set (RXFreq) :/频率设置当键2被按下时,频率值减100KHZRXFreq-二 10;/频率减,步进 100KHZFreq_Set (RXFreq) :/频率设置当键3被按下时,音量值加1Vol+=1;/音量加Vol_Set(Vol);/音量设置015当键4被按下时,音量值减1Vol-=1;/音量减Vol_Set(Vol) :/音量设置 01

21、5当键5被按下时,设置静音成功;当键5再次按下时静音取消Mute_Set (mute) ;/设置静音mute+;键盘不断扫描时,也不断的显示,分别对频率、音量、信号强度和静音标志进行显 示,显示程序如下:显示频率/显示音量/显示信号强度/显示是否静音,1为否,0为是display_2(RXFreq);display_l(Vol);display_3(Rssi_Get();display_4(mute);以上步骤不断的循环。5调试过程5. 1电路板制作画图:根据原理图画PCB图,画封装。打印PCB:通过转印机把PCB转印到电路板上。腐蚀:把电路板放进腐蚀液里腐蚀掉没有被保护的铜。钻孔:根据洞口大

22、小选择合适的钻针钻孔。清洗:把导线表面的油墨打磨清洗干净。涂松香:把松香和天那水的混合液涂在打磨清洗后的板子上,防止铜线被氧化和有助 于焊接。插器件,焊接:等松香干了,插元器件,并且焊接好。5. 2硬件调试刚开始调试的时候,我是根据一个文档上写的,耳机接口的公共端可以用作天线, 并通过一个磁珠与地隔开,当时一个劲的怀疑软件问题,没有认真检查硬件,经过仔细 查阅资料,了解到耳机接口的公共端为地,所以不能用作天线。解决;天线端与耳机公 共端断路,耳机公共端直接接地。如图5.1所示。图5.1解决后电路还有一个问题,芯片RDA5807的输出口有两个声道,之前我是用两个磁珠相连,因 为磁珠是电感,具有隔

23、交流信号的作用,音频信号为交流信号,磁珠滤除掉了音频信号, 所以耳机端不可能接收到音频信号,解决:移除两个磁珠,用导线把两端连接起来。如 图5. 3所示红色框原为两个磁珠,现在为两导线相连.如图5. 2所示。图52解决后电路5. 3软件调试软件遇到的主要问题是RDA5807的I2C协议通信的时序问题,I2C协议通过时钟总 线CLK和数据总线SDA与单片机相连,我们所用的单片机没有I2C接口,给我们造成了 很大的不便,我们是根据I2C时序,通过拉低或拉高总线和延时函数模拟I2Co在写I2C读一个字节的数据时,数据只能读出16位数据的高8位,而不能读出数据的低8 位,。解决:在读数据前,将SDA总

24、线拉高,因为51单片机讲引脚置高可设为输入引脚, 即可读出数据。部分程序如下:uchar IICReadByte(unsigned char ack) /IIC 读一个字 ij unsigned char i,receive=O;SDA=1;51单片机讲引脚置高可设为输入引脚,缺少此语句,不能正常读岀数据for(i=0:i< 8;i+)SCL=O;IIC_dclayms();SCL=1;receive«=l;if(SDA=l)receive+;IIC_delayms();if (lack)IIC_NAck();elseIIC_Ack();return receive;5.4实物

25、图如图5. 3所示,调试出来的电路山矩阵键盘、诺基亚5110液晶屏、RDA5807模块组 成。可以显示接收频率、音量、信号强度,如图5.3所示。图5. 3无线发射控制电路6总结本次信息系统综合实训,我用了两个星期,在第一个星期我査阅关于收音机的资料 和学习一些单片机的基础,第二个星期我做板并调试程序,这两星期可以说是充实,紧 张而乂愉快的。在这两个星期的实训中,我学到了很多东西,不管是在知识架构上,还 是在动手动脑能力上都起着潜移默化的影响。刚开始做收音机,脑袋里面没有一点头绪,通过儿天的查阅资料和班里面的同学交 流,了解到了 FM是如今的一种收音机常用的调制解调方式,这也是我本次实训的芯片

26、RDA5807里面的调制解调方式。硬件做出来后,调试软件遇到了不少的问题,刚开始把 5110液晶屏点亮,费了一段时间,通过查找网上一些关于5110液晶屏的驱动和参考别 人的一些程序,终于可以在屏幕上随意读写数据,并且可以显示汉字。关于RDA5807的 程序,我也是上网找了一堆资料,其实它的驱动程序有点难写,特别是I2C协议读写数 据,但我们参考别人的程序,对照时序图,可以很快写好RDA5807的驱动程序,通过调 用里面的子函数,设置所需的接收频段和音量。关于矩阵键盘的程序,按键扫描是单片 机的一个基本的知识,不过矩阵键盘扫描比较困难,它是8个10 口控制16个键盘,在 观看郭天祥的十天学会单片

27、机后,对矩阵有了一定了解,最后能运用矩阵键盘实现对频 率设置的功能。这次实训不仅巩固了以前所学过的知识,锻炼自己动手制作能力,更是让我深刻认 识到我对理论知识所学欠缺,理论知识的重要性,这些我会在以后得学习总补习回来, 做到理论与实践相结合,更好的提高自己的实际动手能力和独立思考的能力。谢辞首先,感谢为我们安排了这次单片机设汁实训。非常感谢学院领导和老师给我们提 供硬件条件和在理论知识方面的帮助。还要感谢老师的授课和实训操作指导,在任务开 始前,老师首先就全面的为我们讲注意事项,让我们在实训过程中少犯了不少错,节约 了宝贵的时间。特别感谢老师,是她在整个实训过程中对我们严格要求,耐心指导,反

28、复为我们讲解要点,给与我们极大的帮助以及鼓励,使得我最终完成实训。参考文献1 郭天祥.51单片机C语言教程:电子工业出版社,20082 李欧儒主编.短波单边带收发信机原理与调制.北京:人民邮电出版社,19853 董在望.陈雅琴,雷有华,肖华庭.通信电路原理.第二版.北京:高等教冇岀版社,20024 孙育才.MCS-51系列单片机及应用(第4版):东南大学出版社,20045 阎石.数字电子技术基础(第5版):淸华大学出版社,20056 谭浩强.C语言程序设计(第3版):淸华大学出版社,20057 郑学坚、周斌.微型计算机的原理及应用:淸华大学岀版社,20028 胡伟、季晓衡.单片机c程序设计及应

29、用实例:北京人民邮电出版社.2003#include <reg5 l.h>#includc <string.h>#include <intrins.h>#includc <lcd5110.h>#define uchar unsigned char #define uint unsigned int #define ulint unsigned long int #define lint long intunsigned int RXFreq=8980;/RDA的寄存器地址#define RDA_R00#define RDA_R02音,SEEKUP

30、9,SEEK85SKMODE7,CLK_MODE6:4时钟源选择,SOFTRESET1软复位,ENABLE|0电源使能#define RDA_R03#define RDA_R04#define RDA_R050X00 读出 16 个位的 ID =0X58000X02/DHIZ15,DMUTE14静音,MONO13声道BASS12重低0X030XQ40X05CHAN15:6,TUNE4,BAND3:2,SPACEl:0设置频率 带宽 步长 /STCEN14,DE 11 ,I2Senable6,/INT_MODE 1习,SEEKTH14:8(设崖自动搜索信号强度阀/STC14seek comple

31、te SF13seek fail readchan9:0当前频道/RSSI 15:9.FM TRUE8当前频道是一个节目台读 RDA5807写 RDA5807值).LN A_PORT_SEL7:6=Ob 10.LN ACSEL_BIT5:4,VOLUME3:0音量;0X0AOXOB0X230X22#define RDA.ROA#define RDA.ROB#define RDA.READ/IIC 接口#define RDA WRITE sbit SDA=POA1;sbit SCL=POAO: uchar 打 ablc=PTTT2T34 丁 5丁6丁7 丁 8;9'uchar tenip

32、.key.Vol=8,mute=l;uint Diantai20=8830;void delay(uchar z)uchar i,j;for(i=z;i>0;i-)for(j=110;j>0;j-);/*IIC通信程序*/void IIC_delayms()用于 IIC 延时_nop_();_nop_();_nop_();_nop_();void OpenIIC()/IIC 启动信号SDA=1;SCL=1;IIC_dclayms();SDA=0;IIC_dclayms();SCL=0;void ClosellCO/IIC 停止信号SCL=0;SDA=0;IIC_dclayms();

33、SCL=1;SDA=1;IIC_dclayms();uchar IIC_Wait_Ack(void) /IIC发送字节后 等待从机发送响应信 uchar ucErrTime=O;SDA=1;IIC_dclayms();SCL=1;IIC_dclayms();while(SDA=l)ucErrTime+;if(ucErrTime>250)ClosellCO;return 1;SCL=0;return 0;void IIC_Ack(void) /发送应答信号SCL=O;SDA=O;/0±Ie?6r eIIC_dclayms();SCL=1;IIC_dclayms();SCL=O;v

34、oid IIC.NAck(void) /IIC 非应答信号SCL=0;SDA=1;IIC_dclayms();SCL=1;IIC_dclayms();SCL=0;void IICsendByte(uchar txd) /IIC 写一个字节uchar t;SCL=0;for(t=0;t<8;t+)if(txd &0x80)»7)=l)SDA=1;elseSDA=0;txd«=l;IIC_dclayms();SCL=1;IIC_deIayms();SCL=O;IIC_delayms():uchar IICReadByte(unsigned char ack) /I

35、IC 读一个字 ijunsigned char ijeceive=O;SDA=1;/51单片机讲引脚垃高可设为输入引脚for(i=0;i<8;i+)SCL=O;IIC_dclayms();SCL=1;receive«=l;if(SDA= 1 )receive+:IIC_delayms();if (!ack)IIC_NAck();elseIIC_Ack();return receive;uint ReadReg(uchar regAddr)芯片读寄存器uint buf;OpenIIC();IICsendB!e(RDA_WRITE); 发送芯片地址 方向为写IIC_Wait_Ack

36、();IICsendByte(regAddr); 发送寄存器地址IIC_Wait_Ack();OpenIIC();IICsendByte(RDA_READ); /发送芯片地址 方向为读IIC_Wait_Ack();buf = IICReadByte( l);buf = buf«8;buf =buflIICRcadByte(O);CloseIIC();return buf;void WriteReg(uchar regAddr.uint val) /芯片写寄存器OpenllCO;IICsendByte(RDA_WRITE);发送芯片地址 方向为写IIC_Wait_Ack();IICse

37、ndByte(regAddr); 发送寄存器地址IIC_Wait_Ack();IICsendByte(val»8);IIC_Wait_Ack();IICsendByte(val&OXFF);IIC_Wait_Ack();CloseIIC();void VoI_Set(uchar vol) 音量设宜0-15uint temp=0; temp=ReadReg(RDA_R05); temp&=OxfffO;WriteReg(0x05Arolltemp);void Mute_Set(uchar mute) 静音设宜1为静音 0为不静音 uint temp=0;temp=Rca

38、dReg(0X02);if(!mute)templ= 1«14;else temp&=(1«14);WriteReg(0X02,teinp);void Bass_Set(uchar bass)/频带设Ituint temp=0;temp=ReadReg(0X02);if(bass)templ=l«12;else temp&=(lv<12);WriteReg(0X02,temp);uchar RssLGet(void)信号强度获取063uint temp=0;temp=ReadReg(0X0B);temp=(temp»9)&0

39、x7f;return temp:void Seekth_Set(uint rssi)自动搜台信号阈值强度015默认为8数值越低搜到的台越多uint temp;rssi = rssi & Oxf;temp=ReadReg(0X05);temp&=(0xfvv8);templ= rssi«8;WriteReg(0X05,temp);void Seck_direction(uchar direction) /台方向 1 向上搜索 0 向下搜索uint temp;te mp=Read Reg( RDA_R02); temp&=-(l«9);if(direct

40、ion = 1)templ= 1«9;else indirection = 0) templ= 0«9;WriteReg(0X05,temp);void Freq_Set(uint freq) /频率设置 单位是:lOKHz 6500-10800 uint temp;uchar spc=0.band=0;uint fbtnichan;temp=ReadReg(0X03);temp&=0X00 IF;band=(temp»2)&OxO3;spc=temp&0x03;if(spc=0)spc=10;else if(spc=l)spc=20;el

41、se spc=5;if(band=0)fbtm=8700;else if(band= 1 llband=2)fbtm=7600;elsefbtm=ReadReg(OX53); fbtm*=10;if(freq<fbtm)return;chan=(freq-fblm)/spc;chan& =0X3FF;tcmpl=chan«6;templ=l«4;WriteReg(RDA_R034emp);delayms(20);/while(ReadReg(0X0B)&(l«7)=0);unsigned short seek_channel(void) 半自

42、动搜台uint temp;temp=ReadReg(RDA_R02);temp 1= (1«8);WriteReg(RDA_R02jemp);/SEEK 位置一 使能自动搜台while( (ReadReg(RDA_R0A)&(l«14) = 0 ) / 等待 STC 位置一表示搜索完成 delayms( 10); 延时 10mstemp = (ReadReg(RDA_R0A)&0x3FF) * 100000 + 87000000 ; 获取当前频率 return temp/10000; 返回搜到电台频率 单位是:10K11Zvoid FM_enable(uch

43、ar flag) /I 使能芯片 0 禁用芯片 uint temp;te mp=Read Reg (RDA_R02);if(flag=l )temp 1=1;if(flag = 0)temp &= -0x1;WriteReg(RDA_R02,temp);void RDAJnit(void)/RDA37S?'WriteReg(RDA_R02,0x0002); dclayms(30);WriteReg(RDA_R02,0xd281);SKMODE = 1搜索到边频时停止WriteReg( RD A.R03,0x0000);WriteReg(RDA_R04.0x0040);Writc

44、Reg(RDA_R05.0X8882);软件复位晶振选择32.768Khz向上搜索重低音立体声频率设为87MHz ,步进lOOKhz频带为87M-108M 基本配置音量设苣为vol=2搜索阀值为8FM_enable(l);给芯片上电严* * * *$ 显示初 始化* * * *$*/void xianshi()LCD_wri 忙 _cnglish_string(O,OFrcq:O()OOOMHZ”); LCD_write_english_string(0,1 /Vol:H);LCD_write_engIish_string(0,2/Rssi:”);LCD_wri忙_cnglish_siring

45、(0,3JVol Mute:");void display(lint vvl)uchar A1. A2A3,A4,A5、A6;Al=vvl/100000;A2=vvl % 100000/10000;A3=vvl % 10000/1000:A4=vvl%1000/100;A5=vvl % 100/10;A6=vvl%10;/LCD_wri 忙 _cnglish_string(30 Jablc A2);/LCD_write_english_string(36? 1 .tableA3);/LCD_write_english_string(42? 1ablc A4);LCD_write_en

46、glish-string(60J JableA5);LCD_write_engIish_string(66,1 .tablet A6); / LCD_write_english_string(80,1 .tablet A6);void display_2(lint vv2)uchar A1 ,A2,A3,A4,A5,A6;Al=vv2/10000:A2=vv2% 10000/1000;A3=vv2%1000/100;A4=vv2% 100/10;A5=vv2%10;LCD_write_english_string(30.0.tableA 1);LCD_write_english_string(

47、36.0.tableA2);LCD_write-english_string(42.0.tableA3);LCD_write_english_string(54.0dable|A4);LCD_write-english_string(60,0dable|A5);void display_3(lint vvl)uchar A1. A2A3,A4,A5,A6;Al=vvl/100000:A2=vvl%100000/10000;A3=vvl % 10000/1000;A4=vvl%1000/100;A5=vvl % 100/10;A6=vvl%10;/LCD_wri 忙 _cnglish_sirin

48、g(302tablcA2);/LCD_write_english_string(36.2.table(A3);LCD_write_english_string(42,24able|A4);LCD_write-english_string(60,2.tableIA5);LCD_write_english_string(66,2.tableA6);LCD_write_english_string(80J4ableA6);void display_4(lint vvl)uchar A1. A2A3,A4,A5,A6;Al=vvl/100000;A2=vvl%100000/10000;A3=vvl %

49、 10000/1000:A4=vvl%1000/100;A5=vvl % 100/10;A6=vvl%10;/LCD_write_english_string(30,2.tableA2);/LCD_write-english-string(36,2.table(A3);/LCD_write-english-string(42,2.table(A4);/LCD_write-english-string(60,2jableA5);LCD_write_english_string(6634able|A6);/LCD_write_english_string(80,1 .table( A6);void

50、 display_5(lint vvl)uchar A1 ,A2,A3,A4,A5,A6;Al=vvl/100000;A2=vvl%100000/10000: A3=vvl % 10000/1000: A4=vvl%1000/100;A5=vvl % 100/10;A6=vvl%10;LCD_write_english_string(30,24able|A2);LCD_write_english_string(36,2.table|A3);LCD_write_english_string(42,2.table|A4);LCD_write_english_string(60,2.table|A5

51、);LCD_write_english_string(6634ableA6);LCD_write_english_string(80,1 .table| A6);void keyscanO“0鬲祺再昱激再县门0鬲祺再皋/ 叫再提ZHN001滾乎,輕幸解鬲祺家卿ZHNOOI烈乎叩4幸瞬0=IOA(0>IOA)J!UIOA)PSIOAI=-IOA:0l=心”:9£X0 OSEO:秤jqSI=IOA(“v【OA)J!uioa)psioaU=+IOA:£=心”:oqxO 9SE3:密jq:0£88二bjxyx 爼 (0£88>b%IX 爼)J!(b0JJXH)J3Sb0Jj :Ol=-bajJXH :乙=心”:opxo oseo:牌jq:0080l=b3JJXH (OO8Ol<JJXH)J! (bojJXH)PSboJJ:OI=+bajjXH:1=心”:苗XO 9SE3 (duiaj)qojiAs :&

温馨提示

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

评论

0/150

提交评论