FPGA基于Verilog实现的多功能时钟
时钟实现的功能:
1.数码管显示时间
2.有计时功能
3.可实现定点报时
多功能时钟共两种工作状态:
1.正常的时钟显示时间
2.计时状态
由于部分原因,本例中调节时间的功能并没有添加,程序大体功能完整,可能出现少许BUG,可以做个参考,望知。
实现资源:
- FPGA开发板一块,包括: 六位八段数码管(用于显示时间)、蜂鸣器(用于定点报时)、 四位按键输入
- 开发板采用50Mhz晶振产生时钟
变量定义
一共有5个输入,包括四个按键及一个时钟输入
3个输出,包括位、段数码管及蜂鸣器
module multfun_clock(clk,key1,key2,key3,key0,beep,dxuan, wxuan,count,divclk,wei_cnt,disp_state );
input clk;
input key1;
input key2;
input key3;
input key0;
output reg [7:0] dxuan;
output reg [5:0] wxuan;
output reg beep;
reg [25:0] count;
reg divclk; //分频产生1次/秒的脉冲用于时钟计数
reg [4:0] cnth,cnthh;
reg [5:0] cntd,cntdd;
reg [5:0] cnts,cntss;
reg [1:0] kstate;
//******************数码管数值定义*********************************//
parameter disp0=8'b1100_0000;
parameter disp1=8'b1111_1001;
parameter disp2=8'b1010_0100;
parameter disp3=8'b1011_0000;
parameter disp4=8'b1001_1001;
parameter disp5=8'b1001_0010;
parameter disp6=8'b1000_0010;
parameter disp7=8'b1111_1000;
parameter disp8=8'b1000_0000;
parameter dis