`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2018/04/30 16:43:04
// Design Name:
// Module Name: digital_clock
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
/*
数字钟,拟实现:
1:按键调时间
2:整点报时
*/
/*2018-5-15
实现了数字钟的基本计时功能
*/
/*2018-5-15
数字钟的调时功能实现:
*/
module digital_clock(
input clk,//系统时钟输入,2MHZ输入
input time_stop,//数字中停止计时,并等待用户调时
input time_adjust_ctrl,//控制具体哪一位被调节
output [5:0]sm_wei,//共阴数码管,低电平有效
output [3:0]sm_duan
);
reg clk_1KHZ=0;//1KHZ时钟
integer clk_1KHZ_cnt=0;//1KHZ时钟计数器
always@(posedge clk)//分频模块,产生1KHZ时钟
begin
if(clk_1KHZ_cnt<1000)//500
clk_1KHZ_cnt<=clk_1KHZ_cnt+1;
else
begin
clk_1KHZ_cnt<=0;//计数器清零
clk_1KHZ<=~clk_1KHZ;
end
end
reg clk_1HZ=0;//1HZ时钟
integer clk_1hz_cnt=0;
always@(posedge clk)
begin
if(clk_1hz_cnt<1000000)//50000
clk_1hz_cnt<=clk_1hz_cnt+1;
else
begin
clk_1hz_cnt<=0;