FM收音机程序设计说明.docx_第1页
FM收音机程序设计说明.docx_第2页
FM收音机程序设计说明.docx_第3页
FM收音机程序设计说明.docx_第4页
FM收音机程序设计说明.docx_第5页
全文预览已结束

下载本文档

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

文档简介

“FM收音机”程序设计说明1 程序设计思想与总体框架说明1.1 程序设计思想本程序主要是做一个具有手动调台,调节音量功能的相对简单的收音机,主要思想就是先初始化相关硬件(数码管,按键,A/D,FM模块等);然后循环监听按键;根据不同的按键实现收音机的相关部分的功能。1.2 程序总体框架流程图1 程序流程图2程序相关宏定义、变量和函数说明2.1宏定义和变量说明表1 程序中相关宏定义与变量说明表变量名初始值含义FM.h宏UP1IO端口高电平值。DOWN0IO端口低电平值。MAX_Frequency108000收音机能够搜索的最大电台频率。MIN_Frequency87500收音机能够搜索的最小电台频率。变量unsigned char VOLUME0x0f收音机音量值。变量Unsigned char Radio_Write_Data80xc0,0x11, 0x1a,0x50 0x40,0x02, 0x88,0xa0往收音模块写入的八个字节数据。unsigned long frequency0当前电台频率。unsigned int pll0PLL值,将该值写入RDA5807P芯片的03H寄存器的第615位可以收听与PLL值相关频率的电台。Key.h宏P1_7_ADC0x80P1.7口作为模拟功能A/D使用。ADC_POWER0x80打开A/D电源。ADC_FLAGE0x10将A/D转换完成标志置1。ADC_START0x08A/D转换开始。ADC_SPEEDLL0x00控制A/D转换速度。ADC_SPEEDL0x20ADC_SPEEDH0x40ADC_SPEEDHH0x60ADC_CHANNEL0x07将P1.7口作为A/D输入通道。2.2 函数说明表2 程序中相关函数说明表函数名参数返回值功能描述FM.cInit_Radiovoidvoid初始化收音模块,向收音模块写入8字节初始化数据,收听初始化频率为97.5的电台。IIC_Radio_StartvoidvoidIIC总线读写操作开始。IIC_Radio_StopvoidvoidIIC总线读写操作结束。IIC_Radio_MACKvoidvoidIIC主机应答函数IIC_Radio_ACKvoidvoidIIC从机应答函数。IIC_Radio_WriteByteunsigned char Datavoid向IIC总线输出一个字节的数据。IIC_Radio_WriteDatavoidvoid向收音模块写入五字节数据。Get_PLLvoidvoid从写入的八字节数据中获取PLL值Get_Frequencyvoidvoid将PLL值转化为电台频率frequencyFrequencyToPllvoidvoid将frequency转化为PLL值Manual_Searchunsigned char flagvoid通过调用Get_PLL函数将frequency值转化为PLL,然后调用IIC_Radio_WriteData将PLL值写入收模块实现手动换台。SetVolumeunsigned char flagVoid向RDA5807P芯片写入数据调节音量。Frequency_Displayvoidvoid调用Display_LED_NUM函数将音量值和电台频率按照相关格式显示在数码管上。Delay.cDelaymschar ivoid延时ims。Delayusint ivoid延时ius。Delaychar nvoid一般的延时函数。Key.cInit_KEYvoidvoid初始化A/D转换相关寄存器。GetADCvoidunsigned char对通道P1.7的模拟量进行A/D转换并获取数字转换值。Search_Keyscanvoidvoid导航按键扫描函数,通过调用GetADC函数判断哪个导航按键按下然后触发相关功能。KeyScanvoidvoid按键1和按键2扫描函数,判断这两个键是否按下并进行延时消抖,然后触发相关功能。Led.cConfig_LED配置与数码管相关的IO口。Display_LED_Numint i,int j,unsigned char flagvoid数码管显示函数;将频率值按照相应的格式显示道数码管上。Main.cInitVoidvoid系统初始化函数;调用Init_KEY和Config_LED初始化按键和数码管相关寄存器,并初始化其它IO。mainvoidvoid程序主函数;在while(1)循环中调用Frequency_Display,Search_Keyscan,KeyScan函数实现整个收音机功能。3相关寄存器3.1 RDA5807P芯片读写相关寄存器3.2 A/D获取键值相关寄存器P1ASF 初始化时,设置P1ASF=P1_7_ADC(0x80),即P1.7口为模拟功能A/D使用;3.3 A/D转换结果寄存器ADC_RES初始化时,设置ADC_RES=0x00;3.4 ADC_CONTR寄存器初始化时,设置ADC_CONTR = ADC_POWER | ADC_FLAG | ADC_START | ADC_SPEED_90 | ADC_CHS1

温馨提示

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

评论

0/150

提交评论