hua2999 发表于 2013-11-20 11:08:10

CPLD初学者教程-蜂鸣器奏乐

我们在开发板上装有一个交流源蜂鸣器,可用做发声练习。其电路图和实物图如下所示:
      file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image002.jpgfile:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image004.jpg
      首先,我们为什么选择交流蜂鸣器?所谓有源蜂鸣器是指在器件内部具有振荡器,所以只要在引脚上加上固定的直流电源,就能发出一定频率的声音,但缺点是频率固定唯一(在该蜂鸣器生产出来后就决定了)。交流蜂鸣器需要在引脚上加上一定频率的方波信号才能出声,而且声音的音调可有驱动方波的频率决定,所以音调是可调的,发出的声音更加逼真、悦耳。对CPLD/FPGA来说,产生频率可调方波并不是件难事。所以选择无源是很合适的。
      电路中,主要由一个三极管,一个续流二极管和一个交流蜂鸣器组成。三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。因为蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏电路系统的其它部分。交流蜂鸣器也有正负极,在器件的上方和板子上面都标注了,焊接时注意方向。
    有了蜂鸣器的硬件组成,下面我们讲解下如何发出音谱上的音调。
每个音调,其实都是一个固定频率的振动,频率的高低决定了音调的高低。简谱中的音名与频率的对应关系如表1所示:表1 简谱中的音名与频率的对应关系
音名
频率/Hz
音名
频率/Hz
音名
频率/Hz
低音1
261.6
中音1
523.3
高音1
1046.5
低音2
293.7
中音2
587.3
高音2
1174.7
低音3
329.6
中音3
659.3
高音3
1318.5
低音4
349.2
中音4
698.5
高音4
1396.9
低音5
392
中音5
784
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
493.9
中音7
987.8
高音7
1975.5
当采用12M作为基准时钟时,那么各个音调的分频系数可按这个公式计算:12 000 000 ÷音调频率÷2(除以2表示半个周期),所以得出如下不同音调的分频系数表格(十六进制表示,已进行四舍五入)表格2 不同音调对应的分频系数(只列举了低音部分)
音名
分频系数
低音1
5997
低音2
4FCD
低音3
471B
低音4
431E
低音5
3BCA
低音6
3544
低音7
2F74

所以综上所述,我们在程序中只要按表格里的分频系数产生一定频率的方波就能产生对应的音调了。

ahljj 发表于 2015-12-25 08:02:11

CPLD初学者教程-蜂鸣器奏乐

czh762217 发表于 2017-4-17 14:51:10

天各一方8 发表于 2017-4-21 08:35:08

学习

tianwai2451 发表于 2017-4-27 08:58:42

tianwai2451 发表于 2017-5-3 08:50:42

tianwai2451 发表于 2017-5-4 08:54:01

tianwai2451 发表于 2017-5-12 08:40:12

tianwai2451 发表于 2017-5-18 08:50:58

mass 发表于 2017-5-19 10:17:49

页: [1] 2
查看完整版本: CPLD初学者教程-蜂鸣器奏乐