• 方案介绍
  • 相关推荐
申请入驻 产业图谱

数字钟VHDL电子时钟DE1-SOC开发板数字时钟报时

05/12 09:24
1099
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

名称:数字钟VHDL电子时钟DE1-SOC开发板数字时钟(代码在文末下载)

软件:Quartus II

语言:VHDL

代码功能:

1、设计数字钟功能,可以通过数码管显示时分秒。

2、可以通过按键修改小时、分钟。

3、具有整点报时功能。

本代码已在DE1-SOC开发板验证,开发板如下,其他开发板可以修改管脚适配:

DE1-soc.png

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
--数字钟
ENTITY?Digital_clock_A111417?IS
???PORT?(
??????clk_in????:?IN?STD_LOGIC;--50MHz
??????bell_out???:?OUT?STD_LOGIC;--整点报时蜂鸣器,BELL?当?I/O15?为低电平时?BELL?发出嘟嘟的声音
key_hour???:?IN?STD_LOGIC;--修改小时
key_minute?:?IN?STD_LOGIC;--修改分钟
??????--6个数码管
??????HEX0???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX1???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX2???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX3???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX4???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX5???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0)
???);
END?Digital_clock_A111417;
ARCHITECTURE?trans?OF?Digital_clock_A111417?IS
--模块声明
???COMPONENT?Bell?IS
??????PORT?(
?????????clk_in????:?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);
?????????bell_out???:?OUT?STD_LOGIC
??????);
???END?COMPONENT;
???
--数码管显示模块
COMPONENT?HEX?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);--秒
??????--6个数码管
??????HEX0???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX1???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX2???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX3???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX4???:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
??????HEX5???:?OUT?STD_LOGIC_VECTOR(6?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;
key_hour???:?IN?STD_LOGIC;--修改小时
key_minute?:?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,
key_hour=>?key_hour,---修改小时
key_minute=>?key_minute,---修改分钟
?????????clk_1Hz??????=>?clk_1Hz,
?????????hour_time????=>?hour_time,--时
?????????minute_time??=>?minute_time,--分
?????????second_time??=>?second_time--秒
??????);
???--响铃模块
???i_Bell?:?Bell
??????PORT?MAP?(
?????????clk_in????????????=>?clk_in,
?????????
?????????hour_time??????????=>?hour_time,--时
?????????minute_time????????=>?minute_time,--分
?????????second_time????????=>?second_time,--秒
?????????
?????????bell_out???????????=>?bell_out--闹钟led
??????);
??
--数码管显示模块
?i_HEX:?HEX
???PORT?MAP??(
??????clk=>?clk_in,
??????hour_time=>hour_time,--时
??????minute_time=>minute_time,--分
??????second_time=>second_time,--秒
??????--6个数码管
??????HEX0=>HEX0,
??????HEX1=>HEX1,
??????HEX2=>HEX2,
??????HEX3=>HEX3,
??????HEX4=>HEX4,
??????HEX5=>HEX5
???);
???
END?trans;

设计文档

工程文件

21e63318-024b-43d4-87cd-727accff7436.png

程序文件

12a7f229-183f-460b-a5e1-1b9d7b18ac47.png

程序编译

a35d4f5d-9e03-4d7f-b80c-6cddcee788d9.png

RTL图

a6ad79ca-d11c-45c9-8ac8-81cc4a812ad7.png

管脚分配

4c60b6a6-84d9-4f6e-81eb-7d417a58b557.png

仿真图

仿真图

计时仿真

整点报时仿真

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=254

相关推荐