第一章 系统整体方案规划
本系统以STM32F103C8T6单片机为控制核心,融合FM调频接收、音频功率放大、频率调节与显示功能,旨在实现一款便携式FM收音机,满足日常音频收听需求,适用于家庭、户外等场景。核心目标是通过TEA5767 FM收音模块接收调频广播信号,经音频功放芯片放大后通过扬声器输出,STM32实现频率调节、搜台控制,并通过显示屏实时显示当前收听频率与工作状态,提升用户操作体验。
系统整体划分为五大核心模块:STM32控制模块、TEA5767 FM收音模块、音频功放模块、频率调节模块与显示模块。控制模块负责协调各模块工作,解析用户操作指令,控制收音模块搜台与频率切换;TEA5767模块支持87.5MHz-108MHz FM频段,通过I2C接口与STM32通信,实现频率设置与信号强度检测;音频功放模块选用TDA2822M芯片,将收音模块输出的微弱音频信号放大,驱动扬声器发声;频率调节模块配备按键,支持手动调频与自动搜台;显示模块采用LCD1602屏,实时展示当前频率、信号强度与立体声状态。
方案设计遵循“便携性、低功耗”原则,电源采用5V USB供电,搭配LM1117-3.3V稳压芯片为STM32与TEA5767供电,确保系统在低功耗状态下稳定运行,为后续硬件选型与软件开发提供清晰框架。
第二章 系统硬件电路设计
硬件电路围绕STM32核心构建,重点解决FM信号接收、音频放大、频率调节与数据显示问题。STM32F103C8T6作为主控芯片,其GPIO口、I2C接口可满足各模块连接需求:I2C接口与TEA5767 FM模块通信,实现频率控制与状态读取;GPIO口连接频率调节按键、LCD1602屏控制引脚;同时通过GPIO口输出控制信号,切换音频功放模块的工作模式。
TEA5767 FM收音模块电路中,模块的SDA、SCL引脚通过I2C接口与STM32连接,天线采用拉杆天线或PCB印制天线,确保信号接收灵敏度;模块的OUT引脚输出音频信号,接入音频功放模块的输入端;通过模块的SDA引脚读取信号强度(RSSI)与立体声状态,反馈至STM32用于显示。音频功放模块中,TDA2822M芯片的两个输入端分别连接TEA5767的左、右声道输出,芯片的电源端接入5V供电,输出端通过耦合电容连接8Ω/0.5W扬声器;为提升音质,在芯片输入端并联10μF电容滤波,减少噪声干扰。
频率调节与显示模块中,设置四个轻触按键(“上一曲/频率+”“下一曲/频率-”“自动搜台”“立体声/单声道切换”),通过上拉电阻连接至STM32 GPIO口,实现用户操作输入;LCD1602屏通过并行接口与STM32连接,RS、E引脚控制数据/指令传输,D0-D7引脚传输数据;电源电路中,5V USB供电经LM1117-3.3V稳压后为STM32与TEA5767供电,5V直接为TDA2822M与LCD1602供电,确保各模块电压匹配,避免信号干扰。
第三章 系统软件程序设计
软件设计采用模块化编程,基于Keil MDK开发环境,主要包含主程序、FM收音控制、音频放大控制、频率调节、显示控制五大模块。主程序完成系统初始化(GPIO、I2C、定时器)后,进入循环状态,实时检测按键操作,控制FM模块搜台与频率切换,同步更新显示屏信息。
FM收音控制模块通过I2C协议与TEA5767通信,实现频率设置与状态读取:初始化时设置默认频率(如98.6MHz),通过向模块写入频率控制字节,调整接收频段;读取模块的状态寄存器,获取当前信号强度(RSSI值)与立体声标志,当RSSI值大于预设阈值(如0x40)时,判定为信号稳定,否则提示“信号弱”。音频放大控制模块根据FM模块输出的音频信号强度,通过STM32 GPIO口调节TDA2822M的增益,当信号过强时降低增益避免失真,信号较弱时提升增益确保音量适中。
频率调节模块支持两种调频方式:手动调频时,按下“频率+”“频率-”按键,STM32控制FM模块频率以0.1MHz步进增减;自动搜台时,按下对应按键,STM32控制频率从87.5MHz逐步递增至108MHz,每步停留100ms检测信号强度,遇到稳定信号(RSSI≥0x40)时停止搜台并锁定频率。显示控制模块每200ms刷新一次LCD1602屏,第一行显示当前频率(如“FM: 98.6MHz”)与信号强度(用“★”数量表示,1-5颗),第二行显示立体声状态(“STEREO”或“MONO”)与工作模式(“MANUAL”或“AUTO”),确保信息直观易懂。
第四章 系统调试与功能验证
系统调试分为硬件调试、软件调试与功能联调三部分。硬件调试首先检查电源电路,用万用表测量各模块供电电压,确保STM32供电3.3V、TEA5767供电3.3V、TDA2822M与LCD1602供电5V稳定;接着测试FM模块,通过示波器观察TEA5767的OUT引脚输出波形,确认在已知FM频段(如98.6MHz)能接收到音频信号;最后测试音频功放模块,接入扬声器,检查是否有清晰声音输出,无杂音或失真。
软件调试采用J-Link仿真器在线调试,逐步验证各模块逻辑:先调试I2C通信程序,确保STM32能正常向TEA5767写入频率指令与读取状态数据,频率设置误差≤0.05MHz;再调试按键与搜台程序,测试手动调频步进准确,自动搜台能稳定锁定信号强度≥0x40的频率;最后调试显示程序,确认LCD1602屏显示无乱码,信号强度与立体声状态更新及时。
功能联调在实际环境中进行:连接USB电源,启动系统后默认频率98.6MHz,扬声器输出清晰广播声音;手动按下“频率+”按键,频率以0.1MHz递增至108MHz,按下“自动搜台”按键,系统从87.5MHz开始搜台,成功锁定3个稳定频率(如89.3MHz、95.5MHz、102.8MHz),LCD1602屏准确显示对应频率、5颗“★”信号强度与“STEREO”标识;切换至单声道模式,显示同步更新为“MONO”,音质无明显失真。系统连续运行8小时无故障,频率控制精度与信号接收稳定性满足设计要求,可投入实际应用。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。