数字时钟系统(FPGA期末项目 | 数字时钟)

:暂无数据 2026-09-06 11:00:19 :0

数字时钟系统(FPGA期末项目 | 数字时钟)

其实数字时钟系统的问题并不复杂,但是又很多的朋友都不太了解FPGA期末项目 | 数字时钟,因此呢,今天小编就来为大家分享数字时钟系统的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

FPGA期末项目 | 数字时钟

FPGA开发平台、计算机、其它外接器件
选题的意义:个人认为本项目(《数字时钟》)的选题意义有二,其一,时钟和闹钟早已是老生常谈的日常工具,利用课堂上所学习的知识贯通运用到现实生活中,作为操作实践,具有一定的现实意义;其二,数字时钟的功能设计囊括了数码管、LCD屏、开关运用、管教分配等知识,能够对本学期所学的实验知识做一个挽接,在知识的总结上也具备一定意义;

功能要求:
1.用数码管显示时、分、秒:分为两个界面,即时钟界面以及闹钟设置界面,显示时钟的时分秒以及闹钟的时分秒,可以通过开关切换显示,是项目的基本功能;
2.能按比例缩短时间调试:调控时钟或闹钟的频跳速度,方便演示和调试;
3.闹钟功能:用户可以通过sw8切换进入闹钟界面,再利用sw1-3设定具体的闹钟时间,到点即响,同样是项目的基本功能;
4.用LCD屏显示日期(年月日)以及祝福语:作为时钟,显示年月日的功能个人觉得也是有必要的,另外关于祝福语,我们对实验和知识的学习其实本身就是快乐的过程,生活也没有必要每天都过得毫无色彩、千篇一律,所以怀揣着这份情怀呢,我在本项目中加了一个显示祝福语的功能,意在表达自己的这份对科学和生活的热爱以及学习的热情。
系统结构图如下所示:

各模块的功能及端口介绍:
(这里的模块功能和端口做简要的介绍,详细的用法请移步至《设计思路》部分)

功能:顶层模块,调用其他子模块,统筹整个系统的功能;

端口:
clk_50M, //系统时钟输入
Reset_n, //系统复位输入
seg7, //数码管显示输出位
ledcom, //数码管位置调控输出位
key, //开关输入号位,主要使用于CLKcounter_60BCD
beep, //蜂鸣器输出信号
LCD_ON1, //LCD供电电源开关
LCD_BLON1, //LCD背景电源开关
LCD_RS1, //寄存器选择信号
LCD_RW1, //液晶读写信号
LCD_EN1, //液晶时钟信号
LCD_DATA1, //LCD的数据端口

功能:LCD屏显示控制模块,用于控制LCD屏显示年月日以及祝福语;

端口:
LCD_ON, //LCD供电电源开关
LCD_BLON, //LCD背景电源开关
LCD_RS, //寄存器选择信号
LCD_RW, //液晶读写信号
LCD_EN, //液晶时钟信号
LCD_DATA, //LCD的数据端口
CLK, //模块时钟输入(项目中输入的是clk_50M)

功能:基于视觉暂留知识,控制时钟界面数码管的显示;

端口:
clk, //模块时钟输入
rst_n, //复位信号输入
mimute_cnt, //分钟位数据输入
second_cnt, //秒位数据输入
hour_cnt, //时位数据输入
seg7, //数码管显示输出位
ledcom, //数码管位置调控输出位

功能:在顶层模块调用,根据输入的时钟和时|分|秒位数据进行对应的加一计算和进位计算,并在溢出(分秒59加一溢出,时23加一溢出)时返回一个flag供顶层模块使用;

端口:
clk, //模块时钟输入
rst, //复位信号输入
couter_o, //数字时钟部分的时|分|秒位数据输出
flag, //输出一个溢出进位标志

功能:对输入的50MHz的系统时钟分频,调用时根据CLK_DIV变量的复用情况进行运算并返回对应的时钟分频结果;

端口:
clk_in, //模块时钟输入,在顶层模块
rst, //复位信号输入
clk_out, //时钟分频结果输出

hour_cnt,CLKmimute_cnt,CLKsecond_cnt,CLKhour_cnt,ledcom,seg7,sw8);
功能:基于视觉暂留知识,控制闹钟设置界面数码管的显示,并基于sw8的状态控制切换数码管屏显示;

端口:
clk, //模块时钟输入
rst, //复位信号输入
mimute_cnt, //分钟位数据输入(时钟)
second_cnt, //秒位数据输入(时钟)
hour_cnt, //时位数据输入(时钟)
CLKmimute_cnt,//分钟位数据输入(闹钟设置)
CLKsecond_cnt,//秒位数据输入(闹钟设置)
CLKhour_cnt, //时位数据输入(闹钟设置)
seg7, //数码管显示输出位
ledcom, //数码管位置调控输出位
sw8 //开关8的输入信号

功能:在顶层模块调用,根据输入的时钟频率clk和时|分|秒位数据进行对应的加一计算和进位计算,并在溢出(分秒59加一溢出,时23加一溢出)时返回一个flag供顶层模块使用;

端口:
clk, //模块时钟输入
rst, //复位信号输入
couter_o, //数字闹钟设置部分的时|分|秒位数据输出
flag, //输出一个溢出进位标志
sw //开关输入位,作为key的接收变量
功能:顶层模块,调用其他子模块,统筹整个系统的功能;

思路:
A.复用两次分频模块clk_gen,产生两个速度不一样的时钟频——clk_second和clk_second2,分别用来驱动数字时钟和数字闹钟设置;

B.复用三次时钟控制模块counter_60BCD:
第一次,用clk_second作为时钟频输入,传入second_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为60,模块每溢出一次(即每计数到60个秒),产生一个flag,即flag_min;
第二次,用flag_min作为时钟频输入,传入minute_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为60,模块每溢出一次(即每计数到60个分),产生一个flag,即flag_hour;
第三次,用flag_hour作为时钟频输入,传入hour_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为24,模块每计数到24个时溢出一次;

C.复用三次闹钟控制模块CLKcounter_60BCD:
第一次,用clk_second2作为时钟频输入,传入CLKsecond_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为60,sw位传入key信号,即sw3的状态信号;
第二次,用clk_second2作为时钟频输入,传入CLKminute_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为60,sw位传入key信号,即sw2的状态信号;
第三次, 用clk_second2作为时钟频输入,传入CLKhour_cnt给couter_o作为秒位数据承载,MODULEofCNT设置为24,sw位传入key信号,即sw1的状态信号;

D.复用LCD屏控制显示模块lcd_ori,根据本函数定义的变量复用对应的参数;

E.复用闹钟数码管控制显示模块CLKseg_display,根据本函数定义的变量复用对应的参数;

F.接下来,编写了一个状态机,主要设置并使用了state0、state1、state2等三个状态;
state0状态:使用if判断语句
if(second_cnt==CLKsecond_cnt&&minute_cnt==CLKminute_cnt&&hour_cnt==CLKhour_cnt)
等一个在闹钟界面模块设置的时分秒数列,等到这个数列的时候转跳到state1或state2,并设置好蜂鸣器鸣响的延时时间到变量cnt_2;
state1、state2:在计数变量cnt_2归零之前,一直给蜂鸣器管脚输出高电平,直到计数变量cnt_2归零,输出为低电平,停止蜂鸣器鸣响;

功能:LCD屏显示控制模块,用于控制LCD屏显示年月日以及祝福语;

思路:
A.将年月日以及祝福语分别编写成字符串,再分别付给变量lcd_buf_first、data_first和lcd_buf_second、data_second;

B.准备好状态参数常量——
clear_lcd、
set_disp_mode、
disp_on、
shift_down、
write_data_first、
write_data_second;
基于状态机思想,并用current_state变量承载状态常量;
C.初始化LCD模块;

D.clear_lcd状态, 清屏并光标复位 ;
set_disp_mode: 设置显示模式:8位2行5x8点阵;
disp_on: 显示器开、光标不显示、光标不允许闪烁 ;
shift_down: 文字不动,光标自动右移;data_first赋值给lcd_buf_first;
write_data_first、write_data_second: 用于写入数据
default: 若current_state为其他值,则将current_state置为clear_lcd;

功能:基于视觉暂留知识,控制时钟界面数码管的显示;

思路:
A.复用分频模块clk_gen分频出一个时钟clk_div,周期约为0.1s;

B.设置一个8位的变量cnt,基于clk_div进行递加一,并在0到满位溢出之间循环(满位溢出时将之归零,再继续加一处理);

C.基于快速递加一的变量cnt,在每个clk时钟上升沿来的是时候,取其低三位(八个数码管格位,刚好三位二进制数可以完整表示)进行case处理,
每个case的子状态中,根据cnt低三位的值,把对应的表示数码管位置的二进制数赋值给ledcom,用于选择数码管格位;再把对应的数据(如秒位数据的低四位second_cnt等)传给dis变量; dis的用法是在下一个always模块里面,case判断dis的值,根据dis的值把对应的二进制数传给seg7变量,用于基于ledcom选择数码管格位之后,显示格位里面的内容;

由此,基于快速跳变的clk时钟和clk_div时钟,ledcom的值也不断地快速变换,由此数码管的每个格位都在被快速地选择和显示,于是这样便是通过了视觉暂留效应,实现了数码管时钟的显示;

功能:在顶层模块调用,根据输入的时钟和时|分|秒位数据进行对应的加一计算和进位计算,并在溢出(分秒59加一溢出,时23加一溢出)时返回一个flag供顶层模块使用;

思路:
A.将MODULEofCNT(分别通过/10和%10运算)切成5/2和9/3两个数,并分别付给变量a和b;

B.通过a和b判断是对分秒位数据(MODULEofCNT为60)还是对时位数据(MODULEofCNT为24)进行计算;
若是分秒位数据:先对couter_o不小于于a(9),则couter_o八个位都归零,并返回一个溢出进位flag(flag《=1);
若是时位数据:逻辑同上,只将b替换为2,将a替换为3进行处理即可;

功能:对输入的50MHz的系统时钟分频,调用时根据CLK_DIV变量的复用情况进行运算并返回对应的时钟分频结果;

思路:简单地基于系统时钟clk_in以及可复用的参数CLK_DIV实现分频的功能;

hour_cnt,CLKmimute_cnt,CLKsecond_cnt,CLKhour_cnt,ledcom,seg7,sw8);
功能:基于视觉暂留知识,控制闹钟设置界面数码管的显示,并基于sw8的状态控制切换数码管屏显示;

思路:
A.复用分频模块clk_gen分频出一个时钟clk_div,周期约为0.1s;

B.(基于sw8的状态控制切换数码管屏显示)If语句判断sw8时候为高电平,如果是,则将CLKsecond_cnt、CLKmimute_cnt、CLKhour_cnt系列数据付给dis变量,如果不是则将second_cnt系统数据付给dis变量;细节处如cnt、ledcom、dis、case(cnt)等用法则跟seg_display模块的设计思路相同;

功能:在顶层模块调用,根据输入的时钟频率clk和时|分|秒位数据进行对应的加一计算和进位计算,并在溢出(分秒59加一溢出,时23加一溢出)时返回一个flag供顶层模块使用;

思路:同counter_60BCD模块的设计思路;
1.开机状态,初始为数字时钟界面,下图为数码管上规则地显示闪动的时钟,通过分频模块的参数调改可以改变其速度;
LCD屏上显示具体的日期(年月日)以及祝福语(Wish you happy/happiness——祝你幸福),开关状态为全数低电平:

2.上推sw8,令之输出为高电平,数码管即切换到闹钟设置界面:

4.上推sw2,令之输出为高电平,数码管闹钟界面上“分”数位持续加一(图中已加到04):

5.上推sw3,令之输出为高电平,数码管闹钟界面上“秒”数位持续加一(图中已加到05):
顶层文件,用于调用诸多要使用的模块;

管教分配的脚本文件,描述管教的分配;

LCD屏模块,实现LCD屏显示年月日以及祝福语的功能;

时钟模块的数码管显示的相关模块文件;

关于实现时钟界面显示的后台数字计算(相关变量的加一和进位操作等)的文件;

时钟分频模块,用于实现各种参数频率的分频;

闹钟模块的数码管管显示的相关模块文件;

关于实现闹钟界面显示的后台数字计算(相关变量的加一和进位操作等)的文件。

数字时钟的数字时钟设计

数字电子技术的迅速发展,使各种类型集成电路在数字系统、控制系统、信号处理等方面得到了广泛的应用。为了适应现代电子技术的迅速发展需要,能够较好的面向数字化和专用集成电路的新时代,数字电路综合设计与制作数字钟,可以让我们了解数字时钟的原理。在实验原理的指导下,培养了分析和设计电路的能力。并且学会检查和排除故障,提高分析处理实验结果的能力。
数字时钟是一种用数字电路技术实现时、分、秒计时的装置。与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。数字钟从原理上讲是一种典型的数字电路,一般是由振荡器、分频器、计数器、显示器等几部分组成。其中包括了组合逻辑电路和时序电路。数字钟的设计方法有许多种,例如:可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。
数字时 钟以其体积小、重量轻、抗干扰能力强、对环境要求高、高精确性、容易开发等特性,在工业控制系统、智能化器仪表、办公自动化等诸多领域取得了极为广泛的应用,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等。

单片机用中断和定时器控制时时钟系统的工作原理是什么实验报告

数字时钟实验报告。根据查询数字时钟实验报告得知,实验1是通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED数码管指示出计数值,从而观察中断的请求、响应的过程。实验2是通过单片机的定时器产生延时,控制LED闪烁的方法。通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试,所以单片机用中断和定时器控制时时钟系统的工作原理出是数字适中实验报告。工作原理就是工作的基本规律,多指事物运行的原由或者规律。

荣耀x40i没有数字时钟怎么办

如果荣耀x40i手机默认没有数字时钟,您可以按照以下步骤设置数字时钟:
1. 打开手机的“时钟”应用程序。
2. 在时钟界面上方选择“钟表”。
3. 选择“数字时钟”,系统会自动为您显示数字时钟界面。
4. 如果您想要将数字时钟添加到桌面上,可以长按时钟界面,然后选择“将小部件添加到主屏幕”。
如果您希望将数字时钟作为默认时钟,您可以在时钟左下角的“设置”菜单中打开“默认闹钟类型”,选择“数字时钟”即可。
需要注意的是,以上设置操作可能因荣耀x40i手机版本和UI的不同而有所差异,但是一般都可以在“时钟”应用程序中进行设置。希望以上信息能够帮助您解决问题,如果还有其他问题需要解答,请随时向我提问。

华为桌面数字时钟在哪里设置

操作手机:华为nova9
操作系统:鸿蒙OS2.0.1、iOS14
华为桌面数字时钟设置方法如下:
1、在鸿蒙桌面空白处长按然后进入桌面设置之中。
2、在桌面设置之中点击下方菜单的窗口小工具进入。点击时钟选项然后选择好喜欢样式拖入桌面即可。
华为手机设置:
1、信息整合
在短信设置里开启这个功能之后,所以通知类的信息,就会单独被列出一项,在"通知信息"栏里。互联网时代,每天收到的通知信息至少也得10条,所以这个功能显得尤为重要。当然,觉得自己需要的短信,还是可以通过手动设置来显示的。
2、用户体验计划
这个功能,如果手机性能不是很好的用户建议不要开启。手机比较好的,可以一直开着,在用户使用手机时,遇到bug,不管大小都会上传到数据库,然后后台人员会对手机、系统进行优化。

OK,关于数字时钟系统和FPGA期末项目 | 数字时钟的内容到此结束了,希望对大家有所帮助。

数字时钟系统(FPGA期末项目 | 数字时钟)

本文编辑:admin

更多文章:


word表格上下分离了怎么办(word里面怎样把上下页面的两个表格接在一起)

word表格上下分离了怎么办(word里面怎样把上下页面的两个表格接在一起)

大家好,今天小编来为大家解答以下的问题,关于word表格上下分离了怎么办,word里面怎样把上下页面的两个表格接在一起这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 07:40

b2b网站有哪些?网站按类型分类能怎么分

b2b网站有哪些?网站按类型分类能怎么分

本篇文章给大家谈谈行业网站,以及b2b网站有哪些对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 07:30

《冲动的惩罚》樱花动漫(冲动的惩罚樱花未增删翻译)

《冲动的惩罚》樱花动漫(冲动的惩罚樱花未增删翻译)

这篇文章给大家聊聊关于《冲动的惩罚》樱花动漫,以及冲动的惩罚樱花未增删翻译对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:20

罪恶都市无敌秘籍不掉血(《侠盗飞车》无敌不掉血代码是什么)

罪恶都市无敌秘籍不掉血(《侠盗飞车》无敌不掉血代码是什么)

大家好,关于罪恶都市无敌秘籍不掉血很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于《侠盗飞车》无敌不掉血代码是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助

2026年10月11日 06:40

原神体验服资格怎么申请?古云传奇测试服怎么进

原神体验服资格怎么申请?古云传奇测试服怎么进

大家好,关于测试服很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于原神体验服资格怎么申请的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 05:30

黄金矿工写了几本小说(言情小说包括哪些类型的小说)

黄金矿工写了几本小说(言情小说包括哪些类型的小说)

“黄金矿工写了几本小说”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看黄金矿工写了几本小说(言情小说包括哪些类型的小说)!

2026年10月11日 04:50

texas怎么读?texas表示美国哪个州

texas怎么读?texas表示美国哪个州

本篇文章给大家谈谈texas,以及texas怎么读对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 03:40

c1驾驶证考试题科目一模拟试题(驾驶员c1考试模拟题)

c1驾驶证考试题科目一模拟试题(驾驶员c1考试模拟题)

本篇文章给大家谈谈c1驾驶证考试题科目一模拟试题,以及驾驶员c1考试模拟题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 02:20

ksweb搭建网站教程(手机可以用来当服务器吗)

ksweb搭建网站教程(手机可以用来当服务器吗)

“ksweb搭建网站教程”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ksweb搭建网站教程(手机可以用来当服务器吗)!

2026年10月11日 01:30

建行系统故障(建行系统原因开不了手续费发票)

建行系统故障(建行系统原因开不了手续费发票)

大家好,如果您还对建行系统故障不太了解,没有关系,今天就由本站为大家分享建行系统故障的知识,包括建行系统原因开不了手续费发票的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 23:20

最近更新

withdrawal(withdrawal是什么意思)
2026-10-11 07:00:01 浏览:0
热门文章

标签列表