FPGA实现数码管显示分秒时间

目录

一. verilog实现

二. 烧录验证

三. 结果验证


使用开发板:DE2-115开发板

一. verilog实现

        要实现分和秒,需要知道定时器的频率,通过查手册可知,我使用的开发板时钟为50hz,也就是时钟一个周期是2微秒。

        50000000\cdot 2\mu s=1s

        50000000需要用一个26位的寄存器保存

        我们要依次实现秒和分

        所以我们可以写出以下代码实现

module time_show1(input  clk,input  Rst,input  Pause,output reg [7:0] seg1,output reg [6:0] seg2,output reg [6:0] seg3,output reg [6:0] seg4
);
reg [25:0] count1;
reg [5:0] count2;
reg [5:0] count3;
reg [5:0] count4;
reg [5:0] count5;
always@(posedge clk or posedge Rst)beginif(Rst) begin  // 复位所有计数器count1 <= 26'd0;count2 <= 6'd0;count3 <= 6'd0;count4 <= 6'd0;count5 <= 6'd0;endelse beginif(!Pause)begincount1<=count1+1;endif(count1>50_000_000-2)begincount1<=0; count2<=count2+1;   endif(count2==10)begincount2<=0;count3<=count3+1;endif(count3==6&&count2==0)begincount3<=0;count4<=count4+1;endif(count4==10)begincount4<=0;count5<=count5+1;endif(count5==6&&count4==0)begincount5<=0;endend
endalways@(*)begincase(count2)0:seg1 <= 8'b0100_0000;1:seg1 <= 8'b0111_1001;2:seg1 <= 8'b0010_0100;3:seg1 <= 8'b0011_0000;4:seg1 <= 8'b0001_1001;5:seg1 <= 8'b0001_0010;6:seg1 <= 8'b0000_0010;7:seg1 <= 8'b0111_1000;8:seg1 <= 8'b0000_0000;9:seg1 <= 8'b0001_1000;default:seg1<=8'b0111_1111;//输入有误时默认值endcasecase(count3)0:seg2 <= 8'b100_0000;1:seg2 <= 8'b111_1001;2:seg2 <= 8'b010_0100;3:seg2 <= 8'b011_0000;4:seg2 <= 8'b001_1001;5:seg2 <= 8'b001_0010;6:seg2 <= 8'b000_0010;7:seg2 <= 8'b111_1000;8:seg2 <= 8'b000_0000;9:seg2 <= 8'b001_1000;default:seg2<=8'b111_1111;//输入有误时默认值endcasecase(count4)0:seg3 <= 8'b100_0000;1:seg3 <= 8'b111_1001;2:seg3 <= 8'b010_0100;3:seg3 <= 8'b011_0000;4:seg3 <= 8'b001_1001;5:seg3 <= 8'b001_0010;6:seg3 <= 8'b000_0010;7:seg3 <= 8'b111_1000;8:seg3 <= 8'b000_0000;9:seg3 <= 8'b001_1000;default:seg3<=8'b111_1111;//输入有误时默认值endcasecase(count5)0:seg4 <= 8'b100_0000;1:seg4 <= 8'b111_1001;2:seg4 <= 8'b010_0100;3:seg4 <= 8'b011_0000;4:seg4 <= 8'b001_1001;5:seg4 <= 8'b001_0010;6:seg4 <= 8'b000_0010;7:seg4 <= 8'b111_1000;8:seg4 <= 8'b000_0000;9:seg4 <= 8'b001_1000;default:seg4<=8'b111_1111;//输入有误时默认值endcase
end
endmodule

二. 烧录验证

        烧录前需要先设置引脚和检测波形

        查看开发板手册可知DE115的引脚

        做好后便可连接板子开始烧录

        

三. 结果验证

VID_20250401_191711

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 核心技术解析【纯干货版】- XVI:Spring 网络模块 Spring-WebMvc 模块精讲

在现代 Web 开发中&#xff0c;高效、稳定、可扩展的框架至关重要。Spring WebMvc 作为 Spring Framework 的核心模块之一&#xff0c;为开发人员提供了强大的 MVC 体系支持&#xff0c;使得 Web 应用的构建更加便捷和规范。无论是传统的 JSP 视图渲染&#xff0c;还是基于 RES…

MySQL系统库汇总

目录 简介 performance_schema 作用 分类 简单配置与使用 查看最近执行失败的SQL语句 查看最近的事务执行信息 sys系统库 作用 使用 查看慢SQL语句慢在哪 information_schema 作用 分类 应用 查看索引列的信息 mysql系统库 权限系统表 统计信息表 日志记录…

标题:利用 Rork 打造定制旅游计划应用程序:一步到位的指南

引言&#xff1a; 在数字化时代&#xff0c;旅游计划应用程序已经成为旅行者不可或缺的工具。但开发一个定制的旅游应用可能需要耗费大量时间与精力。好消息是&#xff0c;Rork 提供了一种快捷且智能的解决方案&#xff0c;让你能轻松实现创意。以下是使用 Rork 创建一个定制旅…

GATT(Generic Attribute Profile)是蓝牙低功耗(Bluetooth Low Energy,简称BLE)协议栈中的一个核心协议

蓝牙的 GATT&#xff08;Generic Attribute Profile&#xff09; 是蓝牙低功耗&#xff08;Bluetooth Low Energy&#xff0c;简称BLE&#xff09;协议栈中的一个核心协议&#xff0c;用于定义设备如何通过蓝牙进行数据传输和交互。GATT 是基于 ATT&#xff08;Attribute Proto…

[ deepseek 指令篇章 ]300个领域和赛道喂饭级deepseek指令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

数据结构 -- 图的存储

图的存储 邻接矩阵法 邻接矩阵存储不带权图 0 - 表示两个顶点不邻接 1 - 表示两个顶点邻接 在无向图中&#xff0c;每条边在矩阵中对应两个1 在有向图中&#xff0c;每条边在矩阵中对应一个1 //不带权图的邻接矩阵存储 #define MaxVertexNum 100 //顶点数目的最大值 typed…

25.4.4错题分析

计算机组成原理 总线特点 考察总线特点&#xff0c;串行总线&#xff0c;一次只传1bit&#xff0c;采用单条电缆&#xff0c;抗干扰能力强&#xff0c;传输距离较远&#xff0c;成本低&#xff0c;但传输速度慢&#xff0c;延迟较高&#xff0c;不适用大规模数据传输 并行总线…

规则引擎Drools

1.规则引擎概述 1.1 什么是规则引擎 规则引擎 全称为业务规则管理系统&#xff0c;英文名为BRMS&#xff0c;规则引擎的主要思想是将应用程序中的业务决策部分分离出来&#xff0c;并使用预定义的语义模块编写业务规则&#xff0c;由用户或开发者在需要时进行配置和管理。 需…

框架PasteForm实际开发案例,换个口味显示数据,支持echarts,只需要标记几个特性即可在管理端显示(2)

PasteForm框架的主要思想就是对Dto进行标记特性,然后管理端的页面就会以不一样的UI呈现 使用PasteForm框架开发,让你免去开发管理端的烦恼,你只需要专注于业务端和用户端! 在管理端中,如果说表格是基本的显示方式,那么图表chart就是一个锦上添花的体现! 如果一个项目拥…

【工具】在 Visual Studio 中使用 Dotfuscator 对“C# 类库(DLL)或应用程序(EXE)”进行混淆

在 Visual Studio 中使用 Dotfuscator 进行混淆 Dotfuscator 是 Visual Studio 自带的混淆工具&#xff08;Dotfuscator Community Edition&#xff0c;简称 CE&#xff09;。它可以混淆 C# 类库&#xff08;DLL&#xff09;或应用程序&#xff08;EXE&#xff09;&#xff0c…

线程同步与互斥(上)

上一篇&#xff1a;线程概念与控制https://blog.csdn.net/Small_entreprene/article/details/146704881?sharetypeblogdetail&sharerId146704881&sharereferPC&sharesourceSmall_entreprene&sharefrommp_from_link我们学习了线程的控制及其相关概念之后&#…

[Linux系统编程]进程信号

进程信号 1. 信号入门1.1 信号基本概念1.2 技术应用角度的信号2. 信号的产生2.1 通过终端按键(如键盘)产生信号2.2 通过异常产生信号2.3 调用系统函数向进程发信号2.4 由软件条件产生信号2.5 总结3. 阻塞信号3.1 信号其他相关常见概念3.2 内核中的信号表示3.3 sigset_t3.3.1 …

要素的选择与转出

1.要素选择的三种方式 当要在已有的数据中选择部分要素时&#xff0c;ArcMap提供了三种方式:按属性选择、位置选择及按图形选择。 1)按属性选择 通过设置 SQL查询表达式&#xff0c;用来选择与选择条件匹配的要素。 (1)单击主菜单下【选择】【按属性选择】&#xff0c;打开【按…

Springboot + Vue + WebSocket + Notification实现消息推送功能

实现功能 基于Springboot与Vue架构&#xff0c;首先使用Websocket实现频道订阅&#xff0c;在实现点对点与群发功能后&#xff0c;在前端调用windows自带的消息通知&#xff0c;实现推送功能。 开发环境 Springboot 2.6.7vue 2.6.11socket-client 1.0.0 准备工作 在 Vue.js…

云手机如何防止设备指纹被篡改

云手机如何防止设备指纹被篡改 云手机作为虚拟化设备&#xff0c;其设备指纹的防篡改能力直接关系到账户安全、反欺诈和隐私保护。以下以亚矩阵云手机为例&#xff0c;讲解云手机防止设备指纹被篡改的核心技术及实现方式&#xff1a; 系统层加固&#xff1a;硬件级安全防护 1…

有人DTU使用MQTT协议控制Modbus协议的下位机-含数据库

本文为备忘录&#xff0c;不做太多解释。 DTU型号&#xff1a;G780 服务器&#xff1a;win2018 一。DTU设置 正确设置波特率&#xff0c;进入配置状态&#xff0c;获取当前参数&#xff0c;修改参数&#xff0c;设置并保存所有参数。 1.通道1设置 2.Modbus轮询设置 二&am…

湖北师范大学计信学院研究生课程《工程伦理》9.6章节练习

以下是图片中识别出的文字内容: 1【单选题】当工程师发现所在的企业或公司进行的工程活动会对环境、社会和公众的人身安全产生危害时,应该及时地给予反映或揭发。这属于工程师的( ) A、职业伦理责任 B、社会伦理责任 C、个人伦理责任 D、法律责任 2【单选题】下列哪个不属于工…

Axure RP 9 详细图文安装流程(附安装包)教程包含下载、安装、汉化、授权

文章目录 前言一、Axure RP 9介绍二、Axure RP 9 安装流程1. Axure RP 9 下载2. 启动安装程序3. 安装向导操作4.完成安装 三、Axure RP 9 汉化四、Axure RP 9授权 前言 本基础安装流程教程&#xff0c;将以清晰、详尽且易于遵循的步骤介绍Axure RP 9 详细图文安装流程&#xf…

SpringBoot全局exception处理最佳实践

目录 自定义异常类 抛出异常 全局异常处理器 自定义异常类 通常会继承 Exception 或其子类(如 RuntimeException)来定义业务异常类,用于封装业务相关的错误信息。一般选择继承 RuntimeException,因为它是一个非受检异常,在方法中抛出时不需要显式声明。 // 自定义业…

node ---- 解决错误【Error: error:0308010C:digital envelope routines::unsupported】

1. 报错 在 Node.js 18.18.0 的版本中&#xff0c;遇到以下错误&#xff1a; this[kHandle] new _Hash(algorithm, xofLen);^ Error: error:0308010C:digital envelope routines::unsupported这个错误通常发生在运行项目或构建时&#xff0c;尤其是在使用 Webpack、Vite 或其他…