数电实验 数字电子钟设计 基于quartus 实现计时校时闹钟秒表稍复杂音频 分享电路图设计以及工程文件

简介: 数电实验 数字电子钟设计 基于quartus 实现计时校时闹钟秒表稍复杂音频 分享电路图设计以及工程文件

数字电子钟设计


本文主要完成数字电子钟的以下功能

1、计时功能(24小时)

2、秒表功能(一个按键实现开始暂停,另一个按键实现清零功能)

3、闹钟功能(设置闹钟以及到时响10秒)

4、校时功能

5、其他功能(清零、加速、星期、八位数码管显示等)


前排提示:前面几篇文章介绍过的内容就不详细介绍了,可以看我专栏的前几篇文章。

PS.工程文件放在最后面


总体设计

a214b731213c4fe7bca5f882a4e61b1c.png


本次设计主要是在前一篇文章 数字电子钟基本功能的实现 的基础上改编而成的,主要结构不变,分频器将50MHz分为较低的频率备用;dig_select负责扫描8位数码管,sec_select和code_select模块负责对应位置的输出。

**设计思路:**电路由三个大的模块和九个小的模块组成,大的三个模块分别对应时钟,秒表和闹钟功能。九个小的模块包括分频模块、加速模块、输出选择模块、译码器模块、消抖模块、闹钟判定模块、闹铃播放模块、位选模块、各种计数器模块等。


一、计时功能

1、分频模块电路设计

(1) 模块功能

将50MHz模块分为5000Hz、1000Hz、500Hz、5Hz和1Hz备用

(2) 设计思路

利用计数器m100和74390芯片将50MHz频率的输入信号逐级分频

(3) 设计结果(电路)


02eef7b2a7714dffa5f182d62fda01e9.png


2、分、秒计时模块(模60计数)

(1) 模块功能(计数、进位)

实现模60计数器计数、进位以及清零功能

(2) 设计思路

利用73390芯片的双十进制计数功能,先设计模100计数器,到60的时候清零,设计为模60计数器

(3) 设计结果(电路)


af571dff170048d78ee766d290d6700a.png


3、小时计时模块(模24计数)

(1) 模块功能

实现模24计数器计数进位和清零功能

(2) 设计思路

和模60计数器类似,将模100计数器到24的时候清零,设计为模24计数器

(3) 设计结果(电路)


992344882ddb430fa5cf9a20c0dce276.png


4、数码管动态显示模块


设计思路:dig_select模块依次扫描8个数码管,同时code_select模块选择当前数码管应输出的数字或符号。


4.1 扫描模块cnt6


(1) 模块功能

实现模6计数器,动态扫描6个数码管

(2) 设计思路

利用74390芯片的模10功能,到6的时候截取。

(3) 设计结果(电路)

5047d5298d6f4c36bf83a8a9bf165d04.png


4.2 位选模块dig_select

(1) 模块功能

根据模6计数结果,输出相应的数码管显示

(2) 设计思路

利用74138芯片分配高电平到各个管脚

(3) 设计结果(电路)


28f7f94594f3457aab96f3250092bb26.png

4.3 数据选择模块code_select

(1) 模块功能

从8组数据中选择一组数据输出

(2) 设计思路

利用747151芯片的8选1数据选择功能,将每一位的数字的显示功能分开。

(3) 设计结果


1e458a0302604f2f9f6d648411ced609.png


4.4 译码模块decoder

(1) 模块功能

输入BCD码,输出数码管的七段码

(2) 设计思路

利用7448芯片带有的译码功能,在正常输出的基础上,对6、9进行补段,并将1111改为输出一条横线。

(3) 设计结果

68d9c896fa1e46d1bbcea362b7dd5db7.png


4.5 动态显示模块


设计思路:利用模8计数器动态扫描8个数码管,同时数据选择器同步输出对应位置的信号。横线用1111表示,输出横线时,decoder输出g位数码管即可


二、秒表功能


(1)模块功能


实现秒表的设计,用一个按钮表示start和end两种状态,实现秒表的计时与暂停功能。用k7实现秒表的清零功能


(2)设计思路


秒表与时钟类似,毫秒端用一个模100计数器,秒端用一个模60计数器,分端用一个模60计数器,输入时钟信号改为100hz。需用数据选择器设计一个保持模块,按一次按键切换一次状态,实现一个按钮控制秒表的开始与暂停。


(3)设计结果


封装设计

908bf1ec13cd469db59ab94a0f615c92.png


整体设计


a094eced74184fd78fb44058a246c7e4.png

保持模块


9b7c87a3ff8b43a7b970af08e0609767.png


计数模块Ucnt10


b024492415a74597b08ed251f0ffc721.png


三、闹钟功能


(1)模块功能


实现闹钟功能的设计,实现设定闹钟,并且到达设定时间后,发出闹铃“滴滴滴 滴滴滴 滴滴滴”的功能


(2)设计思路


先设计一个set_clock端,只有该模块被选中时其他按键才会有效,否则都被set clock端的高电平封锁,然后依次连接cnt60、cnt60、cnt24模块,作为闹钟显示的秒位、分位和时位。这三个计数器的时钟端除了接收低位来的进位信号外,还接收输入端的信号,这样就可以实现对每一位的单独加一操作。之后,将三个计数器的数字输出到比较模块。

比较模块同时接收来自时钟模块的时间数据和来自闹钟模块的闹钟时间,利用同或门比较二者,如果时钟时间与闹钟时间相同,则会在接下来的10秒内持续输出1kHz的信号给音频模块。

音频模块是由8选1数据选择器和计数器组成,在接收到时钟信号后,计数器开始工作,依次将数据选择器的8个输入端输出,这时候将8个输入端接不同的频率就可以实现简单地音频播放。


(3)设计结果


闹钟设定模块

26d90ff10ec149f99bacaf78b604d4db.png


整体设计


66224b1230b74ce2b6f35ca06a943a12.png

比较模块

cf083dd61c904859b8692936c76dd0d3.png


整体设计


efc48df1b1e34be9a06f7360ae7d447f.png


音频模块设计(实现稍复杂音频)

3195071b80114358a5cddaeb13c92bd4.png


四、校时功能


(1)模块功能

实现时钟的校时功能,用四个按键分别调整秒、分、时和星期的设定。


(2)设计思路


在计时模块的基础上,每一个计数器加上一个时钟信号输入端,通过给时钟信号输入端加上升沿,计数器加一,完成校时功能。


(3)设计结果

按键消抖模块(key_debounce模块)

05dc658628af4756ba7b6f53b5a3e100.png


校时功能设计

76072c96852f4fe192f71734a7ac120f.png


五、其他功能


1、清零功能

(1)模块功能

实现时间模块的清零功能

(2)设计思路

每一个计数器的清零端通过或门接到开关,开关输入高电平时清零

(3)设计结果


5e1919fc750b431999c599df2c1827e4.png


内部设计

45b9cce628624dae87effaa501b2c4cd.png


2、8位数码管显示功能

(1)模块功能

用8位数码管显示,第1位显示星期,第2位显示横线,剩下6位显示小时、分钟、秒。

(2)设计思路

将模6计数器改为模8计数器,dig端连接到8个数码管。Code_select模块的数据选择器加2个状态,横线用1111表示。

(3)设计结果

模8计数器


8707c1fbe57340dd9cfa81cc34ecdd46.png

Code_select

3ef4711854474746b7660181809ecb77.png


Sec_select

740e941c09a449558625769e8d432e47.png


3、暂停与切换模式功能

(1)模块功能

实现两种模块的切换以及时钟的暂停功能

(2)设计思路

利用与非门高电平屏蔽另一个输入的特性,设计一个mode_select模块,用一个开关在三种主要功能之间切换

(3)设计结果

模式切换模块

32158000eb7a480eb9d731345ce54a87.png

封装设计

56c1e809150c41fab16ab2ab7f7d91e3.png


4、星期显示功能

(1)模块功能

用一位数字显示星期

(2)设计思路

将表示小时的模24计数器的进位端接到模7计数器上,模7计数器的输出表示星期。

(3)设计结果

模7计数器

0d9df70e992146b8a54ac19f50102374.png




相关文章
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
487 2
|
开发框架 .NET 芯片
电子技术实训——多功能数字钟的设计
电子技术实训——多功能数字钟的设计
电子技术实训——多功能数字钟的设计
|
3月前
|
机器学习/深度学习 人工智能 监控
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
坐姿标准好坏姿态数据集的发布,填补了计算机视觉领域在“细分健康行为识别”上的空白。它不仅具有研究价值,更在实际应用层面具备广阔前景。从青少年的健康教育,到办公室的智能提醒,再到驾驶员的安全监控和康复训练,本数据集都能发挥巨大的作用。
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
异构计算
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
1392 0
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
|
监控 Java 微服务
spring 熔断机制
spring 熔断机制
310 0
|
11月前
|
数据安全/隐私保护
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
本文详细总结了思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细),看这一篇就够啦~
37701 6
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
28138 73
SDL事件处理以及线程使用(2)
SDL库中事件处理和多线程编程的基本概念和示例代码,包括如何使用SDL事件循环来处理键盘和鼠标事件,以及如何创建和管理线程、互斥锁和条件变量。
188 1
SDL事件处理以及线程使用(2)
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
异构计算
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
1548 0
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)