大学毕设论文__基于rda5807的收音机课程设计说明书(3)

2018-12-17 12:28

根据图4.3的总程序流程图。程序从main函数开始,先对LCD5110液晶屏进行初始化,主要对液晶屏进行忙或不忙检测,当液晶屏忙时,程序等待中;当液晶屏不忙时,程序继续。再对LCD清屏,为显示作准备。再显示我们需要的信息。最后初始设置频率和音量,初始化程序如下:

LCD_init();

//lcd初始化 //显示初始化

LCD_clear(); xianshi(); RDA_Init(); Vol_Set(10)

//清屏

//RDA5807初始化 ; //音量初始设置为10

Freq_Set(8830); //频率初始设置为88.30MHZ

矩阵键盘扫描程序,当按键按下时,程序执行对应功能;当键盘没有按下时,程序结束且这个过程不断循环。键盘扫描程序如下:

keyscan(); RXFreq+=10;

//键盘不断扫描

//频率加,步进100KHZ

当键1被按下时,频率值加100KHZ

Freq_Set(RXFreq); //频率设置 当键2被按下时,频率值减100KHZ

RXFreq-=10;

//频率减,步进100KHZ

Freq_Set(RXFreq); //频率设置 当键3被按下时,音量值加1 Vol+=1;

//音量加

Vol_Set(Vol); Vol-=1;

//音量设置 0~15

//音量减

当键4被按下时,音量值减1 Vol_Set(Vol);

//音量设置 0~15

//设置静音

当键5被按下时,设置静音成功;当键5再次按下时静音取消 Mute_Set(mute); mute++;

键盘不断扫描时,也不断的显示,分别对频率、音量、信号强度和静音标志进行显示,显示程序如下:

display_2(RXFreq); display_1(Vol); display_4(mute); 以上步骤不断的循环。

8

//显示频率 //显示信号强度

//显示音量

//显示是否静音,1为否,0为是

display_3(Rssi_Get());

5 调试过程

5.1 电路板制作

画图:根据原理图画PCB图,画封装。 打印PCB:通过转印机把PCB转印到电路板上。 腐蚀:把电路板放进腐蚀液里腐蚀掉没有被保护的铜。 钻孔:根据洞口大小选择合适的钻针钻孔。 清洗:把导线表面的油墨打磨清洗干净。

涂松香:把松香和天那水的混合液涂在打磨清洗后的板子上,防止铜线被氧化和有助于焊接。

插器件,焊接:等松香干了,插元器件,并且焊接好。 5.2 硬件调试

刚开始调试的时候,我是根据一个文档上写的,耳机接口的公共端可以用作天线,并通过一个磁珠与地隔开,当时一个劲的怀疑软件问题,没有认真检查硬件,经过仔细查阅资料,了解到耳机接口的公共端为地,所以不能用作天线。解决;天线端与耳机公 共端断路,耳机公共端直接接地。如图5.1所示。

图5.1解决后电路

还有一个问题,芯片RDA5807的输出口有两个声道,之前我是用两个磁珠相连,因为磁珠是电感,具有隔交流信号的作用,音频信号为交流信号,磁珠滤除掉了音频信号,所以耳机端不可能接收到音频信号,解决:移除两个磁珠,用导线把两端连接起来。如图5.3所示红色框原为两个磁珠,现在为两导线相连. 如图5.2所示。

9

图5.2解决后电路

5.3 软件调试

软件遇到的主要问题是RDA5807的I2C协议通信的时序问题,I2C协议通过时钟总线CLK和数据总线SDA与单片机相连,我们所用的单片机没有I2C接口,给我们造成了很大的不便,我们是根据I2C时序,通过拉低或拉高总线和延时函数模拟I2C。在写I2C

读一个字节的数据时,数据只能读出16位数据的高8位,而不能读出数据的低8位,。解决:在读数据前,将SDA总线拉高,因为51单片机讲引脚置高可设为输入引脚,即可读出数据。部分程序如下:

uchar IICReadByte(unsigned char ack) //IIC读一个字节 {

unsigned char i,receive=0; SDA=1;

//51单片机讲引脚置高可设为输入引脚,缺少此语句,不能正常读出数据

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

{

SCL=0; IIC_delayms();

SCL=1;

receive<<=1;

if(SDA==1) receive++;

IIC_delayms();

}

if (!ack) IIC_NAck(); else IIC_Ack(); return receive; }

10

5.4 实物图

如图5.3所示,调试出来的电路由矩阵键盘、诺基亚5110液晶屏、RDA5807模块组成。可以显示接收频率、音量、信号强度,如图5.3所示。

图5.3无线发射控制电路

6 总结

本次信息系统综合实训,我用了两个星期,在第一个星期我查阅关于收音机的资料和学习一些单片机的基础,第二个星期我做板并调试程序,这两星期可以说是充实,紧张而又愉快的。在这两个星期的实训中,我学到了很多东西,不管是在知识架构上,还是在动手动脑能力上都起着潜移默化的影响。

刚开始做收音机,脑袋里面没有一点头绪,通过几天的查阅资料和班里面的同学交流,了解到了FM是如今的一种收音机常用的调制解调方式,这也是我本次实训的芯片RDA5807里面的调制解调方式。硬件做出来后,调试软件遇到了不少的问题,刚开始把5110液晶屏点亮,费了一段时间,通过查找网上一些关于5110液晶屏的驱动和参考别人的一些程序,终于可以在屏幕上随意读写数据,并且可以显示汉字。关于RDA5807的程序,我也是上网找了一堆资料,其实它的驱动程序有点难写,特别是I2C协议读写数据,但我们参考别人的程序,对照时序图,可以很快写好RDA5807的驱动程序,通过调

11

用里面的子函数,设置所需的接收频段和音量。关于矩阵键盘的程序,按键扫描是单片机的一个基本的知识,不过矩阵键盘扫描比较困难,它是8个IO口控制16个键盘,在观看郭天祥的十天学会单片机后,对矩阵有了一定了解,最后能运用矩阵键盘实现对频率设置的功能。

这次实训不仅巩固了以前所学过的知识,锻炼自己动手制作能力,更是让我深刻认识到我对理论知识所学欠缺,理论知识的重要性,这些我会在以后得学习总补习回来,做到理论与实践相结合,更好的提高自己的实际动手能力和独立思考的能力。

12


大学毕设论文__基于rda5807的收音机课程设计说明书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:xml解析的四种方式

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: