下载:
新~
在当今ARM风靡全球的时代,传统51单片机的生存空间可以说是“压力、压力、压力”。 那么51单片机能做什么呢?
其实51单片机如果能合理搭配一些功能模块,还是可以有所作为的。 不信,就来看看这款基于51单片机的MP3点唱机吧。
本点唱机采用支架式安装结构。 由于是实验测试的样机,接线比较杂乱。 如果是成品就更漂亮了。 当然,最终的结构应该是在现有的基础上进一步折叠,使其更方便携带、更精致。
图1 侧视图
图2 正视图
图3 后视图
1、结构组成
该设计主要由三部分组成,分别是双色OLED显示环节、核心处理环节和MP3播放环节。 具体内容如图4所示。
其中,点播菜单和相应的功能选择是通过一块0.96英寸的双色OLED屏幕显示的,该屏幕是一种无背光的自发光器件。 模块虽然体积小,但分辨率为128*64。 对于使用IIC接口的OLED,它们只有4个引脚,因此可以节省GPIO资源。 该双色 OLED 显示屏的上 1/3 为黄色,其余 2/3 为蓝色。 显示效果如图所示。
四个引脚从左到右依次为VCC(3.3~5V)、GND、SCL时钟、SDA数据引脚。
图5 OLED显示效果
对于MP3播放模块来说,它是实现语音播放的关键。 它具有两种工作模式,即简单的独立控制模式和基于通信的指令控制模式。 对于独立控制模式,只需配置几个小按钮即可控制。 相应的操作包括播放第一首、下一首、上一首、增大音量、减小音量等。在配置相应电阻的情况下,还可以通过电位的变化来指定播放顺序。 对于命令控制方式,控制要相对灵活,但需要串行通信才能协同工作,通信波特率为9600bps。
MP3播放模块的外观及引脚排列如图所示。 工作在简单模式时,其电路原理图如下。
图6 迷你MP3播放模块
图7 简单控制方法
该模块各引脚功能如下:
图8 引脚功能图
整个设计以STC89C52单片机为控制核心。 为了便于统一管理,MP3播放模块没有直接与按键相连。 而是通过单片机检测按键状态并进行相应的分析,从而显示相应的文本信息并执行操作,通过串口发送到MP3播放模块,实现歌曲的播放。
为了显示中文菜单,可以通过构建一个小的字体库来完成。 使用的工具是PCtoLCD2002,其界面如图9所示。
图9 PCtoLCD2002界面
2、MP3播放模块测试方法
为了掌握MP3播放模块的使用,可以通过两种方式验证模块的使用情况。
1)使用按钮测试播放功能
首先按照图7原理图完成连接,然后打开电源并按下“第一首歌曲”按钮。 此时MP3播放模块的指示灯会亮起。 歌曲播放完毕后,指示灯熄灭。 然后按“上一首”或“上一首”按钮播放相应的歌曲。 这里需要注意的是,播放顺序与SD卡中存储的顺序有关。 将此顺序记录下来,以便在后续的菜单设计中使用,从而建立菜单和歌曲之间的正确对应关系。 这个非常重要。 很重要! 当然,如果按住“上一曲”或“上一曲”按钮,也会有调节音量的效果。
2)使用串口通讯测试播放功能
有了以上的经验,你可能会问,既然使用这么简单,那不是就不用再设计一个系统来控制了吗? 事实并非如此,因为这样你就不知道下一首歌曲会是什么,除非你把所有歌曲都看完并按顺序写下来。 另外,你只能按上或下的顺序玩,不能选择性地随意跳玩。
另外,还有一种情况是需要很多按钮,但在这种设计中,只需一个按钮就可以完成各种操作。 在进行串口测试之前,需要在电脑上提前安装串口助手软件,并配备RS232转TTL串口通讯模块,以便可以将控制指令发送到MP3模块,验证指令是否正确。以及它们的格式是否正确。 ,也为后续的节目编排提前做好了准备。
图10 串口通讯命令控制
常用的控制MP3模块的指令有:
播放:7E FF 06 0D 00 00 00 FE EE EF
暂停:7E FF 06 0E 00 00 00 FE ED EF
上一首歌曲: 7E FF 06 01 00 00 00 FE FA EF
下一首歌:7E FF 06 02 00 00 00 FE F9 EF
结束:7E FF 06 16 00 00 00 FE E5 EF
测试时,首先连接MP3模块和串口转换模块,然后按照图10设置通信参数,并打开串口。
之后,将测试命令复制到模式栏,点击“发送”按钮,将命令发送到MP3模块。 如果命令正确,MP3模块将立即响应该命令并执行。
3、功能实现
为了实现相应的功能目标,除了硬件设计之外,软件设计也是必不可少的。 为了更好的设计,我们先来了解一下整体的处理流程。
MP3点唱机的处理流程为:
选择歌曲播放方向(前2项)->选择歌曲->选择播放时的控制功能(后4项)->轮回处理
了解了处理之后,我们再来看看需要解决的任务。 主要由3部分组成:
1)显示功能设计
2)按钮功能设计
3)通讯功能设计
开发过程中,由于所使用的单片机只是一个最小系统,因此借用了另一台具有RS232串口通信功能的单片机进行开发和测试。 其用法如图11所示。
图11 外部RS232串口通讯下载程序
显示功能设计
由于OLED屏幕显示信息量的限制,在选择歌曲时,歌曲名称会随着选择而改变; 而在播放控制时,工具栏上的符号闪烁提示当前可用的功能项,处理效果如图12所示。
图12 功能项闪烁提示效果
在显示方面,涉及的功能功能包括:OLED初始化功能、清屏功能、字符显示功能、数字显示功能、汉字显示功能、菜单显示功能等。
点播过程中,主要有两类操作,即歌曲选择(可选上一首或下一首)和播放控制(暂停、退出、增大音量、减小音量)。
最初的设计中,由于只有一个小按钮,所以用长按和短按来区分选择和确认。 单片机最小系统板上有两个小按钮,所以应该是双按钮操作模式。 毕竟双按键比单按键操作起来更方便。
3、通讯功能设计
在命令控制的实现中,主要涉及串口通信初始化、命令生成和输出等功能。 测试过程中,可以通过串口助手验证相应的命令功能。