『壹』 用单片机C语言实现音乐播放器功能
先键盘扫描,找到键
然后根据按键在代码里找到对应的频率
然后把频率输出,就可以发声了。
『贰』 求基于单片机的音乐播放器设计 是要读取sd卡的语音播放器的参考资料
单片机51,AVR,STM32 ,430,推荐stm32,资料太多了,播放器用VS1003,资料也多,网络吧
『叁』 单片机做音乐播放器的毕业设计
我这有一个生日快乐的歌曲的程序,希望对你有用
#include<absacc.h>
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led RD
#define key_rec T1
sbit BUZZER=P3^;//发声音口
uchar code T0_H[16]={0xFF,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE};
uchar code T0_L[16]={0xF1,0x4,0x90,0xC,0x44,0xAC,0x9,0x34,0x82,0xC8,0x06,0x22,0x56,0x85,0x9A,0xC1};
uchar code music[32]={8,0,8,9,8,0xB,0xA,0,8,0,8,9,8,0xC,0xB,0,8,0,8,0xF,0xD,0xB,0xA,9,0xE,0,0xE,0xD,0xB,0xC,0xB,0x0};
uchar code music_L[32]={2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4,2,1,1,4,4,4,4,4};
uchar a,b;
uint second,minute;
long t0count;
void delay_music(uint v)
{
while(v!=0) v--;
}
void delay_music1(uint j)
{
while(j!=0){j--;delay_music(200);}
}
void delay_music2(uint j)
{
while(j!=0){j--;delay_music1(80);}
}
main()
{//uint i;
uchar k,n,m;
delay_music(100);
TMOD=0x11;
TH0=0xfc;
TL0=0x66;
t0count=0;
EA=1;
ET0=0;
TR0=0;
ET1=0;
TR1=0;
while(1)
{
ET1=1;
TR1=1;
for(k=0;k<32;k++)
{
n=music[k];
m=music_L[k];
a=T0_H[n];
b=T0_L[n];
delay_music2(m);
}
}
}
time0() interrupt 1 using 1
{
TH0=0xFC;
TL0=0x66;
t0count=t0count+1;
if (t0count==1000)
{
second++;
if (second==60)
{
minute++;
if (minute==60) minute=0;
second=0;}
t0count=0;
}
}
time1 () interrupt 3 using 3
{
TH1=a;
TL1=b;
BUZZER=!BUZZER;
}
『肆』 基于51单片机,制作一个音乐播放器(必须音乐悦耳),同时点阵输出汉字,点阵输出汉字类的我可以解决,
你可以试试用51单片机控制VS1003播放歌曲,如果用51单片机控制蜂鸣器的话,奏出来的音乐不是太好听。
『伍』 基于单片机的音乐播放器
播放一段音乐的:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP = P3^7;
uchar code SONG_TONE[]=
{
212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0
};
uchar code SONG_LONG[]=
{
9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0
};
void DelayMS(uint ms)
{
uchar t;
while(ms--)
{
for(t=0;t<120;t++);
}
}
void PlayMusic()
{
uint i =0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{
for(j=0;j<SONG_LONG[i]*20;j++)
{
BEEP = ~BEEP;
for(k=0;k<SONG_TONE[i]/3;k++);
}
DelayMS(10);
i++;
}
}
void main()
{
while(1)
{
PlayMusic();
DelayMS(500);
}
}
按键发音的(可选择,四个按键):
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP = P3^7;
sbit K1 = P1^4;
sbit K2 = P1^5;
sbit K3 = P1^6;
sbit K4 = P1^7;
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=0;t<120;t++);
}
}
void Play(uchar t)
{
uchar i;
for(i=0;i<100;i++)
{
BEEP = ~BEEP;
DelayMS(t);
}
BEEP = 0;
}
void main()
{
P1 = 0xff;
while(1)
{
if(K1==0) Play(1);
if(K2==0) Play(2);
if(K3==0) Play(3);
if(K4==0) Play(4);
}
}
自己综合一下就好。当然再找几首音乐。
『陆』 基于单片机的音乐播放器的设计与实现,急需。。。
我的就是这个毕业设计 ,相信我吗??
『柒』 求一篇基于51单片机音乐播放器的课程设计
看看我这的这个单片机音乐播放器行不行,Q我吧
『捌』 基于51单片机的音乐播放器
单片机的速度要跟上数据放出的速度,不然就无法达到相应的播放速率,也就无法机一部提高播放质量,如果要能播放出高质量的wav,需要用到高速的MCU