speaker.txt

来自「数控分频器设计:对于一个加法计数器」· 文本 代码 · 共 38 行

TXT
38
字号
Library ieee;
Use ieee.std_logic_1164.all;
Entity speaker is
Port(
       clk    : in std_logic;
  Freq_num : in integer range 0 to 2047; --16#7FF#
  speaker : out std_logic);
End speaker;
Architecture a1 of speaker is
signal power_speaker : std_logic;
begin
Process(clk)
variable count11bit: integer range 0 to 2047;
Begin
if clk'event and clk='1' then
    if count11bit=2047 then
      count11bit:=Freq_num;
      power_speaker<='1';
   Else 
      count11bit:=count11bit+1;
     power_speaker<='0';
    end if;
end if;
end process;
--将输出再进行2分频,将脉冲展宽,以使扬声器有足够功率发音
process(power_speaker)
variable count2bit: std_logic;
Begin
if power_speaker'event and power_speaker='1' then
   count2bit:=not count2bit;
   if count2bit='1' then 
          speaker<='1'; 
    else speaker<='0';
   end if;
end if;
end process;
End a1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?