(一) 蜂鸣器基本知识 (a)蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、电话机、报警器等中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器。 (b)有源蜂鸣器和无源蜂鸣器 从外观上看,如将两种蜂鸣器的引脚朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。 迸一步判断有源蜂鸣器和无源蜂鸣器还可以用万用表电阻Rxl档测试用黑表笔接蜂鸣器"+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。 (我实际操作,无源蜂鸣器的电阻为15.7欧姆。而有源蜂鸣器电阻一直显示0) (网络摘抄) 注意,这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。
* q+ x- C/ k1 C有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
) v; {. A0 _. [( `% ~3 j, w无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。 (二) 原理图9 M0 d9 N7 O, L8 i( D
- B! y- [3 X# H) v! I. N8 a4 n- u
% K$ r! k; O% b! p
这里主要是要知道蜂鸣器接的是FPGA哪个引脚,注意这个蜂鸣器电路只是测试,不太推荐使用。 (三) 例程 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
- c2 f' J. q- D# NENTITY buzzer IS PORT ( clk : IN std_logic; dout : OUT std_logic); END buzzer;
! D$ v4 j4 I d0 Z0 N1 QARCHITECTURE 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; % S+ W* z; S1 {: V
END arch; |