📄 程序代码.txt
字号:
--可以数控占空比的(带异步复位)(1M)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY PULSE IS
PORT(CLK:IN STD_LOGIC; --1M时钟输入
rst:in std_logic; --异步复位
D :IN STD_LOGIC_VECTOR(11 DOWNTO 0);--分频拨码开关
z :in std_logic_vector(11 downto 0);--分占空比拨码开关
FOUT1:OUT STD_LOGIC;
FOUT2:OUT STD_LOGIC;
FOUT3:OUT STD_LOGIC;
FOUT4:OUT STD_LOGIC);
END;
ARCHITECTURE ONE OF PULSE IS
SIGNAL COUT :STD_LOGIC_VECTOR(11 DOWNTO 0);
signal clk2 :std_logic;
BEGIN
process(clk)
variable Q :std_logic_vector(7 downto 0);
begin
if rst='1' then
Q:="00000000";
elsif clk'event and clk='0' then
if Q="11111010" then
Q:="00000000";
clk2<='1';
else Q:=Q+1;
clk2<='0';
end if;
end if;
end process;
PROCESS(CLK2,rst) --数控分频
BEGIN
if rst='1' then cout<=D;
elsIF CLK2'EVENT AND CLK2 ='1' THEN
IF COUT=D THEN
COUT<="000000000000";
ELSE
COUT<=COUT+1;
END IF;
END IF;
END PROCESS;
process(clk2)
begin
if clk2'event and clk2='1' then
if cout<z then
fout1<='1';
fout2<='1';
fout3<='1';
fout4<='1';
else
fout1<='0';
fout2<='0';
fout3<='0';
fout4<='0';
end if;
end if;
end process;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -