名称:计时、闹钟、秒表的多功能数字钟设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
计时、闹钟、秒表的多功能数字钟
1、可以通过按键设置计时、闹钟、秒表模式
2、可以调时、可以控制闹钟时间、可以控制秒表启动暂停
3、数码管显示时间
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
整体仿真图
分频模块
计时模块
闹钟模块
秒表模块
显示模块
按键模块
响铃模块
部分代码展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; --数字秒表 ENTITY?Digital_clock?IS ???PORT?( ??????clk_50M?????:?IN?STD_LOGIC;--50MHz ??????key_0???????:?IN?STD_LOGIC;--模式设置按键--4'd0:计时,4'd1:闹钟,4'd2:跑表 ??????key_1???????:?IN?STD_LOGIC;--设置修改,跑表启动 ??????key_2???????:?IN?STD_LOGIC;--修改确认,跑表暂停 ??????key_3???????:?IN?STD_LOGIC;--修改时分秒,跑表复位,闹钟关闭 ?????? ??????bell_out????:?OUT?STD_LOGIC; ??????led_mode????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--led显示当前模式 ??????HEX5?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--数码管段选 ??????HEX4?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--数码管段选 ??HEX3?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--数码管段选 ??HEX2?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--数码管段选 ??HEX1?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--数码管段选 ??HEX0?????????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--数码管段选 ???); END?Digital_clock; ARCHITECTURE?behave?OF?Digital_clock?IS --模块声明 ???--响铃模块 ???COMPONENT?Bell?IS ??????PORT?( ?????????clk_50M?????:?IN?STD_LOGIC; ?????????clear_alarm?:?IN?STD_LOGIC; ?????????alarm_hour_time?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????alarm_minute_time?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????alarm_second_time?:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????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?alarm_clock?IS ??????PORT?( ?????????clk_50M?????:?IN?STD_LOGIC; ?????????state_mode??:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0); ?????????set_time_key?:?IN?STD_LOGIC; ?????????confirm_key?:?IN?STD_LOGIC; ?????????change_time_key?:?IN?STD_LOGIC; ?????????alarm_hour_time?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????alarm_minute_time?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????alarm_second_time?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0) ??????); ???END?COMPONENT;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1314
阅读全文