(一) 蜂鸣器基本知识 (a)蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、电话机、报警器等中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器。 (b)有源蜂鸣器和无源蜂鸣器 从外观上看,如将两种蜂鸣器的引脚朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。 迸一步判断有源蜂鸣器和无源蜂鸣器还可以用万用表电阻Rxl档测试用黑表笔接蜂鸣器"+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。 (我实际操作,无源蜂鸣器的电阻为15.7欧姆。而有源蜂鸣器电阻一直显示0) (网络摘抄) 注意,这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 7 G+ b+ K6 M }' s, X0 T
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
/ E2 Z1 P- I8 B5 C& n% P' f8 w& y- K无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。 (二) 原理图+ b) q- o8 Y ]. W
5 @7 [/ x* q+ P S
1 o* m( A H: H. ]1 ~这里主要是要知道蜂鸣器接的是FPGA哪个引脚,注意这个蜂鸣器电路只是测试,不太推荐使用。 (三) 例程 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; 4 F9 K& F% r) v
ENTITY buzzer IS PORT ( clk : IN std_logic; dout : OUT std_logic); END buzzer; 7 D* v5 S w$ ^6 X8 H& j
ARCHITECTURE arch OF buzzer IS SIGNAL num: std_logic_vector(31 downto 0); SIGNAL vet: std_logic := '0'; BEGIN PROCESS(clk) BEGIN IF(clk'event and clk ='1') THEN num <= num + 1; IF(num = 48000) THEN num <= "00000000000000000000000000000000"; vet <= vet XOR '1'; END IF; END IF; END PROCESS; dout <= vet;
# A S* z9 c/ A, T: `/ i: a$ ~2 xEND arch; |