『壹』 單片機音樂播放器的設計。
用單片機的adc功能,可以實現
『貳』 誰能給我介紹下 單片機音樂播放器 是怎麼實現 播放音樂 功能的 其原理 重謝
單片機實現音樂播放,常見的有以下方式:
1. 利用定時器或PWM功能,輸出PWM,經一級有源濾波後放大驅動揚聲器。由於單片機的資源有限,這種方式一般只能實現類MIDI的效果;輸出語音則受制於片內ROM/Flash的容量,需要外擴存儲器,這樣成本就不太合適了。
2. 單片機僅僅作為控制/顯示功能,控制語音錄放晶元或MP3編解碼晶元(例如VS100x系列)之類。
『叄』 基於51單片機,製作一個音樂播放器(必須音樂悅耳),同時點陣輸出漢字,點陣輸出漢字類的我可以解決,
你可以試試用51單片機控制VS1003播放歌曲,如果用51單片機控制蜂鳴器的話,奏出來的音樂不是太好聽。
『肆』 基於單片機的音樂播放器中樂曲切換怎麼實現
不建議用中斷I/O的方式來做按鍵掃描,因為消振不好處理。按鍵你接普通的IO就行,專用定時中斷屬的方式掃描處理,多次判斷就可以自動消振了。
主程序播放音樂的子程序里要掃描按鍵標志,當檢測到按鍵時強制退出本首歌的播放。
『伍』 利用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單片機的音樂播放器
單片機的速度要跟上數據放出的速度,不然就無法達到相應的播放速率,也就無法機一部提高播放質量,如果要能播放出高質量的wav,需要用到高速的MCU