名称:多功能数字钟设计VHDL代码Quartus仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:
(1)输入信号3178kh基时钟信号。
(2)具有时、分、秒计时显示功能,以-12小时循环计时。
(3)采用6位七段扫描共阴极数码显示管计时显示,并具有秒闪指示功能。(4)利用一个按键开关完成系统复位功能。
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
分频模块
计时模块
显示模块
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY Digital_clock IS PORT ( clk_in : IN STD_LOGIC;--时钟输入 reset : IN STD_LOGIC;--复位 bit_select : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END Digital_clock; ARCHITECTURE trans OF Digital_clock IS --模块声明 COMPONENT display IS PORT ( clk : IN STD_LOGIC; hour_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); minute_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); second_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); bit_select : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END COMPONENT; COMPONENT fenping IS PORT ( clk_in : IN STD_LOGIC; clk_1Hz : OUT STD_LOGIC ); END COMPONENT; COMPONENT jishi IS PORT ( clk_in : IN STD_LOGIC; reset : IN STD_LOGIC;--复位 clk_1Hz : IN STD_LOGIC; hour_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); minute_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); second_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; SIGNAL hour_time : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL minute_time : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL second_time : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL clk_1Hz : STD_LOGIC; BEGIN --分频到1Hz fenping_Hz : fenping PORT MAP ( clk_in => clk_in, clk_1Hz => clk_1Hz ); --计时模块 i_jishi : jishi PORT MAP ( clk_in => clk_in, reset => reset,--复位 clk_1Hz => clk_1Hz, hour_time => hour_time,--时 minute_time => minute_time,--分 second_time => second_time--秒 ); --显示模块 i_display : display PORT MAP ( clk => clk_in, hour_time => hour_time, minute_time => minute_time, second_time => second_time, bit_select =>bit_select,--数码管位选 seg_select =>seg_select--数码管段选 ); END trans;
源代码
扫描文章末尾的公众号二维码