cyclone4 FPGA EP4CE10F17C8N设计数字时钟quartus工程源码+WORD说明文档, 本设计采用FPGA,实现核心控制。利用独立按键当作输入,利用六位一体的共阳极数码管作为显示设备。具体要求如下: 1. 数字钟要求显示时间、日期、闹钟时间。本设计采用verilog,芯片为50MHZ的EP4CE10F17C8N,实现核心控制。 2. 显示时利用小数点将所显示内容分开。(例:19.12.55) 3. 外部输入的按键有,切换按键,调整按键,加按键,减按键。具体功能如下: 数字钟要求显示时间、日期、闹钟设定时间。利用切换按键进行年月日、时间、闹钟定时操作,三种状态均可用增减两个按键进行调整,对于选中的数码管调整位,通过闪烁表示已经选中,例如:首先切换至日期,选中表示“年”的数码管,那么选中的位进行0.5秒的闪烁表示选中,其次可通过增减按键进行数字的增减。另外在按键消抖后,每次按键按下,蜂鸣器响表示已经按下;设定的闹钟到时候,按下任何按键均停止蜂鸣器,若没有按键按下,蜂鸣器长响至1min时长后,自动停止。 module digital_clock (clk,rst_n,key_add,key_sub,key_adjust,key_switch,beep, seven_tube_sel,seven_tube_seg); input clk; input rst_n; input key_add; input key_sub; input key_switch; input key_adjust; output beep; output [7:0] seven_tube_seg; output [2:0] seven_tube_sel; wire flag_add; wire flag_sub; wire flag_adjust; wire flag_switch; wire [23:0] show_data; wire flag_alarm; wire [5:0] dp_en; key_processor key_processor_inst( .clk (clk), .rst_n (rst_n), .key_add (key_add), .key_sub (key_sub), .key_adjust (key_adjust), .key_switch (key_switch), .flag_add (flag_add), .flag_sub (flag_sub), .flag_adjust (flag_adjust), .flag_switch (flag_switch) ); digital_clock_ctrl digital_clock_ctrl_inst( .clk (clk), .rst_n (rst_n), .flag_add (flag_add), .flag_sub (flag_sub), .flag_adjust (flag_adjust), .flag_switch (flag_switch), .show_data (show_data), .flag_alarm (flag_alarm) ); seven_tube_drive seven_tube_drive_inst( .clk (clk), .rst_n (rst_n), .show_data (show_data), .dp_en (6'b010100), .seven_tube_seg (seven_tube_seg), .seven_tube_sel (seven_tube_sel) ); beep_drive beep_drive_inst( .clk (clk), .rst_n (rst_n), .flag_alarm (flag_alarm), .flag_add (flag_add), .flag_sub (flag_sub), .flag_adjust (flag_adjust), .flag_switch (flag_switch), .beep (beep) ); endmodule