-- Filename ﹕ CLKDIV.vhd
-- Author ﹕ wuhouhang
-- DescripTIon ﹕ 分频计数器,50MHz时钟做分频后的50%占空比方波驱动蜂鸣器发声
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
enTIty CLKDIV is
port (
Clk : in STD_LOGIC; --50MHz输入时钟
Rst_n : in STD_LOGIC; --低电平复位信号
Clk_div : out STD_LOGIC --分频信号,连接到蜂鸣器
);
end enTIty CLKDIV;
--20bit计数器循环计数
architecture COUNTER OF CLKDIV is
signal cnt20b : STD_LOGIC_VECTOR (19 downto 0); --20bit计数器
begin
process (Clk,Rst_n)
begin
if Rst_n = '0' then
cnt20b <= x"00000";
elsif Clk'event AND Clk = '1' then
cnt20b <= cnt20b+"1"; --分频计数
end if;
end process;
Clk_div <= cnt20b(19); --分频赋值
end architecture COUNTER;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)