news 2026/4/3 4:48:55

多功能数字时钟计算器系统的设计Verilog代码Quartus Spirit_V4开发板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多功能数字时钟计算器系统的设计Verilog代码Quartus Spirit_V4开发板

名称:多功能数字时钟计算器系统的设计Verilog代码Quartus Spirit_V4开发板(文末获取)

软件:Quartus II

语言:Verilog HDL

代码功能

本项目实现了一个高度集成的多功能数字系统,结合了数字时钟、计算器、闹钟、秒表和定时器五大功能。系统主要功能包括:

·多功能数字时钟:实时显示时分秒,支持时间设置和调整

·四则运算计算器:实现加减乘除运算,支持连续计算功能

·智能闹钟系统:可设置闹钟时间,具备闹钟提醒功能

·精确秒表功能:支持启动、暂停、复位操作,精度达到10毫秒

·倒计时定时器:实现可设置的定时功能,支持时分秒设置

·模式切换:通过按键在不同功能间无缝切换

·数码管显示:六位数码管动态显示各种模式下的数据

代码实现思路

系统架构设计

系统采用模块化分层设计,主要包含八大功能模块:

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

2.计算器模块:实现四则运算功能,包含状态机和数字输入处理

3.时钟模块:实时时钟功能,支持时间设置和显示

4.闹钟模块:闹钟设置和提醒功能

5.秒表模块:高精度计时功能

6.定时器模块:倒计时功能

7.显示模块:六位数码管动态扫描显示

8.按键处理模块:按键消抖和状态检测

状态机设计

计算器模块采用六状态状态机实现完整的计算流程:

·输入第一个数选择运算符输入第二个数确认计算显示结果连续计算

代码结构

模块层次结构

Digital_clock (顶层模块)
├── calculator (计算器模块)
│ ├── state_ctrl (状态控制)
│ └── num_in (数字输入)
├── jishi (时钟模块)
├── alarm_clock (闹钟模块)
├── stopwatch (秒表模块)
├── timing (定时器模块)
├── Bell (蜂鸣器控制)
├── set_mode (模式设置)
├── display (显示控制)
└── fenping (时钟分频)

模块功能描述

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

2.calculator.v:计算器核心模块,实现四则运算

3.state_ctrl.v:计算器状态机控制

4.num_in.v:数字输入处理,支持多位数字输入

5.jishi.v:实时时钟功能

6.alarm_clock.v:闹钟设置和控制

7.stopwatch.v:秒表计时功能

8.timing.v:倒计时定时器

9.display.v:六位数码管显示控制

10.fenping.v:时钟分频模块

显示系统设计

系统采用六位数码管动态扫描显示,根据不同模式显示相应数据:

·时钟模式:显示时分秒

·闹钟模式:显示闹钟设置时间

·秒表模式:显示分秒毫秒

·计算器模式:显示计算结果

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

1.工程文件

2.程序文件

3.程序编译

4.管脚分配

5.RTL图

6.Testbench

7.仿真图

单模块仿真演示

计时模块

部分代码展示:

//设置闹钟模块module alarm_clock(input clk_50M,input [3:0] state_mode,//当前模式,4'd0:计时,4'd1:闹钟,4'd2:跑表input set_time_key,//设置时间input confirm_key,//确认input change_time_key,//设置时分秒output [7:0] alarm_hour_time,//时output [7:0] alarm_minute_time,//分output [7:0] alarm_second_time//秒);reg [7:0] hour=8'd21;//时reg [7:0] minute=8'd59;//分reg [7:0] second=8'd00;//秒parameter state_time=2'd0;//正常计时状态parameter state_set_hour=2'd1;//设置小时状态parameter state_set_minute=2'd2;//设置小时状态parameter state_set_second=2'd3;//设置秒状态reg [1:0] state=state_time;//默认正常计时状态always@(posedge clk_50M)if(state_mode==4'd1)//当前模式,4'd0:计时,4'd1:闹钟,4'd2:跑表case(state)state_time:if(set_time_key)//设置键按下,进入设置小时状态state<=state_set_hour;elsestate<=state_time;state_set_hour:if(confirm_key)//确认键按下,进入设置分钟状态state<=state_set_minute;elsestate<=state_set_hour;state_set_minute:if(confirm_key)//确认键按下,进入设置秒状态state<=state_set_second;elsestate<=state_set_minute;state_set_second:if(confirm_key)//确认键按下,返回正常计时状态
源代码

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

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

挤出机精度校准终极指南:告别3D打印尺寸偏差的困扰

挤出机精度校准终极指南&#xff1a;告别3D打印尺寸偏差的困扰 【免费下载链接】PrusaSlicer G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.) 项目地址: https://gitcode.com/gh_mirrors/pr/PrusaSlicer 还在为3D打印件的尺寸不准确而烦恼吗&…

作者头像 李华
网站建设 2026/4/1 18:17:00

Open-AutoGLM新官网邀请码曝光(专家亲测有效获取方法)

第一章&#xff1a;Open-AutoGLM新官网邀请码概述 Open-AutoGLM 是一个面向自动化代码生成与自然语言理解的开源大语言模型项目&#xff0c;其新官网上线后引入了邀请码机制&#xff0c;旨在控制初期用户增长节奏&#xff0c;保障系统稳定性并构建高质量开发者社区。邀请码不仅…

作者头像 李华
网站建设 2026/3/31 16:55:22

5分钟搞定Minecraft外观管理:SkinsRestorer完全指南

还在为Minecraft服务器中外观频繁丢失而头疼吗&#xff1f;每次进入离线模式&#xff0c;精心挑选的外观就神秘消失&#xff0c;只剩下单调的Steve或Alex&#xff1f;今天我要介绍的SkinsRestorer插件&#xff0c;正是解决这一难题的完美方案。作为Minecraft社区最受欢迎的外观…

作者头像 李华
网站建设 2026/3/12 10:38:12

如何快速掌握DanbooruDownloader:新手完整使用教程

如何快速掌握DanbooruDownloader&#xff1a;新手完整使用教程 【免费下载链接】DanbooruDownloader Danbooru image downloader. 项目地址: https://gitcode.com/gh_mirrors/dan/DanbooruDownloader 还在为Danbooru网站上的海量图片资源下载而烦恼吗&#xff1f;传统的…

作者头像 李华
网站建设 2026/3/13 19:13:18

Android权限管理终极指南:5大技巧实现系统级安全隐匿

Android权限管理终极指南&#xff1a;5大技巧实现系统级安全隐匿 【免费下载链接】susfs4ksu-module An addon root hiding service for KernelSU 项目地址: https://gitcode.com/gh_mirrors/su/susfs4ksu-module 在当今移动安全日益重要的时代&#xff0c;Android设备权…

作者头像 李华
网站建设 2026/3/15 13:48:20

质谱Open-AutoGLM部署实战(专家级配置与避坑指南)

第一章&#xff1a;质谱Open-AutoGLM部署教程环境准备与依赖安装 在部署 Open-AutoGLM 前&#xff0c;需确保服务器具备 Python 3.9 环境及 GPU 支持&#xff08;CUDA 11.8 或更高版本&#xff09;。推荐使用 Conda 管理虚拟环境&#xff0c;以隔离依赖冲突。创建独立环境&…

作者头像 李华