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单片机实现音乐播放器的上一曲下一曲功能
只处理上一曲和下一曲这个很简单,无非就是根据按键确定播放哪首歌曲。如果你有播放的程序,我可以给你修改一下,全做很费时间。