Verilog实现的数字钟

本文介绍了一个基于动态扫描的时钟显示系统设计方案,包括秒、分钟和小时模块的详细编程示例,以及分频模块和七段码译码/显示器的实现。挑战读者将这些模块转化为Verilog代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、总体方案      

          给出一个基本内容的实现方案,大家具体分析一下。留下不完善的地方待大家发现修改。

        该方案选择动态扫描方式,扫描频率100hz,由系统提供的10MHz分频得到。同时系统时钟分频得到计数器需要的1hz的时钟。秒、分钟使用十进制的60进制和小时的24进制。显示部分有6个LED数码管,由于采用动态扫描方式显示,每一个时刻只有一组数据送到一个LED上显示,其他的数码管时不显示的,只要扫描频率大于人眼余晖时间(24HZ以上),我们看到的就是六个稳定显示的数据。Seltime模块实现六组数据的分时输出。Deled实现七段码译码功能,74138实现六个数码管的分时显示控制(留给大家任务,改成Verilog代码实现相同的功能)。

其他功能,如整点报警,调节时间等,自己扩展。

仿真过程大家自行进行。

二、部分参考程序如下:

秒模块参考程序:

module SECOND(
    input clk, clr, 
    output [7:0] second,
    output reg co
);
    reg [7:0] cnt;

always @(posedge clk) 
begin
	if (clr) 
		begin
			cnt<= 8'b000
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值