首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 电视机电路
基于AT89S51芯片的多功能音乐演奏器设计
来源:本站整理  作者:佚名  2011-01-15 08:33:10



      1.音调有9个音区,从上至下相邻三个音区依次为低音区、中音区和高音区。例如,将第五区频率是261.63Hz的C调1音定为中音,那么低音C调1音的频率是130.81Hz,高音C调1音的频率则是523.25Hz。国际标准音中规定音A调6音的频率为440.00Hz,由此可以确定其它音符的频率值。

  根据傅里叶级数定理,任何一个非正弦的周期信号,都可以分解为基波和一系列谐波。基波决定音高,谐波的成分和比例决定音色。电子乐器的信号源应具有丰富的谐波成分,以便用来进行音色加工。对称波只有奇次谐波,没有偶次谐波。谐波分量随着谐波次数的增高衰减很快。因此,电子乐器的音源宜采用偏离正弦形远的、不对称的、谐波丰富的信号更为有利。如果演奏一般简单乐曲,只需要产生与三个音区(比如第四区至第六区)的音符对应的频率。本文根据不同音符对应的频率计算初值,利用定时器/计数器O(TO)工作方式0、定时方式,采用中断方式产生占空比为80%的周期性矩形波输出。

  2.乐曲模拟乐曲是按照一定的高低、长短和强弱关系组成的音调,在一首乐曲中,每个音符的音高和音长与频率和节拍有关。组成乐曲的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。

  根据上面所讲的“音调的模拟”的方法,计算每个音符的频率值对应的初值,定义一个“音调表”。为了便于编写曲谱,把这个音调表独立出来。而用“1、2、3,4、5、6、7”表示唱名,“0、1、2”分别表示低音区、中音区和高音区。唱名和音区结合起来,就对应于音调表里的一个初值。据此再把唱名、音区和最小音符持续时间整数倍值定义为“乐曲表”。

  乐曲表的编写方法如下:每个音符用四位十六进制的数(即两个字节)表示,第一位(从高到低)用“1、2、3、4、5、6、7”分别表示“1、2、3,4、5、6、7”唱名(即d0、re、mi,fa、sol、la、ai等7个基本音阶)。第二位用”0、1、2”分别表示低音区,中音区和高音区。最后两位表示最小音符持续时间整数倍值。

  一乐曲表的最后一个数据可以用0FFH作为乐曲的结束符,可以用00H作为乐曲的休止符(当然也可以用其它特定值来代替)。

  知道了音调与频率、时间的关系,我们就可以按照乐曲的曲谱将每个音符的频率和持续时间定义的两个数据表---音调表和乐曲表,编写程序依次取出表中的频率值和时间值,调用程序驱动扬声器发出各种声音。乐曲播放程序流程图如右图所示。

  3.琴键模拟音符和频率之间有一定的对应关系,我们可以将键盘上的某些键和音符、频率形成一种对应关系,则可以通过键盘控制扬声器发出各种音符声音,这时键盘就变成了电子琴键盘,我们可以用它弹奏出简单的音乐。键盘程序流程图如图4所示。

  在本文电路中,SB15为电子琴和乐曲播放器功能切换键,每次按键使得电路在电子琴和乐曲播放器之间切换。在电子琴状态下,SB0~SB14对应相应的音调(读者可自行选择音区)。

  在乐曲播放器状态下,SB12为暂停/播放键、SB13为选上一首乐曲键、SB14为选下一首乐曲键。

  4.电平均衡由于音色滤波器的引入,导致对各个音调的信号有不同程度的衰减,在扬声器表现出来的是:不同的音调呈现不同的响度。为了使得音调响度差别得以均衡,可以利用D/A转换来消除响度差别。方法如下.推导所选音色滤波器转移函数,把每个音调的频率代入计算得到每个音调的增益,使得增益最小的音调对应255(本文电路选用的D/A转换器DAC0532为8位,满度为255)。按照增益与D/A转换值成反比,依次计算其它音调对应的值。

  我们可以把这些D/A转换值定义为“电平均衡表”。单片机利用查表的方法,根据不同的音调取出不同的D/A转换值,通过D/A转换和音色滤波器后,将会得到相同的响度输出。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:29,027.34000 毫秒