【单片机开发】基于stm32的掌上游戏机设计(MP3音乐播放器)

项目相关链接:
1.STM32掌机:音乐播放器
2.STM32掌机:贪吃蛇
3.STM32掌机:俄罗斯方块

(一)效果展示

通过stm32 实现了MP3功能,需要写单线串口,之前已经给出

在这里插入图片描述

(二)软件设计


/**********************************************************************************
该函数用于MP3任务的实现
时间:2019/5/15
作者:杨越
***************************************************************************/
void music1(void)
{
	
		SendData(0x0a);
		SendData(0x01);
		SendData(0x0b);

}


void music2(void)
{
	
		SendData(0x0a);
		SendData(0x02);
		SendData(0x0b);
}

void music3(void)
{
	
		SendData(0x0a);
		SendData(0x03);
		SendData(0x0b);

}

void music4(void)
{
	
		SendData(0x0a);
		SendData(0x04);
		SendData(0x0b);
}

void music5(void)
{
	
		SendData(0x0a);
		SendData(0x05);
		SendData(0x0b);
}

void music6(void)
{
	
		SendData(0x0a);
		SendData(0x06);
		SendData(0x0b);
	    delay_ms(1000);
}


void soundoff(void)
{
	
		SendData(0x0a);
		SendData(0x00);
	    SendData(0x00);
		SendData(0x0c);
}

void soundloud(void)
{
	
		SendData(0x0a);
		SendData(0x03);
	    SendData(0x00);
		SendData(0x0c);
}


void sounddown(void)
{
	
		SendData(0x0a);
		SendData(0x01);
	    SendData(0x00);
		SendData(0x0c);
}

void soundup(void)
{
	
		SendData(0x0a);
		SendData(0x02);
	    SendData(0x00);
		SendData(0x0c);
}


void MUSIC_TASK(void)
{
    u8 keystore;//定义一个数用于存放键值
	u8 flag=0;//用于判断MP3当前状态
	while(1)
	{
	if(flag==0)
	{
	LCD_Clear(YELLOW);
	Gui_StrCenter(0, 0,BLUE, WHITE, "欢迎使用",16,0);
	Gui_StrCenter(0, 16,BLUE, WHITE, "音乐播放功能",16,0);
    Gui_StrCenter(0, 32,BLUE, WHITE, "请选择曲目",16,0);
	}
	else
	{
		LCD_Clear(GREEN);
		Gui_StrCenter(0, 32,BLUE, WHITE, "请欣赏音乐",16,0);
	}

	keystore=KEY_Scan();
	switch(keystore)
		{
	  case 1: music1();break;
	  case 2: music2();break;
	  case 3: music3();break;
	  case 4: music4();break;	  
	  case 5: music5();break;
	  case 6: music6();break;
      case 7: sounddown();break;
	  case 8: soundup();break;
	  case 9: soundoff();break;
	  case 10: soundloud();break;
	  
	  default : printf("瞎搞");break;
        }	
		flag=1;
	
 
	
    }

}


  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与光同程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值