• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

多功能数字钟Verilog代码Quartus仿真

06/28 13:12
570
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240111100230649.doc

共1个文件

名称:多功能数字钟Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

一、设计任务及要求

数字钟是一种利用数字电子技术实现时分秒计时的装置,数字钟相比机械钟具有更高的准确性和直观性,因此得到了更加广泛的使用。数字钟从原理上讲是一种典型的数字电路,包括了组合逻辑电路时序逻辑电路。这次设计就是基于 EDA/SOPC 系统开发平台和八位数码管显示模块,运用 Quartus Ⅱ开发软件,设计一个多功能数字钟。

二、设计原理

多功能数字钟应该具有的功能:显示“时-分-秒”。整个数字钟的工作应该是在 1Hz 信号的作用下进行,这样每来一个时钟信号,秒增加 1 秒,当秒从 59 秒跳转到 00 秒时,分钟增加 1 分,同时当分钟从 59 分跳转到 00 分时,小时增加 1 小时,小时的范围是从 0~23 时。复位后全部显示 00-00-00。在设计中为了显示的方便,分钟和秒钟(显示的范围都是从 00~59),小时(00~23)的十位和个位都应该采用十进制计数器

1、设置“启/停”按钮和“复位”按钮:

“启/停”按钮 S1 的使用方法:按一下“启/停”按钮,启动数字钟开始计时,再按一下“启/停”按钮,计时暂停。

“复位”按钮 S2 用来使数字钟清 0,在数字钟计时过程中“复位”按钮无效,可以参考手机的秒表。(开发箱的按钮按下为 0,弹起为 1)原理框图如下:

QQ图片20240111095658.png

2、数码管译码显示电路:

数字钟显示范围 00-00-00~23-59-59,高位在左边,低位在右边,数码管显示需要经过 BCD-七段数码管译码。上电后,显示 00-00-00,利用两个按钮 S1、S2 控制数字钟的计时。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

6.1 分频模块仿真

6.2 按键消抖模块仿真

6.3 计时模块仿真

其中F表示“-”在数码管译码模块中F被译码显示为“-”

6.4 数码管译码扫描模块仿真

部分代码展示:

module?digital_clock(
input?CLK,//50MHz
input?CP,//1000Hz
input?S1,//启动、停止按钮
input?S2,//复位按钮,在数字钟计时过程中“复位”按钮无效
output?[2:0]?SEL,//数码管选择控制端
output?[6:0]?DIG//七段数码管ABCDEFG
);
wire?clk_1Hz;
wire?[31:0]?hour_mim_sec;//时分秒
wire?S1_key;
wire?S2_key;
wire?clk_1000Hz;
//分频器,1000Hz分频到1Hz
div_1Hz?i_div_1Hz(
.?CLK(CLK),
.?CP(clk_1000Hz),//1000Hz
.?clk_1000Hz(clk_1000Hz),
.?clk_1Hz(clk_1Hz)//输出1Hz
);
//按键消抖模块
key_jitter?i_key_S1(
.?clkin(CLK),?????
.?key_in(S1),//输入
.?key_value(S1_key)//消抖后按键
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=534

  • 2-240111100230649.doc
    下载

相关推荐