赞
踩
名称:多功能数字钟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)原理框图如下:
2、数码管译码显示电路:
数字钟显示范围 00-00-00~23-59-59,高位在左边,低位在右边,数码管显示需要经过 BCD-七段数码管译码。上电
后,显示 00-00-00,利用两个按钮 S1、S2 控制数字钟的计时。
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)//消抖后按键 );
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。