news 2026/9/2 11:55:05

高精度秒表倒计时器系统的设计Verilog代码Quartus Spirit_V4开发板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高精度秒表倒计时器系统的设计Verilog代码Quartus Spirit_V4开发板

名称:高精度秒表倒计时器系统的设计Verilog代码Quartus Spirit_V4开发板(文末获取)

软件:Quartus II

语言:Verilog

代码功能

本项目实现了一个高精度的秒表和倒计时器系统,具备两种工作模式和精确的时间控制功能。系统主要功能包括:

·高精度秒表功能:实现启动、暂停、复位操作,精度达到10毫秒

·倒计时器功能:可设置倒计时时间,支持分钟、秒钟、毫秒设置

·双模式切换:通过模式按键在秒表和倒计时器之间切换

·实时显示:六位数码管动态显示时间数据,支持小数点显示

·精确计时:基于100Hz时钟实现10毫秒级精度计时

·智能控制:按键消抖处理,确保操作稳定性

·状态指示:LED指示灯显示当前工作模式

代码实现思路

系统架构设计

系统采用模块化设计,主要包含五个核心功能模块:

1.顶层控制模块:集成所有功能模块,实现模式切换和数据路由

2.秒表模块:实现正计时功能,支持启动、暂停、复位操作

3.倒计时模块:实现倒计时功能,支持时间设置和倒计时控制

4.显示模块:六位数码管动态扫描显示,支持小数点显示

5.时钟分频模块:将50MHz时钟分频为100Hz工作时钟

状态机设计

秒表和倒计时模块均采用四状态状态机实现完整的控制流程:

·空闲状态:系统初始化,等待用户操作

·计时状态:正在计时或倒计时

·暂停状态:计时暂停,保持当前时间

·复位状态:时间清零,准备重新开始

代码结构

模块层次结构

Digital_clock (顶层模块)
├── stopwatch (秒表模块)
├── countdown (倒计时模块)
├── display (显示控制模块)
├── set_mode (模式设置模块)
└── fenping (时钟分频模块)

模块功能描述

1.Digital_clock.v:顶层模块,集成所有功能模块

2.stopwatch.v:秒表功能模块,实现正计时

3.countdown.v:倒计时功能模块,支持时间设置

4.display.v:显示控制,支持六位数码管动态扫描

5.set_mode.v:模式切换控制,LED状态指示

6.fenping.v:时钟分频,50MHz→100Hz

显示系统设计

系统采用六位数码管动态扫描显示,显示格式为:

·秒表模式:分 秒.毫秒(如:12 34.56)

·倒计时模式:分 秒.毫秒(如:05 30.00)

其中秒和毫秒之间的小数点通过特殊段选码实现,提高显示可读性。

本代码已在Spirit_V4开发板验证,Spirit_V4开发板如下,其他开发板可以修改管脚适配:

1.工程文件

2.程序文件

3.程序编译

4.RTL图

5.管脚分配

6.Testbench

7.仿真图

分频模块

倒计时模块

正计时模块

显示模块

按键模块

模块控制模块

部分代码展示:

module Digital_clock(input clk_50M,input start_stop_key,//跑表启动,暂停input reset_key,//跑表复位input mode_key,//模式按键input set_minute_key,//设置时间input set_second_key,//确认input set_msecond_key,//设置时分秒output [1:0] led_mode,//led显示当前模式output [5:0] bit_select,//数码管位选output [7:0] seg_select//数码管段选);wire [7:0] stopwatch_Millisecond;//10毫秒wire [7:0] stopwatch_second;//秒wire [7:0] stopwatch_minute;//分wire [7:0] countdown_hour_time;//时wire [7:0] countdown_minute_time;//分wire [7:0] countdown_second_time;//秒wire start_stop_key_negedge;wire reset_key_negedge;wire mode_key_negedge;wire set_minute_key_negedge;wire set_second_key_negedge;wire set_msecond_key_negedge;wire [1:0] state_mode;//当前模式,4'd0:正计时,4'd1:倒计时wire clk_100Hz;//分频模块fenping fenping_Hz(. clk_50M(clk_50M),. clk_100Hz(clk_100Hz)//分频到100Hz);
源代码

点击下方的公众号卡片获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:28:33

一键部署Stable Diffusion:Docker容器化解决方案终极指南

一键部署Stable Diffusion:Docker容器化解决方案终极指南 【免费下载链接】stable-diffusion-webui-docker Easy Docker setup for Stable Diffusion with user-friendly UI 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion-webui-docker 想要…

作者头像 李华
网站建设 2026/9/2 8:57:05

【大模型自动化新纪元】:Open-AutoGLM在GitHub上的崛起与技术内幕曝光

第一章:大模型自动化新纪元的开启人工智能正以前所未有的速度演进,大型语言模型(LLM)的崛起标志着自动化技术进入全新阶段。这些模型不仅能理解自然语言,还能生成高质量内容、执行复杂推理,并与外部系统协同…

作者头像 李华
网站建设 2026/9/3 3:07:28

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效 【免费下载链接】wsa_pacman A GUI package manager and package installer for Windows Subsystem for Android (WSA) 项目地址: https://gitcode.com/gh_mirrors/ws/wsa_pacman 你可能想知道&#…

作者头像 李华
网站建设 2026/9/2 23:16:36

10分钟精通Obsidian日历插件:提升效率的终极指南

10分钟精通Obsidian日历插件:提升效率的终极指南 【免费下载链接】obsidian-full-calendar Keep events and manage your calendar alongside all your other notes in your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-full-calendar…

作者头像 李华
网站建设 2026/9/2 23:17:07

Potree三维点云可视化:从入门到精通的终极指南

在当今数字化时代,三维点云数据的可视化需求日益增长,无论是地理测绘、文物研究还是建筑设计,都需要高效的工具来处理和展示海量点云数据。Potree作为基于WebGL的开源点云渲染器,以其卓越的性能和丰富的功能,成为点云可…

作者头像 李华
网站建设 2026/9/2 23:18:13

打破论文写作的“隐形成本”:书匠策AI如何将你的创作时间还给思考

面对屏幕上文献管理、格式调整、逻辑校验的无数弹窗,一位青年研究员终于意识到,自己70%的时间没有花在真正的“研究”上。深夜的实验室里,研究生王明正盯着屏幕上同时打开的12个窗口:一个是知网文献管理器,一个是EndNo…

作者头像 李华