A. 基於單片機的音樂播放器中樂曲切換怎麼實現
不建議用中斷I/O的方式來做按鍵掃描,因為消振不好處理。按鍵你接普通的IO就行,專用定時中斷屬的方式掃描處理,多次判斷就可以自動消振了。
主程序播放音樂的子程序里要掃描按鍵標志,當檢測到按鍵時強制退出本首歌的播放。
B. 基於單片機的音樂播放器
播放一段音樂的:
#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);
}
}
自己綜合一下就好。當然再找幾首音樂。
C. 單片機設計音樂播放器 LED顯示 按鍵選擇歌曲
我的博客上有幾個音樂的程序,沒有顯示,你要自己加。
D. 求一個單片機音樂播放器的電路,電路要4個鍵,上一曲,下一曲,停止,播放/暫停。。
單片機播放來mp3是肯定不行的,因為單片自機的速度根本處理不了MP3的解碼操作,需要專用解碼器或者DSP,單片機只能在其中起到一個控制解碼器解碼的作用,另外MP3文件都比較大,肯定需要U盤或者SD卡,這還需要在單片機中嵌入FAT32文件系統,否則沒法得到MP3數據。
大概過程是單片機從SD卡等存數設備中讀取數據然後送解碼晶元並控制其進行解碼,得到的數據送D/A轉換並進行功率放大,最後才能聽到音樂。總之這是個很復雜的電路,涉及到很多東西。不是一兩句能說清楚的,你最好去網上找找相關的資料,祝你成功~
E. 單片機中如何利用按鍵控制音樂的切換播放
給每首音樂編號,按鍵就可以分別控制了。
F. (應該是用單片機做的)音樂播放器:要求:有五首歌、有選擇鍵(可以選擇某歌)和確定鍵(來確定選擇好...
讓我來看看
你說的是播放控制midi吧,
不是mp3吧
G. 在單片機匯編語言里,我用一個按鍵控制蜂鳴器控制播放音樂,請問,我該如何在用這個按鍵控制關斷
這個很容易的,一般而言,播放音樂都是通過定時器來控制旋律或節拍的,你只要根據按鍵狀態根據設計要求,改變TR0或TR1的值就可以關斷或開啟了。
H. 用單片機C語言實現音樂播放器功能
先鍵盤掃描,找到鍵
然後根據按鍵在代碼里找到對應的頻率
然後把頻率輸出,就可以發聲了。
I. 大神們,請問怎麼用51單片機實現音樂播放器的上一曲下一曲功能
只處理上一曲和下一曲這個很簡單,無非就是根據按鍵確定播放哪首歌曲。如果你有播放的程序,我可以給你修改一下,全做很費時間。