EDA课程设计:数字秒表的设计

2026/1/14 10:46:59

SCOUNT10<=\ELSE

CN<='0';

SCOUNT10<=SCOUNT10+'1'; END IF; END IF; END IF;

END PROCESS; END ART;

六进制计数器的源程序(CDU6.VDH) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CDU6 IS

PORT( CLK,CLR,EN:IN STD_LOGIC; CN :OUT STD_LOGIC;

COUNT6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CDU6;

ARCHITECTURE ART OF CDU6 IS

SIGNAL SCOUNT6: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

COUNT6<=SCOUNT6;

PROCESS (CLK,CLR,EN) BEGIN

IF(CLR='1')THEN

SCOUNT6<=\ELSIF RISING_EDGE(CLK) THEN IF(EN='1')THEN

IF SCOUNT6=\CN<='1';

SCOUNT6<=\ELSE

CN<='0';

SCOUNT6<=SCOUNT6+'1'; END IF; END IF; END IF;

END PROCESS; END ART;

计数器的源程序(COUNT.VHD) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS

PORT( CLK,CLR,EN:IN STD_LOGIC;

S_1MS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_10MS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_100MS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_1S:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_10S:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_1MIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); S_10MIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HOUR:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COUNT;

ARCHITECTURE ART OF COUNT IS COMPONENT CDU10

PORT( CLK,CLR,EN:IN STD_LOGIC; CN :OUT STD_LOGIC;

COUNT10:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT CDU10; COMPONENT CDU6

PORT( CLK,CLR,EN:IN STD_LOGIC; CN :OUT STD_LOGIC;

COUNT6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT CDU6;

SIGNAL A,B,C,D,E,F,G,H:STD_LOGIC; BEGIN

UL:CDU10 PORT MAP (CLK,CLR,EN,A,S_1MS); U2:CDU10 PORT MAP (A,CLR,EN,B,S_10MS); U3:CDU10 PORT MAP (B,CLR,EN,C,S_100MS); U4:CDU10 PORT MAP (C,CLR,EN,D,S_1S); U5:CDU6 PORT MAP (D,CLR,EN,E,S_10S); U6:CDU10 PORT MAP (E,CLR,EN,F,S_1MIN); U7:CDU6 PORT MAP (F,CLR,EN,G,S_10MIN); U8:CDU10 PORT MAP (G,CLR,EN,H,HOUR); END ART;

4. 显示模块的源程序

数据选择器的源程序(MULX.VDH)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY MULX IS

PORT( CLK,CLR,EN:IN STD_LOGIC;

S_1MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

S_10MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S_100MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S_1S:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S_10S:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S_1MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S_10MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); HOUR:IN STD_LOGIC_VECTOR(3 DOWNTO 0); OUTBCD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END MULX;

ARCHITECTURE ART OF MULX IS

SIGNAL COUNT :STD_LOGIN_VECTOR(3 DOWNTO 0); BEGIN

PROCESS (CLK) BEGIN

IF CLR='1'THEN COUNT<=\

ELSIF RISING_EDGE(CLK)THEN IF EN ='1' THEN COUNT<=\ELSE

COUNT<=COUNT+'1'; END IF; END IF; END IF;

END PROCESS; PROCESS(CLK) BEGIN

IF CLK'EVENT AND CLK='1' THEN CASE COUNT IS

WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN OTHERS=>OUTBCD<=\END CASE; END IF;

END PROCESS;

END ART;

BCD七段译码器驱动器的源程序(BCD7.VDH)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY BCD7 IS PORT(

BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END BCD7;

ARCHITECTURE ART OF BCD7 IS BEGIN

LED<=\\\\\\\\\\\END ART;

5. 顶层设计的源程序(MB.VHD) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY MB IS

PORT( SP,CLR,CLK:IN STD_LOGIC; CO,EN: OUT STD_LOGIC;

LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); OUTBCD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END MB;

ARCHITECTURE ART OF MB IS COMPONENT CTRL

PORT( CLK,CLR,SP:IN STD_LOGIC; EN :OUT STD_LOGIC); END COMPONENT ;


EDA课程设计:数字秒表的设计.doc 将本文的Word文档下载到电脑
搜索更多关于: EDA课程设计:数字秒表的设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219