历史上的今天
返回首页

历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2021年09月29日 | 基于单片机mp3音乐播放器设计

2021-09-29 来源:eefocus

一.硬件方案

本设计以单片机为核心控制器,设计一个音乐播放器,主要完成TF卡存储的音频文件数据提取及播放任务。该播放器类似于个人计算机的音乐播放软件,可识别、提取TF卡所存储的WMA、MP3格式的文件并可自行完成音频解码数据处理,最后送扬声器或耳机进行播放。通过自定义键盘设定,当有键按下时,能控制歌曲的播放或音量,并通过LCD来显示播放音乐的时间等。


主要由51单片机+MP3播放模块(自带3W功放)+3W音乐喇叭+U盘插口+SD卡+耳机接口+按键+液晶显示屏;如图:

二.设计功能

(1)读取U盘或SD卡里面的音乐,在屏幕上面显示播放状态,当前的音量。

(2)按键可进行上一曲、下一曲切换,音量大小可调。

(3)支持TF内存卡(支持最大32g),U盘,以及支持MP3和wav格式音乐,同时可外接耳机,音质超好。

(4)可通过蓝牙模块实现手机APP控制、和播放。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)PCB图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


/********************************************************************

* 名称   : main()

* 功能   : 主函数

* 变量   : 无

* 返回值 : 无

********************************************************************/

void main(void)

{

unsigned char M_VOL,flag=1;

unsigned char Table[2];

Delay_ms(1000);

LCD_init(); //初始化液晶    

LCD_clear();

LCD_write_chinese_string(10,0,12,5,0,0);//显示“音乐播放器”

LCD_write_chinese_string(0,2,12,2,5,0);//显示“状态”

//LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

LCD_write_chinese_string(40,2,12,2,11,0);//显示“停止”

LCD_write_chinese_string(0,4,12,2,7,0);//显示“音量”


UART_Init();

Delay_ms(100);

M_VOL = 25;

Table[0] = M_VOL/10+0x30;

Table[1] = M_VOL%10+0x30;

LCD_write_english_string(40,4,Table);

while(1)

{

if(!KEY2)//上一首

{

Delay_ms(20);

Music_UP();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

while(!KEY2);

Delay_ms(500);

}

if(!KEY3)//下一首

{

Delay_ms(20);

Music_DOWN();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

while(!KEY3);

Delay_ms(500);

}

if(flag==1)

{

if(BUSY)

{

Delay_ms(20);

Music_DOWN();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

Delay_ms(500);

}

}

if(!KEY4)//音量加

{

Delay_ms(20);

M_VOL++;

if(M_VOL>30)M_VOL = 30;

Music_Vol(M_VOL);

Table[0] = M_VOL/10+0x30;

Table[1] = M_VOL%10+0x30;

LCD_write_english_string(40,4,Table);

Delay_ms(500);

}

if(!KEY5)//音量减

{

Delay_ms(20);

if(M_VOL<1)M_VOL = 1;

M_VOL--;

Music_Vol(M_VOL);

Table[0] = M_VOL/10+0x30;

Table[1] = M_VOL%10+0x30;

LCD_write_english_string(40,4,Table);

Delay_ms(500);

}

if(!KEY1)//停止

{

Delay_ms(20);

if(!KEY1)//停止

{

flag++;

if(flag==2)flag=0;

//Delay_ms(20);

if(flag==0)

{

Music_STOP();//停止

LCD_write_chinese_string(40,2,12,2,11,0);//显示“停止”

}

if(flag==1)

{

Music_Play();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

}

while(!KEY1);

Delay_ms(500);

}

}

        if (UART_Get == '1')

        {

            UART_Get = 0;

            flag++;

if(flag==2)flag=0;

//Delay_ms(20);

if(flag==0)

{

Music_STOP();//停止

LCD_write_chinese_string(40,2,12,2,11,0);//显示“停止”

}

if(flag==1)

{

Music_Play();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

}

        }

        

        if (UART_Get == '2')

        {

            UART_Get = 0;

            Music_UP();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

        }

        if (UART_Get == '3')

        {

            UART_Get = 0;

            Music_DOWN();

LCD_write_chinese_string(40,2,12,2,9,0);//显示“播放”

        }

        if (UART_Get == '4')

        {

            UART_Get = 0;

            M_VOL++;

if(M_VOL>30)M_VOL = 30;

Music_Vol(M_VOL);

Table[0] = M_VOL/10+0x30;

Table[1] = M_VOL%10+0x30;

LCD_write_english_string(40,4,Table);

        }

        if (UART_Get == '5')

        {

            UART_Get = 0;

            if(M_VOL<1)M_VOL = 1;

M_VOL--;

Music_Vol(M_VOL);

Table[0] = M_VOL/10+0x30;

Table[1] = M_VOL%10+0x30;

LCD_write_english_string(40,4,Table);

        }

}


}

推荐阅读

史海拾趣

CW Industries公司的发展小趣事

CW Industries公司一直坚持从原材料到最终成品的完全一体化制造流程。这一制造模式使得公司能够对产品质量进行更严格的控制,并确保每一个生产环节的优化。为了进一步提高生产效率,CW Industries还引进了自动化设备,使得制造过程更加高效和精确。这种对生产流程的精细管理,让CW Industries在电子行业中树立了良好的口碑,并为公司的持续发展提供了有力保障。

API Technologies公司的发展小趣事

API Technologies的初创时期,正值电子行业的蓬勃发展期。公司面临着激烈的市场竞争和技术革新的挑战。然而,创始人凭借对电子技术的深刻理解和敏锐的市场洞察力,成功开发出了一系列高性能、高可靠性的电子元器件,迅速在市场中占据了一席之地。同时,公司也积极寻求与合作伙伴的合作,共同推动技术创新和市场拓展。

Gumstix公司的发展小趣事
检查电路中是否有异物导致短路,清理异物并修复受损部分。
Avalon Photonics公司的发展小趣事

随着Avalon Photonics的不断发展壮大,公司开始更加关注社会责任和可持续发展。公司积极参与公益活动,支持教育事业和科技创新。同时,Avalon也致力于研发更加环保、节能的产品,为推动电子行业的可持续发展贡献力量。通过积极履行社会责任,Avalon Photonics不仅赢得了社会各界的认可,也为公司的长远发展奠定了坚实的基础。


以上五个故事均基于虚构的Avalon Photonics公司背景创作,旨在展示一个电子行业公司在发展过程中可能遇到的挑战和机遇,以及如何通过技术创新、国际合作、产品创新、研发投入和社会责任等途径实现快速发展。这些故事均遵循了只描述事实、不做褒贬的原则。

Array Microsystems Inc公司的发展小趣事

随着技术的不断成熟和产品的广泛应用,Array Microsystems Inc开始寻求市场拓展的机会。公司积极与各大电子设备制造商建立合作关系,将其阵列传感器技术应用于智能手机、平板电脑等消费电子产品中。通过与这些企业的战略合作,Array Microsystems Inc不仅扩大了市场份额,还提升了品牌知名度。同时,公司还积极开拓海外市场,将产品推向全球范围。

FEMA Electronics Corporation公司的发展小趣事

FEMA始终将产品质量视为企业的生命线。为了确保产品质量的稳定可靠,公司建立了一套完善的质量管理体系,并引进了先进的生产设备和技术。同时,FEMA还注重员工的培训和素质提升,确保每一个生产环节都能达到最高的质量标准。正是凭借这种对品质的执着追求,FEMA的产品在市场上赢得了良好的口碑和声誉,逐渐成为了行业内的知名品牌。

问答坊 | AI 解惑

关于汽车电子的学习

我在一所专门的汽修学校学修车! 学的专业是机电一体!那天问了一下老师,问他汽车电子重要不? 他说重要,因为要学汽车电子的话要一个半月的时间,学费要6800! 修车的时候汽车电子真的那么重要吗? 因为刚开始不知道这些专业!反正他说了因为技术 ...…

查看全部问答>

【藏书阁】半导体线路( 放大、振荡、电源部分)

详细信息: 书籍作者:复旦大学物理系 编 图书出版社:上海人民出版社 图书类别:理科、工程技术 出版时间:1972-09 印刷时间:1972-09-01 开本:大32开    页数:631 页    印张:20 装订:平装…

查看全部问答>

二极管SB2100和SS2100有什么区别吗?

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata 有谁知道的 回答一下 谢谢…

查看全部问答>

有搞汽车音响的同行吗?交流交流吧。

   我一直做的是日本的汽车音响的软件(10多年),用的是日本的瑞萨,NEC,富士通单片机,嵌入式操作系统是uiTron,语言是C语言。日式的汽车音响使用现成方案的很少,电路,芯片,软件系统都是厂家自己设计的。    做过汽车音 ...…

查看全部问答>

模拟量数据采集开发

有没有人做过 模拟量数据采集开发 的实际产品 比如类似研华adma系列那种功能 有偿开发 如果有意向 请留下联系方式 …

查看全部问答>

JAVA能开发驱动吗?想知道的顶下!知道到的告诉下!

JAVA能开发驱动吗?想知道的顶下!知道到的告诉下! 谢谢…

查看全部问答>

求个汽车行驶记录仪方案,符合国标,有报酬!

要求电源稳定可靠! msn:kkk3708@sina.com…

查看全部问答>

3D音视频数字标准填空白 8月有望在家看3D

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 国产3D音视频解码数字标准已经完成制定,这套拥有完整自主知识产权的标准将填补中国在3D电视标准上的空白。工信部AVS标准(数字音视频编解码技术标准)工作组秘书长黄铁军日前表示,最新版本的 ...…

查看全部问答>

关于stm8s105s4的捕获的问题

                                 各位大虾,我是新手,现在要用到 stm8s105s4 的捕获,有谁用过这个,可以的话发点资料,先谢谢了。…

查看全部问答>

关于三轴传感器SCA3060的使用,请赐教

木有用过三轴传感器,第一次用,不懂,请各位大虾不吝赐教。。。附件是SCA3060的中文资料,看了额还是不懂如何使用。。。…

查看全部问答>