用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。
1.音名
从常见的电子琴的键盘谈起。
在下表中,可以看到一列黑白相间的琴键(示意)。主要分成低音、中音和高音三个区域,每个区域都有12个琴键。其中的白键,简谱音符标为1、2、3、4、5、6、7,大家一般都读成哆、来、咪、发、嗦、拉、西。
2.频率
注意看一下几个6(拉)的频率,它们是整数,容易看出规律――是成2倍的关系。其它的音符,也有同样的规律。这些频率,如220、440等,它们在琴键上的位置是世界统一的,无论是钢琴、手风琴,还是电子琴,都是一样的。
包括黑键和白键在内的全部音符的频率数值,是成“等比数列”的关系,它们之间有个公比,可以按照“2倍”的规律推算出来。
已知最低音的6(拉)的频率是220,设公比为q,那么:7的频率就是220*q*q 。
乘了两个q,是因为6、7之间隔了个黑键。以此类推,两个6之间,共有12个琴键,所以:
低音区的6(拉)的频率就是:220*q*q*q*q*q*q*q*q*q*q*q*q = 440。
马上就可以看出,12个q相乘,等于: 440 / 220 = 2。
那么就可以求出公比:q = 2的12次方根 = 1.059463094。
用这个公比,和已知的220进行计算,可以得出全部琴键所对应的频率,如下表中所示。
3.定时初值
频率的倒数是周期,用单片机输出方波,应该在半个周期的时刻,将输出取反。
设单片机的晶振为12MHz,那么定时器将在1us进行一次加一,加到65536就会出现中断。据此,就可计算出定时器定时半个周期所需的初值,如下表中所示。
4.音调数据表
单片机发出不同频率的方波,人听起来,就是不同的音调。
上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大部分的应用需求。把下面这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声音。
定义音调数据表的程序如下:
DW 63625, 63833, 64019, 64104, 64260, 64400, 64524 ;低音区:1 2 3 4 5 6 7
DW 64580, 64685, 64778, 64820, 64898, 64968, 65030 ;中音区:1 2 3 4 5 6 7
DW 65058, 65110, 65157, 65178, 65217, 65252, 65283 ;高音区:1 2 3 4 5 6 7
DW 65297 ;超高音:1
单片机播放音乐解析
- 单片机(619327)
- 音乐播放(10382)
相关推荐
51单片机播放音乐程序
`51单片机播放音乐程序,这是用程序来实现播放《世上只有妈妈好》,代码和原理图都有,可以参考一下。如果积分不够,可以到某宝搜索 51/AVR单片机最小系统板,找到下图那个进入有链接下载。希望对大家有用,同时非常渴望能提一些宝贵意见给我。谢谢支持。`
2017-09-23 14:12:43
单片机播放音乐
嗯。小女子在做一个升降旗系统的毕设,然后有个音乐播放模块要求实现不妨至少3首不同且完整的歌有什么好的方法么?求电路图和源程序以下是邮箱:382723900@qq.com
2012-11-26 11:01:23
单片机播放音乐的秘密
本帖最后由 eehome 于 2013-1-5 10:02 编辑
用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系
2012-03-29 17:08:36
播放音乐蜂鸣器提示音相关资料分享
蜂鸣器提示音 播放音乐蜂鸣器提示音播放音乐蜂鸣器提示音Buzzer.c#include//蜂鸣器端口***it Buzzer=P0^6;/***@brief 蜂鸣器的私有延迟函数 100us一个周期
2022-01-19 07:30:28
Arduino按键控制MP3模块随机播放音乐的方法
设计者:STCode (公众号同名)1)功能描述这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的。2
2022-02-15 07:34:42
DAQmx播放音乐信号如何设置播放进度
用DAQmx播放音乐信号时,如何随意设置播放进度,不知道如何中断正在进行的DAQ任务,然后设置音乐进度后,又该如何开始DAQ任务,求大神指教!
2015-10-12 19:42:57
DAQmx播放音乐信号如何设置播放进度
用DAQmx播放音乐信号时,如何随意设置播放进度,不知道如何中断正在进行的DAQ任务,然后设置音乐进度后,又该如何开始DAQ任务,求大神指教!
2015-10-14 19:44:00
STM32控制蜂鸣器播放音乐的原理是什么?
STM32控制蜂鸣器播放音乐的原理是什么?如何使用通用定时器TIM4实现无中断的微秒级延时函数?如何使用系统滴答时钟Systick实现带有中断的输出控制?
2021-11-16 07:23:58
fpga播放音乐断断续续
我想问一下,如果用fpga板外接扬声器,播放音乐,播放的声音断断续续,突然播放了一段然后又没声了又突然播放一段,这种情况怎么解决?是什么原因呢
2020-06-26 17:42:03
imx6ul evk播放音乐有噪音怎么解决?
我使用 imx6ul evk 和 yocto,
当我像这样播放音乐时
# gst-play xxx.mp3
而且听起来有噪音。
怎么解决??
2023-04-23 07:25:20
了解蜂鸣器可以播放音乐的原理
一.音乐播放原理蜂鸣器分为有源和无源,经测试均可正常播放音乐。(网上有些回答说有源不可播放)首先需要了解蜂鸣器可以播放音乐的原理。音乐中不同的音调实际上是发声体震动的速度(即频率)不同。所以要让蜂鸣
2021-11-22 07:17:46
关于用51单片机播放音乐的问题!!!急~~~~
在做一个电子万年历,想播放一段音乐当做闹铃铃声,但播放音乐的时候,lcd显示屏上的时间(秒钟)就不动了(但实际上时间是在走动的),音乐停后才能正常显示走动。例如我设置闹钟为9:30,设置为响1分钟
2014-04-01 13:11:37
基于单片机mp3音乐播放器设计资料分享
并可自行完成音频解码数据处理,最后送扬声器或耳机进行播放。通过自定义键盘设定,当有键按下时,能控制歌曲的播放或音量,并通过LCD来显示播放音乐的时间等。主要由51单片机+MP3播放模块(自带3W功放)+3W音乐喇叭+U盘插口+SD卡+耳机接口+按键+液晶显示屏;如图:二.设计功能(1)读取U盘或SD卡
2022-02-07 06:34:02
想通过过DA转换,用单片机播放音乐,可是音质很差,有什么可以改进的方法吗?
想通过过DA转换,用单片机播放音乐,可是音质很差,有什么可以改进的方法吗?请尽量描述的详细一点,谢谢
2017-04-04 10:59:47
求助,用蜂鸣器播放音乐的时候如何同时播放两段音乐?
我用 PWM 控制的音乐播放,可以按照乐谱播放音符但现在有个需求,是在播放背景音乐的时候同时叠加一个前景音乐进去?各位有什么好的思路吗?
2023-02-13 08:56:49
求助,用蜂鸣器播放音乐的时候如何同时播放两段音乐?
我用 PWM 控制的音乐播放,可以按照乐谱播放音符但现在有个需求,是在播放背景音乐的时候同时叠加一个前景音乐进去?各位有什么好的思路吗?
2023-03-06 07:44:32
用UCOS实现一边播放音乐一边触摸,为什么会有卡顿的现象
用UCOS实现一边播放音乐一边触摸,为什莫播放音乐会有卡顿的现象? 图片中任务一是触摸屏,任务二是播放音乐。
2020-05-20 09:57:36
用stc52单片机做的利用蜂鸣播放音乐资源占用大吗?
用stc52单片机做的利用蜂鸣器播放音乐,很耗单片机资源吗?为什么放我在播放的时候,单片机好像反应不过来了,我做用ds18b20检测温度报警,已经实现了,但我觉得蜂鸣太单调,我就想播放音乐来好听点
2016-10-14 22:34:37
请教高手:如何实现编程播放音乐?
老请高手:如何实现编程播放音乐?比如我们用51单片机可以作蜂鸣器发声实验,我想怎么能让他播放音乐?比如有些礼盒打开就播放音乐,不知道那个是怎么实现控制的?!谢谢!
2012-07-18 10:44:18
请问是什么原因导致unity 3d播放音乐失败了呢
我们用的是3288 5.1 reload版本,在耳机孔插入耳机或其它外接的音箱。开发板玩游戏或者播放其它音视频都可以正常播放声音,硬件是没有问题的。但是unity 3d播放音乐失败了,我们使用测试
2022-07-01 09:32:35
那种手摸上去就有电流产生从而播放音乐的玩具原理是什么?
`那种手摸上去就有电流产生从而播放音乐的玩具原理是什么呀?给小孩修玩具,实在不知道哪里坏了,打开开关就反复播放音乐的开头,不需要触摸了`
2016-09-08 09:15:50
用PIC单片机实现音乐播放的实例程序
PIC单片机实现音乐播放的实例程序********************************* PIC单片机实现音乐播放 *********************************
2009-01-16 11:33:112192
使用51单片机进行播放音乐蜂鸣器的详细资料合集免费下载
本文档的主要内容详细介绍的是使用51单片机进行播放音乐蜂鸣器的详细资料合集免费下载内容包括了:1.原理,2.蜂鸣器,3.乐谱转成循环次数,4.单片机,5.代码仿真电路图
2019-06-14 17:44:0014
基于单片机的音乐播放器的设计
设计简介:本设计是基于单片机的音乐播放器,主要实现以下功能:可实现LCD12864显示歌曲的名字和时间以及歌曲序号; 可实现通过语音模块控制歌曲的播放以及声音的大小; 可实现通过按键控制音乐的播放
2021-11-12 16:51:0041
单片机应用系统设计技术——播放音乐
播放音乐一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的1.用面包板焊-块PIC单片机最小系统,包括晶振,复位电路,按钮,LED灯。2.自主添加新模块。3.
2021-11-16 16:36:021
基于51单片机的音乐播放器
基于51单片机的音乐播放器音乐播放器摘要1、引言2、总体设计方案2.1、设计思路2.2、方案确立2.3、设计原理分析2.4、音乐播放器控制电路设计三、程序代码摘要本次设计的题目是基于STC89C52
2021-11-21 11:21:03111
51单片机(二十七)—— 蜂鸣器播放音乐
1、实验原理介绍 蜂鸣器是电路中经常使用的发声器件,我们一般使用蜂鸣器发出“嘀嘀”的声音,用它作为提示音。有没有想过用蜂鸣器还可以播放音乐呢? 本文使用蜂鸣器来播放音乐。为了深入
2021-11-22 17:21:0712
红外无线控制单片机播放图片与音乐
红外无线控制单片机播放图片与音乐通过无线红外模块来控制51单片机来实现图片、音乐自由切换。系统概要图:音乐播放程序:音乐播放流程图如3-2-1所示分析音乐播放的过程,其为不同频率声音的组合,当一组
2021-11-23 16:22:4913
51单片机实验-蜂鸣器播放音乐
51单片机实验-蜂鸣器播放音乐题目:编程实现利用单片机使蜂鸣器播放“茉莉花”的乐曲。学校单片机时写的,利用单片机控制蜂鸣器播放乐曲,开发板上的蜂鸣器可以用三极管驱动,需要根据乐谱来设置当前节拍的发声
2021-11-23 16:23:0940
基于单片机mp3音乐播放器设计
并可自行完成音频解码数据处理,最后送扬声器或耳机进行播放。通过自定义键盘设定,当有键按下时,能控制歌曲的播放或音量,并通过LCD来显示播放音乐的时间等。主要由51单片机+MP3播放模块(自带3W功放)+3W音乐喇叭+U盘插口+SD卡+耳机接口
2021-12-04 10:36:1349
Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)
设计者:STCode (公众号同名)1)功能描述这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的
2021-12-16 16:53:3616
基于51单片机的播放音乐实验设计资料源程序文件
基于51单片机的播放音乐实验设计资料源程序文件
经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这
样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较
2023-04-27 15:06:251
基于51单片机的单片机播放音乐实验设计资料源程序
经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这
样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴
趣而又不知其解的朋友能有所启迪。
一般说来
2023-04-26 15:38:170
评论
查看更多