音符与频率关系小结

  乐曲中不同的音符实质上表示的是不同频率的声音。

 在单片机中要发出不同频率的声音,只要产生不同频率的脉冲,再通过喇叭等播放出来即可。又由于方波容易用定时器产生,故一般单片机使用方波脉冲。

        (1) 单片机产生不同频率脉冲信号的原理:

        要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。(可根据下图理解)

  

    
       以8051单片机为例(8051单片机的定时器每次计数时间为1us)。利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0TL0以产生不同频率的方法如下:
      例如,频率为523Hz,其周期为1/523 S=1912uS,因此只要令计数器计时956,在每计数956次时就将I/O反接,就可得到中音DO532Hz)。

   其计数值N可以根据以下公式得到:

   2N=Fi/Fr   (Fi为内部时钟频率,Fr为对应音符频率)

   而单片机定时器所需的预计数值  T=65536-N=65536-Fi/2/Fr

   

计算举例:
F=1000000=Fi=1MHz,求低音DO261Hz)、中音DO523Hz)、高音DO1046Hz)的计数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr
低音DOT=65536-500000/262=63627
中音DOT=65536-500000/523=64580
高音DOT=65536-500000/1047=65059

 

附表:音符与频率对应表

(“#”表示半音,用于上升或下降半个音)

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


音符   频率(Hz) 简谱码T值    

低1DO  262  63628           
#1DO#  277  63731           
低2RE  294  63835           
#2RE#  311  63928           
低3M   330  64103           
低4FA  349  64103           
#4FA#  370  64260           
低5SO  392  64260           
#5SO#  415  64331            
低6LA  440  64400          
#6     466  64463              
低7SI  494  64524           
中1DO  523  64580        

#1DO#  554 
中2RE  578  FC9F;
#2RE#  622 
中3MI  659  FD09;
中4FA  698  FD34
#4FA#  740
中5SO  784  FD82
#5SO#  831
中6LA  880  FDC8
#6LA#  932
中7SI  988  FE06

 

         (2)节拍

       每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/41/8节拍的时间设定。   

     
        表9.2  节拍码对照表
1/4节拍 1/8节拍
节拍码 节拍数 节拍码 节拍数
1 1/4 1 1/8
2 2/4 2 1/4
3 3/4 3 3/8
4 1 4 1/2
5 11/4 5 5/8
6 11/2 6 3/4
7 13/4 7 7/8
8 2 8 1
9 21/4 9 11/8
A 21/2 A 11/4
B 23/4 B 13/8
C 3 C 11/2
D 31/4 D 15/8
E 31/2 E 13/4
F 33/4 F 17/8

    节拍延时参考:

       曲调            1/4拍的延迟时间             1/8拍的延迟时间
      4/4              125ms                         62ms                                
      3/4              187ms                         94ms
      2/4              250ms                         125ms

posted @ 2013-03-18 18:50  顶顶顶顶  阅读(1706)  评论(0)    收藏  举报