FPGA项目(14)——基于FPGA的数字秒表设计
1.功能设计
设计内容及要求:
1.秒表最大计时范围为99分59. 99秒
2.6位数码管显示,分辨率为0.01秒
3.具有清零、启动计时、暂停及继续计时等功能
4.控制操作按键不超过二个。
2.设计思路
所采用的时钟为50M,先对时钟进行分频,得到100HZ频率的信号,然后在该信号的驱动下,对秒表的各个单位进行累加
分频的代码为:
module fenpin(
input clk_in, //输入的时钟 50M
input rst, //复位信号
output clk_out //分频后的输出信号 100HZ
);parameter hz_num=19'd500_000; //分频系数 50M/100=500K
//parameter hz_num=19'd5; //仿真时使用 (仿真的时候,分频系数要小一些,否则看不到分频效果,下载到板子上时,此参数改为500K)reg clk_hz;
reg [18:0] hz_cnt;//产生100hz的模块
always @(posedge clk_in or negedge rst) beginif(!rst)beginhz_cnt<=19'd0;clk_hz<=1'b0;endelse if(hz_cnt==hz_num/2-1)beginhz_cnt<=19'd0;clk_hz<=~clk_hz;endelsehz_cnt<=hz_cnt+1;
endassign clk_out=clk_hz;endmodule
仿真截图为:(仿真时记得把分频系数改小)

可见,分频成功!
显示模块:
本次所采用的是数码管显示,6位独立数码管,每个数码管都静态显示(FPGA用了6*8=48个管脚来驱动这些数码管,所以用不上数码管动态显示的知识,这种做法会降低代码编写的难度,但是会增大FPGA的IO口资源消耗!)
代码为:
module segshow(
input clk,
input rst,
input [3:0] data,
output reg [6:0] seg_led
);always @(posedge clk or negedge rst) beginif(!rst)seg_led<=7'b1000000;elsebegincase(data)4'd0 : seg_led <= 7'b1000000; //显示数字 04'd1 : seg_led <= 7'b1111001; //显示数字 14'd2 : seg_led <= 7'b0100100; //显示数字 24'd3 : seg_led <= 7'b0110000; //显示数字 34'd4 : seg_led <= 7'b0011001; //显示数字 44'd5 : seg_led <= 7'b0010010; //显示数字 54'd6 : seg_led <= 7'b0000010; //显示数字 64'd7 : seg_led <= 7'b1111000; //显示数字 74'd8 : seg_led <= 7'b0000000; //显示数字 84'd9 : seg_led <= 7'b0010000; //显示数字 9 default : seg_led <= 7'b1000000;endcaseend
endendmodule
仿真截图:

可见,数码管的输出会随着输入数据的变化而正确变化。故仿真正确。
然后就是主体的控制逻辑了:

根据输入的按键信号,进行相应的操作
仿真:

可以看到,SW1为0的时候,秒表确实已经停止计时了。待SW1为1,又继续计时。
故,功能正常!
总体电路如下:

总体的仿真截图如下:


3.课题意义
基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的电子秒表课题具有以下几个重要的意义:
1. 学术研究价值:基于FPGA的电子秒表是电子设计与数字逻辑设计的典型应用案例,对于学生和研究人员来说,它提供了一个理解和掌握FPGA基本原理与设计方法的实际项目。通过实践,学生可以深入学习FPGA架构、时序逻辑、状态机设计等关键概念,提升自己的硬件设计能力。
2. 技术实践意义:电子秒表是一个简单但功能实用的电子设备,通过基于FPGA的设计,可以实现高精度的计时功能。这种实际应用方案对于学生来说很有吸引力,可以将他们的理论知识应用于实际项目中,并且锻炼他们的设计思维和解决问题的能力。
3. 推广普及FPGA应用:FPGA作为一种灵活的可编程硬件平台,具有高度的灵活性和可扩展性,可以用于实现各种复杂的数字电路设计。通过推广基于FPGA的电子秒表课题,可以引导更多的学生和研究人员了解FPGA技术,并促进其在各种领域中的应用,如通信、图像处理、嵌入式系统等。
4. 培养团队合作精神:基于FPGA的电子秒表课题通常需要学生组成小组进行合作设计与实现。这种合作模式可以促进学生之间的团队合作、协作与沟通,培养他们的团队合作精神和项目管理能力,提升他们的综合素质。
总之,基于FPGA的电子秒表课题在学术研究、技术实践、FPGA应用推广和团队合作等方面具有重要的意义,对于培养学生的创新意识、动手能力和团队协作精神有积极的影响。同时,通过这样的实践项目,也可以推动FPGA技术的进一步发展和应用。
4.完整工程
FPGA数字秒表的设计资源-CSDN文库
https://download.csdn.net/download/guangali/88678505?spm=1001.2014.3001.5501
相关文章:
FPGA项目(14)——基于FPGA的数字秒表设计
1.功能设计 设计内容及要求: 1.秒表最大计时范围为99分59. 99秒 2.6位数码管显示,分辨率为0.01秒 3.具有清零、启动计时、暂停及继续计时等功能 4.控制操作按键不超过二个。 2.设计思路 所采用的时钟为50M,先对时钟进行分频,得到100HZ频率…...
浅谈指数移动平均(ema)
经常在各种代码中看到指数移动平均(比如我专注的网络传输领域),但却不曾想到它就是诠释世界的方法,我们每个人都在被这种方式 “平均”… 今天说说指数移动平均(或移动指数平均,Exponential Moving Average)。 能查到的资料都侧重于其数学形…...
1-并发编程线程基础
什么是线程 在讨论什么是线程前有必要先说下什么是进程,因为线程是进程中的一个实体,线程本身是不会独立存在的。 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径&#…...
vue中动态出来返回的时间秒数,在多少范围显示多少秒,多少范围显示分,小时等等
在Vue中,你可以使用计算属性(computed property)或过滤器(filter)来根据动态返回的时间秒数来显示不同的时间单位,比如秒、分、小时等等。 下面是一个使用计算属性的示例: <template>&l…...
English: go through customs
文章目录 常见单词机场指示登机和中转降落以及公共服务签证篇出/入境卡篇入境英语会话篇 常见单词 customs: 海关 (kʌstəmz)cash: 现金 (kʃ)passport: 护照 (pspɔːt)luggage/baggage: 行李 (lʌɡɪdʒ/ˈbɡɪdʒ)Exchange: 换钱 (ɪks’tʃeɪndʒ)airport: 飞机场 (ɛ…...
Nginx 多端口部署多站点
目录 1.进行nginx.conf 2.复制粘贴 3.修改端口及站点根目录 4. 网站上传 1.进行nginx.conf 在 nginx 主要配置文件 nginx.conf 中,server 是负责一个网站配置的,我们想要多个端口访问的话,可以复制多个 server 先进入到 nginx.conf 中 …...
从零开始配置kali2023环境:配置jupyter的多内核环境
在kali2023上面尝试用anaconda3,anaconda2安装实现配置jupyter的多内核环境时出现各种问题,现在可以通过镜像方式解决 1. 搜索镜像 ┌──(holyeyes㉿kali2023)-[~] └─$ sudo docker search anaconda ┌──(holyeyes㉿kali2023)-[~] └─$ sudo …...
Dart调用JS对10000条定位数据滤波
使用Dart调用JS,还是为了练习跨语言调用; 一、编写对应的JS代码 平时在开发时不推荐将算法放在JS里,我这里是简单的做一下数据过滤; 首先生成一些随机定位数据,在实际开发中可以使用真实数据; // 随机定…...
大模型应用实践:AIGC探索之旅
随着OpenAI推出ChatGPT,AIGC迎来了前所未有的发展机遇。大模型技术已经不仅仅是技术趋势,而是深刻地塑造着我们交流、工作和思考的方式。 本文介绍了笔者理解的大模型和AIGC的密切联系,从历史沿革到实际应用案例,再到面临的技术挑…...
【.NET Core】异步编程模式
【.NET Core】异步编程模式 文章目录 【.NET Core】异步编程模式一、概述二、基于任务的异步模式(TAP)2.1 TAP模式命名、参数和返回类型2.2 TAP初始化异步操2.3 TAP如何编译2.4 手动生成TAP方法2.5 混合方法实现TAP2.6 TAP中Await挂起执行2.7 TAP中使用Y…...
macOS通过外置驱动器备份数据
通过外置驱动器备份数据(谨慎操作) 1.将外置驱动器连接到您的 Mac。驱动器容量应等于或大于您当前的启动磁盘。驱动器还应该是您可以抹掉的。 2.使用 macOS 恢复功能 抹掉外置驱动器,然后将 macOS 安装 到外置驱动器上。确保您选择的外置驱动…...
rtsp解析视频流
这里先说一下 播放rtsp 视频流,尽量让后端转换一下其他格式的流进行播放。因为rtsp的流需要flash支持,现在很多浏览器不支持flash。 先说一下这里我没有用video-player插件,因为它需要用flash ,在一个是我下载flash后,还是无法播放…...
【物联网】手把手完整实现STM32+ESP8266+MQTT+阿里云+APP应用——第3节-云产品流转配置
🌟博主领域:嵌入式领域&人工智能&软件开发 本节目标:本节目标是进行云产品流转配置为后面实际的手机APP的接入做铺垫。云产品流转配置的目的是为了后面能够让后面实际做出来的手机APP可以控制STM32/MCU,STM32/MCU可以将数…...
Spring Cloud Config相关问题及答案(2024)
1、什么是 Spring Cloud Config,它解决了哪些问题? Spring Cloud Config 是一个为微服务架构提供集中化外部配置支持的项目。它是构建在 Spring Cloud 生态系统之上,利用 Spring Boot 的开发便利性,简化了分布式系统中的配置管理…...
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks 前言 Azure Databricks有access token,是具有ADB内部最高权限的token。在云环境中这些高级别权限的sec…...
[每周一更]-(第50期):Go的垃圾回收GC
参考文章: https://juejin.cn/post/7111515970669117447https://draveness.me/golang/docs/part3-runtime/ch07-memory/golang-garbage-collector/https://colobu.com/2022/07/16/A-Guide-to-the-Go-Garbage-Collector/https://liangyaopei.github.io/2021/01/02/g…...
【嵌入式学习笔记-01】什么是UC,操作系统历史介绍,计算机系统分层,环境变量(PATH),错误
【嵌入式学习笔记】什么是UC,操作系统历史介绍,计算机系统分层,环境变量(PATH),错误 文章目录 什么是UC?计算机系统分层什么是操作系统? 环境变量什么是环境变量?环境变量的添加&am…...
【动态规划】LeetCode-10. 正则表达式匹配
10. 正则表达式匹配。 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 …...
lenovo联想拯救者8.8英寸掌上游戏机Legion Go 8APU1(83E1)原装出厂Windows11预装系统
链接:https://pan.baidu.com/s/1d586XWXcAWVxlLyV2Oku7Q?pwdd74t 提取码:d74t 系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式:ISO 文件大小:…...
经典目标检测YOLO系列(一)复现YOLOV1(4)VOC2007数据集的读取及预处理
经典目标检测YOLO系列(一)复现YOLOV1(4)VOC2007数据集的读取及预处理 之前,我们依据《YOLO目标检测》(ISBN:9787115627094)一书,提出了新的YOLOV1架构,并解决前向推理过程中的两个问题,继续按照此书进行YOLOV1的复现。 经典目标检…...
快速体验Qwen3-0.6B-FP8:无需下载模型,开箱即用的AI文本生成服务
快速体验Qwen3-0.6B-FP8:无需下载模型,开箱即用的AI文本生成服务 1. 为什么选择Qwen3-0.6B-FP8? Qwen3-0.6B-FP8是Qwen系列最新推出的轻量级语言模型,采用FP8量化技术大幅降低了显存需求。相比传统模型,它具有以下突…...
Outfit字体全攻略:5大核心优势与零基础实战指南
Outfit字体全攻略:5大核心优势与零基础实战指南 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts Outfit字体作为一款专业的开源无衬线字体,凭借其完整的9种字重体系和现代设…...
OpenRocket:从设计到飞行的全链路火箭仿真实战指南
OpenRocket:从设计到飞行的全链路火箭仿真实战指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 火箭爱好者与工程师的终极工具:…...
Fortran开发环境配置2024实践指南
Fortran开发环境配置2024实践指南 【免费下载链接】vscode-fortran-support Fortran language support for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-fortran-support 在科学计算与工程领域,Fortran语言依然保持着不可替代的…...
腾讯王者荣耀强化学习环境:打造专业AI训练平台的完整指南
腾讯王者荣耀强化学习环境:打造专业AI训练平台的完整指南 【免费下载链接】hok_env Honor of Kings AI Open Environment of Tencent 项目地址: https://gitcode.com/gh_mirrors/ho/hok_env 在人工智能研究领域,游戏环境一直是强化学习算法的理想…...
实战:利用大模型预测 2026 年最热门的‘长尾提问’并提前进行 GEO 占位
各位编程领域的同仁、技术爱好者,大家好!今天,我们齐聚一堂,探讨一个既前沿又极具实战价值的议题:如何利用大模型(Large Language Models, LLMs)的强大能力,预测2026年可能成为热点的…...
OpenClaw+Qwen3-32B低成本方案:RTX4090D镜像长任务稳定性实测
OpenClawQwen3-32B低成本方案:RTX4090D镜像长任务稳定性实测 1. 为什么需要测试长任务稳定性? 上周我遇到一个头疼的问题:用OpenClaw整理3年积累的摄影素材时,任务执行到2小时突然中断。检查日志发现是显存溢出导致模型服务崩溃…...
OpenClaw成本优化方案:ollama GLM-4.7-Flash自建模型接口实践
OpenClaw成本优化方案:ollama GLM-4.7-Flash自建模型接口实践 1. 为什么需要关注OpenClaw的token消耗问题 第一次用OpenClaw完成自动化周报任务时,我盯着账单倒吸一口凉气——生成三份周报竟然消耗了接近15万token。这让我意识到,如果不解决…...
Xcode打包上传App Store Connect失败?可能是这些配置没做好(含解决方案)
Xcode打包上传App Store Connect失败排查指南:从配置到解决方案 每次提交应用上架都是iOS开发者必经的考验,而Xcode打包上传过程中遇到的"无效二进制文件"错误堪称拦路虎。这种错误往往不会给出明确提示,而是通过邮件通知或在App S…...
vLLM-v0.17.1惊艳效果:束搜索+并行采样在长文本生成中的稳定性展示
vLLM-v0.17.1惊艳效果:束搜索并行采样在长文本生成中的稳定性展示 1. vLLM框架核心能力概览 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库,其最新版本v0.17.1在长文本生成稳定性方面取得了显著突破。这个开源项目最初由加州大学伯克利分校…...
