单片机音符与频率的关系

C 调各音符频率与计数值T 的对照表:

音符 频率HZ 6MHZ 十六进制值 音符 频率HZ 6MHZ 十六进制值

低1DO 262 64582 FC46 #4FA# 740 65198 FEAE #1DO# 277 64634 FC7A 中5SO 784 65217 FEC1 低2RE 294 64686 FCAE #5SO# 831 65235 FED3 #2RE# 311 64732 FCDC 中6LA 880 65252 FEE4 低3M 330 64779 FD0B #6LA# 932 65268 FEF4 低4FA #4FA# 低5SO #5SO# 低6LA #6LA# 低7SI 中1DO #1DO# 中2RE #2RE# 中3M 中4FA 利用单片机产生乐曲音符,进行信息处理1. 音频脉冲的产生音乐的产生主要是通过单片机的鸣器发音,要想产生音频脉冲信号,需要算出某一音频的周期(将此周期除以每当计时到后就将输出脉冲的口反相,这样就能在此通常,利用单片机的内部定时器来产生不同的率。例如, 349 64820 370 64860 392 64898 415 64934 440 64968 466 65000 494 65030 523 65058 554 65085 578 65103 622 65134 659 65157 698 65178 , 再通过蜂鸣器或喇叭放出音乐。

2,即为半周期的时间。I/O口上得到此频率的脉冲。

12MHz FD34 中7SI 988 65283 FD5C 高1DO 1046 65297 FD82 #DO# 1109 65311 FDA6 高2RE 1175 65323 FDC8 #2RE# 1245 65335 FDE8 高3M 1318 65346 FE06 高4FA 1397 65357 FE22 #4FA# 1480 65367 FE3D 高5SO 1568 65377 FE4F #5S0# 1661 65385 FE6E 高6LA 1760 65394 FE85 #6LA# 1865 65402 FE9A 高7SI 1976 65409

再把乐曲音符翻译成计算机音乐语言, I/O口输出高低不同的脉冲信号来控制蜂1/频率)利用单片机定时器计时这个半个周期时间,I/O口反相,然后重复计时此半周期时间再对

0,工作在方式1下,改变计数初始值THO 晶振,要产生频率为587Hz 的音频脉冲时,FF03 FF11 FF1F FF2B FF37 FF42 FF4D FF57 FF61 FF69 FF72 FF7A FF81

,然后I/O和TLO 其音

单片机产生乐曲的原理由单片机若单片机采用

频信号的脉冲周期 T=1/587=1703.5775μs ,半周期的时间为852μs ,因此只要令计数器计数=852μs/1μs=852,在每计数852时将I/O口反相,就可得到C 调中音Re 。

计数脉冲值与频率的关系如下:

2 音乐节拍的产生

每个音符使用一个字节,字节的高四位代表音符的高低,低四位代表音符的节拍,表5-2为节拍与节拍码的对照表。如果1拍为0.4s ,1/4拍是0.1s 只要设定延迟时间就可求得节拍的时间。假设1/4拍为1个延迟单位时间,那么1拍对应的就是4个延迟单位时间,以此类推。所以只要求得1/4拍的延迟单位时间,其余的节拍就是它的倍数,表5-3为1/4拍和1/8拍的时间设定。

3. 音乐软件的设计 1). 音乐代码库的建立方法

(1)先找出乐曲最低音和最高音范围,然后确定音符表T 的顺序。

(2)把T 值建立在表1(TABLE1),构成发音符的计数值放在其中(TABLE1中)。 (3)简谱码(音符)为高4位,节拍(节拍数)为低4位,音符的节拍码放在程序的表处(TABLE 处)。

(4)音符节拍码00H 为音乐结束标记。 2). 选曲

在一个程序中,需要演奏两首或两首以上歌曲时,音乐代码库的建立有两种方法: (1) 将每首歌曲建立相互独立的音符表T 和发音符计数值表(TABLE )。 (2) 也可以建立共用的音符表T 后,再写每首歌曲的发音计数值表(TABLE )

中的代码。

不管采用哪种方法,每首歌曲结束时,在发音计数值表(TABLE )中均需加上音乐结束符00H 。 4. 歌曲的设计

下面以歌曲《送别》的设计为例,讲述歌曲在单片机中实现自动演奏。歌曲《送别》如下所示:

TABLE1:DW 64524,64580,64684,64777 ;7(低),1,2,3

DW 64820,64898,64968,65030,65058 ;4,5,6,7 ,1(高) TABLE:

DB 64H,42H,62H,98H DB 74H,92H,72H,68H

DB 64H,22H,32H,44H,32H,22H DB 3CH ;;;;

DB 64H,42H,62H,94H,04H,82H DB 74H,94H,68H

DB 64H,32H,42H,54H,04H,12H DB 2CH ;;;;

DB 74H,94H,98H DB 84H,72H,82H,98H

DB 72H,82H,92H,72H,72H,62H,42H,22H DB 3CH ;;;;;

DB 64H,42H,62H,94H,04H,82H DB 74H,94H,68H

DB 64H,32H,42H,54H,04H,12H DB 2CH ;;

DB 00H

C 调各音符频率与计数值T 的对照表:

音符 频率HZ 6MHZ 十六进制值 音符 频率HZ 6MHZ 十六进制值

低1DO 262 64582 FC46 #4FA# 740 65198 FEAE #1DO# 277 64634 FC7A 中5SO 784 65217 FEC1 低2RE 294 64686 FCAE #5SO# 831 65235 FED3 #2RE# 311 64732 FCDC 中6LA 880 65252 FEE4 低3M 330 64779 FD0B #6LA# 932 65268 FEF4 低4FA #4FA# 低5SO #5SO# 低6LA #6LA# 低7SI 中1DO #1DO# 中2RE #2RE# 中3M 中4FA 利用单片机产生乐曲音符,进行信息处理1. 音频脉冲的产生音乐的产生主要是通过单片机的鸣器发音,要想产生音频脉冲信号,需要算出某一音频的周期(将此周期除以每当计时到后就将输出脉冲的口反相,这样就能在此通常,利用单片机的内部定时器来产生不同的率。例如, 349 64820 370 64860 392 64898 415 64934 440 64968 466 65000 494 65030 523 65058 554 65085 578 65103 622 65134 659 65157 698 65178 , 再通过蜂鸣器或喇叭放出音乐。

2,即为半周期的时间。I/O口上得到此频率的脉冲。

12MHz FD34 中7SI 988 65283 FD5C 高1DO 1046 65297 FD82 #DO# 1109 65311 FDA6 高2RE 1175 65323 FDC8 #2RE# 1245 65335 FDE8 高3M 1318 65346 FE06 高4FA 1397 65357 FE22 #4FA# 1480 65367 FE3D 高5SO 1568 65377 FE4F #5S0# 1661 65385 FE6E 高6LA 1760 65394 FE85 #6LA# 1865 65402 FE9A 高7SI 1976 65409

再把乐曲音符翻译成计算机音乐语言, I/O口输出高低不同的脉冲信号来控制蜂1/频率)利用单片机定时器计时这个半个周期时间,I/O口反相,然后重复计时此半周期时间再对

0,工作在方式1下,改变计数初始值THO 晶振,要产生频率为587Hz 的音频脉冲时,FF03 FF11 FF1F FF2B FF37 FF42 FF4D FF57 FF61 FF69 FF72 FF7A FF81

,然后I/O和TLO 其音

单片机产生乐曲的原理由单片机若单片机采用

频信号的脉冲周期 T=1/587=1703.5775μs ,半周期的时间为852μs ,因此只要令计数器计数=852μs/1μs=852,在每计数852时将I/O口反相,就可得到C 调中音Re 。

计数脉冲值与频率的关系如下:

2 音乐节拍的产生

每个音符使用一个字节,字节的高四位代表音符的高低,低四位代表音符的节拍,表5-2为节拍与节拍码的对照表。如果1拍为0.4s ,1/4拍是0.1s 只要设定延迟时间就可求得节拍的时间。假设1/4拍为1个延迟单位时间,那么1拍对应的就是4个延迟单位时间,以此类推。所以只要求得1/4拍的延迟单位时间,其余的节拍就是它的倍数,表5-3为1/4拍和1/8拍的时间设定。

3. 音乐软件的设计 1). 音乐代码库的建立方法

(1)先找出乐曲最低音和最高音范围,然后确定音符表T 的顺序。

(2)把T 值建立在表1(TABLE1),构成发音符的计数值放在其中(TABLE1中)。 (3)简谱码(音符)为高4位,节拍(节拍数)为低4位,音符的节拍码放在程序的表处(TABLE 处)。

(4)音符节拍码00H 为音乐结束标记。 2). 选曲

在一个程序中,需要演奏两首或两首以上歌曲时,音乐代码库的建立有两种方法: (1) 将每首歌曲建立相互独立的音符表T 和发音符计数值表(TABLE )。 (2) 也可以建立共用的音符表T 后,再写每首歌曲的发音计数值表(TABLE )

中的代码。

不管采用哪种方法,每首歌曲结束时,在发音计数值表(TABLE )中均需加上音乐结束符00H 。 4. 歌曲的设计

下面以歌曲《送别》的设计为例,讲述歌曲在单片机中实现自动演奏。歌曲《送别》如下所示:

TABLE1:DW 64524,64580,64684,64777 ;7(低),1,2,3

DW 64820,64898,64968,65030,65058 ;4,5,6,7 ,1(高) TABLE:

DB 64H,42H,62H,98H DB 74H,92H,72H,68H

DB 64H,22H,32H,44H,32H,22H DB 3CH ;;;;

DB 64H,42H,62H,94H,04H,82H DB 74H,94H,68H

DB 64H,32H,42H,54H,04H,12H DB 2CH ;;;;

DB 74H,94H,98H DB 84H,72H,82H,98H

DB 72H,82H,92H,72H,72H,62H,42H,22H DB 3CH ;;;;;

DB 64H,42H,62H,94H,04H,82H DB 74H,94H,68H

DB 64H,32H,42H,54H,04H,12H DB 2CH ;;

DB 00H


相关文章

  • 基于51单片机的可调歌音乐盒设计
  • 本科学年论文 学 院 物理电子工程学院 专 业 电子科学与技术 年 级 2009级 姓 名 张家义 论文题目 基于51单片机的音乐播放器设计 指导教师 仓玉萍 职称 讲师 成 绩 2012年6月5日 目 录 摘要 ............. ...查看


  • 单片机播放音乐的基本知识
  • 用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波.为了输出合适的方波,首先应该知道音符与频率的关系. 1.音名 从常见的电子琴的键盘谈起. 在下表中,可以看到一列黑白相间的琴键(示意).主要分成低音.中音和高音三个 ...查看


  • 单片机原理课程设计报告
  • 单片机原理课程设计报告 题目:音乐盒的设计 课程设计任务书 班级:11数控二班 学号:[1**********]33 姓名:刘波 指导教师:邹琦 漯河职业技术学院 2013.1 摘要 第一章 绪论 1.1课程设计目的 1.2课程设计任务 1 ...查看


  • 基于51单片机的电子琴课程设计
  • 摘要 本设计主要研究基于AT89C52单片机的简易电子琴设计. 它是以单片机作为主控核心,设置键盘.蜂鸣器等外围器件:另外还用到一 些简单器件如:NPN型三极管及电阻等.利用按键实现音符和音调的输入:用NPN 型三极管8550实现低音频功率 ...查看


  • 毕业设计-电子琴设计
  • 基于STC89C52单片机的电子琴 学院名称: 专 业: 班 级: 姓 名: 学 号: 指导教师: **年**月 目录 摘要 ............................................. 错误!未定义书签. 第 ...查看


  • 电子琴课程设计 1
  • 四川师范大学成都学院电子工程学院 电子技术课程设计 电子琴 学生姓名 学 号 所在学院 专业名称 班 级 指导教师 成 绩 刘子仪 2013137052 电子工程学院 汽车服务工程 2013级 苏 清 茂 四川师范大学成都学院 二○一五年十 ...查看


  • [精编完整版]流水灯显示_毕业论文
  • (此文档为word 格式,下载后您可任意编辑修改!) 流水灯显示 目录 第1章 前言 ............................................. 2 第2章 方案设计 .................... ...查看


  • 单片机课程设计报告_电子琴22
  • 单片机程 54121 系 别: 45214 学科专业:1251534135 班 级55434415 姓 名: [1**********]13 0122 单片机课程设计题目 --电子音乐盒设计 摘要:该课程设计利用单片机AT89S52与LM3 ...查看


  • 单片机演奏乐曲
  • 专科生毕业设计(论文) 姓 名: == 学 号:== 系 部: 信息工程系 专 业: 电子信息工程技术 班 级: === 设计题目: 单片机演奏乐曲设计 指导教师: == 职 称 == 2011年6月 南京 摘 要 本文是应用MCS-51单 ...查看


热门内容