基于单片机的音乐播放器中乐曲切换怎么实现

作者&投稿:潘富 (若有异议请与网页底部的电邮联系)
基于单片机的音乐播放器~

播放一段音乐的:
#include
#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
#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);
}
}
自己综合一下就好。当然再找几首音乐。

只处理上一曲和下一曲这个很简单,无非就是根据按键确定播放哪首歌曲。如果你有播放的程序,我可以给你修改一下,全做很费时间。

不建议用中断I/O的方式来做按键扫描,因为消振不好处理。按键你接普通的IO就行,用定时中断的方式扫描处理,多次判断就可以自动消振了。
主程序播放音乐的子程序里要扫描按键标志,当检测到按键时强制退出本首歌的播放。


求单片机播放音乐汇编程序
启动计数MUSIC2:NOPCPL P2.5 ;P2.5是音乐输出引脚MOV A,R6MOV R3,A ;R3=R6=18HLCALL DELMOV A,R7CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?;不等,则继续循环MOV 20H,#00H ;等于,则取下一代码INC DPTRLJMP MUSIC1MUSIC3:NOP ;休止100毫秒CLR TR0MOV R2,#0DH ;R2=13MUSIC4:...

单片机播放音乐的原理
单片机演奏音乐基本是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音,但一定要弄清楚两个概念即可,也就是“音调”和“节拍” 。音调 表示一个音符唱多高的频率。节拍 表示一个音符唱多长的时间 1.要生产音频脉冲,只要算出某一音频的周期(1\/频率),然后...

单片机设计音乐播放器程序和仿真图(用汇编语言)?急求~谢谢!!!_百度知 ...
题目8音乐播放器设计(一)任务以单片机为核心设计音乐播放器。(二)要求1.基本要求(1)能播放至少5首歌曲,并用单个数码管显示歌曲序号。(2)设计电路(3)在KEIL中编辑、编译、... 题目8 音乐播放器设计(一)任务以单片机为核心设计音乐播放器。(二)要求1.基本要求(1)能播放至少5首歌曲,并用单个数码管显示歌曲序号...

用51单片机实现音乐播放的原理是什么
需要写一段程序。如果是简单的音乐,编乐谱推蜂鸣器就可以;如果是mp3\/wav之类的音乐,需要芯片自带解码模块,或者使用外部解码芯片,还需要dac将声音推出来。声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上...

基于单片机AT89S52.编写一段程序,要求播放一段音乐,歌曲名《铃儿响叮 ...
原理,要根据乐谱不同的定时器初值装入,定时时间到,扬声器管脚翻转,我有一程序,你只需将乐谱按规定转化为MUSIC[]代码即可 \/\/主程序查音符码,将不同的初值装入定时器,定时器每中断一次,P3.7取反一次,形成不同频率的方波 \/\/11代表低音哆 21代表高音哆 1代表中音哆 include<reg52.h> sbit ...

基于单片机的音乐播放器中乐曲切换怎么实现
不建议用中断I\/O的方式来做按键扫描,因为消振不好处理。按键你接普通的IO就行,用定时中断的方式扫描处理,多次判断就可以自动消振了。主程序播放音乐的子程序里要扫描按键标志,当检测到按键时强制退出本首歌的播放。

单片机 音乐播放器+亮灯
\/\/2007-5-22 作者:徐学军 \/\/此程序在硬件上调试通过 \/\/本程序的单片机晶振采用11.0592MHZ \/\/此程序的流水灯随音乐的节拍的快慢而动 \/\/程序对应的单片机的完整的电路图已经插在了程序中,可以单击放大查看 include <reg51.h> sbit speaker=P2^0; \/\/接音频放大电路,\/\/sbit speaker=...

求单片机 音乐播放的c代码
功能:歌曲播放子程序i为播放哪一段曲目 ---*\/ void Play_Song(unsigned char i){ unsigned char Temp1,Temp2;unsigned int Addr;Count = 0; \/\/中断计数器清0 Addr = i * 217;while(1){ Temp1 = SONG[Addr++];if ( Temp1 == 0xFF ) \/\/休止符 { TR0 = 0;Delay_xMs(100);...

51单片机做音乐播放的问题
“开始”、“暂停”、“重复”、“单次”四种播放方式 开始,就不同说了 暂停,计时器中断 重复,中断服务程序return 单次,音乐代码执行完定时器关闭TR=0

你好,能不能教我关于单片机放音乐的一些问题呀,比如音乐的数据表,频率...
一首音乐是许多不同的音符组成的,而每个音符对应着不同的频率,这样我们利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来说,产生不同的频率非常方便。我们可以利用单片机的定时器\/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系设置正确即可。若要产生音频...

和龙市13214688337: 基于单片机的音乐播放器中乐曲切换怎么实现 -
大逸咪康: 不建议用中断I/O的方式来做按键扫描,因为消振不好处理.按键你接普通的IO就行,用定时中断的方式扫描处理,多次判断就可以自动消振了. 主程序播放音乐的子程序里要扫描按键标志,当检测到按键时强制退出本首歌的播放.

和龙市13214688337: 51单片机音乐播放器c程序 -
大逸咪康: 先将乐曲做一次AD转换,转成一个数组,然后将数组写进C程序中,烧入单片机,播放的时候在做一次DA转换,将转换后的信号进行功放再通过喇叭就能播放了.

和龙市13214688337: 求视频:我想做个基于51的音乐播放器,怎样实现音乐存储和调用功能 -
大逸咪康: 这个51音乐播放器很少有视频教程!1、一般采取的手段是读取内存卡里面的音乐数据,通过总线协议,读入到单片机的内存中处理,所以一般进行的是读操作,读内存卡哪个段的内容进行指令切换2、调用就谈不上了,单片机只是不停读数据,它实际是没有办法存储太多的数据的,存储也谈不上,音乐都是事先放到内存卡里面,单片机一共才几百B的内存,运算数据就够了,即使是里面的flash连半首歌都放不了!、 希望可以帮到你,如果满意请采纳!

和龙市13214688337: 求一个单片机音乐播放器的电路,电路要4个键,上一曲,下一曲,停止,播放/暂停.. -
大逸咪康: 单片机播放MP3是肯定不行的,因为单片机的速度根本处理不了MP3的解码操作,需要专用解码器或者DSP,单片机只能在其中起到一个控制解码器解码的作用,另外MP3文件都比较大,肯定需要U盘或者SD卡,这还需要在单片机中嵌入FAT32文件系统,否则没法得到MP3数据.大概过程是单片机从SD卡等存数设备中读取数据然后送解码芯片并控制其进行解码,得到的数据送D/A转换并进行功率放大,最后才能听到音乐.总之这是个很复杂的电路,涉及到很多东西.不是一两句能说清楚的,你最好去网上找找相关的资料,祝你成功~

和龙市13214688337: 谁能给我介绍下 单片机音乐播放器 是怎么实现 播放音乐 功能的 其原理 重谢
大逸咪康: 单片机实现音乐播放,常见的有以下方式: 1. 利用定时器或PWM功能,输出PWM,经一级有源滤波后放大驱动扬声器.由于单片机的资源有限,这种方式一般只能实现类MIDI的效果;输出语音则受制于片内ROM/Flash的容量,需要外扩存储器,这样成本就不太合适了. 2. 单片机仅仅作为控制/显示功能,控制语音录放芯片或MP3编解码芯片(例如VS100x系列)之类.

和龙市13214688337: 单片机控制音乐播放
大逸咪康: 有两种方案 第一你可以用 AT89C51SND1C这个芯片直接制作一个MP3出来,可实现播放功能的,可以实现MP3的选歌等等的功能 第二,可以利用单片机去控制MP3的启动开关,例如低电平就为开,这样就可以了

和龙市13214688337: 89C52单片机音乐播放器 -
大逸咪康: 这是一个完整的播放一首音乐的程序,仅供参考,希望对你有帮助: SPK EQU P3.7 ; 蜂鸣器所在端口 ORG 0000H JMP START START: MOV R3,#00H NEXT: MOV A,R3 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START MOV R7,A INC R3...

和龙市13214688337: 用单片机C语言实现音乐播放器功能 -
大逸咪康: 先键盘扫描,找到键 然后根据按键在代码里找到对应的频率 然后把频率输出,就可以发声了.

和龙市13214688337: 用单片机播放音乐 -
大逸咪康: 我之前做过一个用两个红外探头,可以实现左右挥手控制MP3的上一曲,下一曲,播放,暂停功能的东西.参加电子设计大赛.校赛二等奖.想做的话可以教你.程序什么的都有,

和龙市13214688337: 单片机音乐播放器课程设计中音乐代码怎么弄 -
大逸咪康: 做成两个数组存放数据,一个控制频率,一个控制频率持续时间长短,然后主程序调用数组.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网