用51单片机演奏音乐.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用51单片机演奏音乐 用51单片机演奏音乐 PAGE 用51单片机演奏音乐 单片机演奏音乐 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把五线谱中央C 上方的A 音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1 高一个倍频程, 在音乐中1与 .1(1前面的点应在1的上面),2与 .2……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i 八音区为例, 12 个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5 一#5、#5—6、6—#6、#6—7、7—i。其中“#”表示半音,用于升高或降低半个音。这12 个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,常采用的方法就是通过一个延时程序,延时对应频率周期的二分之一周期(即t=1/2f)后,将单片机上连接蜂鸣器的I/O ()口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将不同的延时时间值t赋给延时程序即可实现。例:我门以440Hz的声音频率来计算,其对应的时间 t=1/2f=1/2*440=1136us 但在实际程序中常采用查表的方式来取的t值,而为了节约存储器空间则将t值以字节来进行存储,由于大部分t值都大于256。所以,需将t值除以一个常数(t/x)使其小于256。那么,在查表取得t 值后就要再乘上该常数后再赋给延时程序。 以下为常用音符对应的频率和二分之一周期值t : 低音音符 频率Hz 周期/2 周期/2/20 中音音符 频率Hz 周期/2 周期/2/20 1 262 1908 0x5f 1 523 956 0x2f 1# 277 1804 0x5a 1# 553 904 0x2d 2 293 1706 0x55 2 586 854 0x2a 2# 311 1608 0x50 2# 621 806 0x28 3 329 1520 0x4c 3 658 760 0x26 4 349 1436 0x47 4 697 718 0x24 4# 370 1352 0x43 4# 739 676 0x22 5 392 1276 0x3f 5 783 638 0x20 5# 415 1204 0x3c 5# 830 602 0x1e 6 440 1136 0x38 6 879 568 0x1c 6# 466 1072 0x35 6# 931 536 0x1b 7 494 1012 0x32 7 987 506 0x19 高音音符 频率Hz 周期/2 周期/2/20         1 1045 478 0x17 注:在音符的底部加一点表示低音,在音符的顶部加一点表示高音。表中的20为方便查表而除以的一个常数。 1# 1106 452 0x16 2 1171 426 0x15 2# 1241 402 0x14 3 1316 380 0x13 4 1393 358 0x12 4# 1476 340 0x11 5 1563 320 0x10 5# 1658 302 0x0f 6 1755 284 0x0e 6# 1860 268 0x0d 7 1971 254 0x0c 一首乐曲的每一个音符除了频率之外,还会有不同的节拍,确定节拍的方法有以下几种: 在一张乐谱中,我们经常会看到这样的表达式, 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联,就是用来表示节拍的。以为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如: 其中1 、2 为一拍,3、4、5 为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5 的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。 那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms 为例,则当以四分音符为一节拍时,四分音符的时长就为400ms,八分音符(即1/2拍)的时长就为200ms,十六分音符(1/4拍)的时长就为100ms。 若知道了一首歌曲的每分钟的节拍数,也可求出每一节拍的时间。以每分钟94拍为例: 一拍的时间=60/

文档评论(0)

137****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档