?? speakera.vhd
字號:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Speakera IS
PORT ( clk :IN STD_LOGIC; --1MHz
Tone : IN INTEGER RANGE 0 TO 16#7FF#; --音調(diào)分頻比率
Spks :OUT STD_LOGIC ); --頻率輸出給蜂鳴器
END;
ARCHITECTURE one OF Speakera IS
SIGNAL PreCLK : STD_LOGIC;
SIGNAL FullSpks : STD_LOGIC;
BEGIN
DivideCLK : PROCESS(clk) --將1M 頻率三分頻
VARIABLE Count4 : INTEGER RANGE 0 TO 2;
BEGIN
PreCLK <= '0';
IF Count4 =2 THEN PreCLK <='1' ; Count4 := 0;
ELSIF clk'EVENT AND clk='1' THEN Count4 := Count4+1;
END IF ;
END PROCESS;
GenSpks : PROCESS (PreCLK,Tone)
VARIABLE Count11 : INTEGER RANGE 0 TO 16#7FF#;
BEGIN
IF PreCLK'EVENT AND PreCLK='1' THEN --按分頻比分頻
IF Count11 = Tone THEN
Count11 :=0;
FullSpks <='1';
ELSE Count11 := Count11 +1;
FullSpks <='0'; END IF;
END IF;
END PROCESS;
DelaySpks : PROCESS (FullSpks)
VARIABLE Count2 : STD_LOGIC;
BEGIN
IF FullSpks'EVENT AND FullSpks='1' THEN --D觸發(fā)器2分頻,保證蜂鳴器發(fā)聲穩(wěn)定
Count2:= NOT Count2 ;
IF Count2 ='1' THEN Spks <='1';
ELSE Spks <='0'; END IF;
END IF;
END PROCESS;
END;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -