⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter.vhd

📁 带清零和重置功能的十进制计数器
💻 VHD
字号:
-- en,clr,接SW1,SW2
-- clk PIN28,(将IO_CLK与IO3相连,调节EDA_VI右边的拨码SW17--SW20,使输出1Hz时钟)
-- Q IO9--IO12 ,co IO13
-- VGA 4位功能选择位

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY counter IS
   PORT(clr,en,clk: IN STD_LOGIC;
        co        : OUT STD_LOGIC;       
        Q         : OUT STD_ULOGIC_VECTOR(3 DOWNTO 0);
		VGA       : OUT STD_ULOGIC_VECTOR(3 DOWNTO 0)
		);
END counter;

ARCHITECTURE counter1 OF counter IS
   SIGNAL qs: STD_LOGIC_VECTOR(3 DOWNTO 0);
   SIGNAL ca: STD_ULOGIC;
BEGIN
	VGA <= "0001";
   PROCESS(clk)    
     VARIABLE q10:INTEGER;
   BEGIN
      IF(rising_edge(clk)) THEN
         IF(clr='1') THEN
            q10:=0;
         ELSIF(en='1') THEN
            IF(q10=9) THEN
               q10:=0;
               ca<='0';
            ELSIF(q10=8) THEN
               q10:=q10+1;
               ca<='1';
            ELSE
               q10:=q10+1;
               ca<='0';
            END IF;
         END IF;
      END IF;
      qs<=CONV_STD_LOGIC_VECTOR(q10,4);
      Q<= not TO_STDULOGICVECTOR(qs);	--LED底电平点亮,所以取反
   END PROCESS;

   co<= not (ca AND en);				--LED底电平点亮,所以取反

END counter1;  
         

⌨️ 快捷键说明

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