【原创】基于FPGA的数码管按键显示(two_key)

2023-10-31

文档说明

 

一:背景介绍:

心理一直有个疙瘩,总感觉不把数码管玩的溜些,觉得少了些什么东西,念头不通畅,说什么也要拿下,于是,有了这篇文档的产生。

 

二:项目需求:

选用开发板上的2个按键,

s1按下后,key_cnt计数加2

s2按下后,key_cnt计数加1

选用两个数码管,最大为99

 

三:项目分析(重点)(备注:分析清楚后,Visio图,简单+明了+易画)

按键默认为高电平;如果按键按下后,按键值拉低(低电平)

数码管默认显示00;每一次按下后,加1;知道99;然后清零;

数码管使用的是 共阳极;如果置低,则对应数码管点亮;

思维关键点:

数码管部分有一个显示常识,每时每刻,只有一个数码管是亮着的,也只有一个变化;

sel=01,只会是seg0亮;每时每刻,数码管显示的只会是一个值,想要变化值,只能等下一次的sel=01时才可以

sel=10.只会是seg1亮;每时每刻,数码管显示的只会是一个值,想要变化值,只能等下一次的sel=10时才可以

 

四:硬件电路

单个数码管有 10个引脚  (7个段选+1个小数点)+ 1个片选 + 1GND

(片选端已经内部连接到GND,毕竟是单个数码管,肯定是被选中的,所以片选不突出);

 

本开发板的数码管电路共有14个引脚

其中,8个引脚是显示 +  6个引脚是控制;

讲述6个引脚:分别为6个数码管的位选端;

 

图(1) 按键电路

 

图(2)数码管电路

 

五:架构设计

5.1 系统整体框图

 

 

5.2 FPGA内部框图

 

 

六:顶层端口描述(备注:位宽+名称+方向(in or out))

 

 

七:关键代码解析

 

八:时序图

 

九:Modelsim仿真图

 

十:曹某人的总结


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【原创】基于FPGA的数码管按键显示(two_key) 的相关文章

  • 在vivado中使用tcl脚本(UG894)

    本文源自UG894 主要介绍如何在vivado中使用tcl脚本 1 vivado中如何获取tcl help vivado中任何自带的命令都可以通过 help 获取帮助信息 也可以直接输入 help 取得vivado命令合集 并通过 help
  • STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?

    1 什么是STA STA 静态时序分析 是时序验证的一种方法 用于计算和分析电路是否满足时序约束的要求 2 为什么需要STA 电路能否正常工作 其本质上是受最长逻辑通路 即关键路径 的限制 以及受芯片中存储器件的物理约束或工作环境的影响 为
  • SmartFusion从FPGA到ARM(四)——MSS_TIMER定时器的使用

    文章目录 1 定时器资源简介 2 MSS TIMER库函数简介 3 简单的周期性中断 4 自定义产生波形 5 64位定时器的使用 6 单次中断模式 系列教程 SmartFusion从FPGA到ARM系列教程 1 定时器资源简介 SmartF
  • 【原创】always语句 和 initial语句

    过程语句 有 always语句 和 initial语句 相同点 1 always语句 和 initial语句 可以多次使用 2 always语句 和 initial语句 各语句块 整体 是独立运行 3 always语句 和 initial语
  • 硬件设计---了解电源篇

    1 概述 在高速电路设计中一块单板上常存在多种电源 3 3V 1 8V 1 2V 1 0V 0 9V 0 75V等 有时光是对FPGA供电就需要五六种电源 为了便于使用往往用户只需要提供一种或几种电源 然后经过板上电源模块转换到各个目标电源
  • 最详细的Vivado安装教程

    V i v a d o 安 装
  • Verilog之assign

    Verilog中的关键词assign主要用于如下两个地方 数据流建模 用于数据流建模的显示连续赋值语句语法格式如下
  • xilinx xdma PCIe中断bug

    xilinx xdma PCIe中断存在bug bug1 此中断虽然是msi或者msx中断 但是不中断cpu bug2 此中断不是边沿中断 而是电平中断 在驱动层需要不断地轮训查询中断事件 bug3 此中断持续时间必须长 而且在收到中断应答
  • FPGA实现VGA显示图片

    利用FPGA在带有VGA接口的液晶显示器上显示图片 电路原理图 端口说明 VGA R2 VGAB0的8个端口位VGA的RGB数据位 VGA HS为行同步信号 VGA VS为场同步信号 以分辨率为640x480为例 刷新速率为60Hz 每幅图
  • FPGA功耗估计(二)

    针对于Altera的Cyclone III 做出了静态功耗 对于Altera 其提供了一个功耗早期估计工具 可以在官网上下到 首先需要将宏设置为安全 在excel选型中选择文件 之后便可看到 根据相应的选择 红框部分 可以查看静态功耗 对于
  • [从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是函数Function 1 1 什么是函数 1 2 函
  • 基于FPGA的简易BPSK和QPSK

    1 框图 2 顶层 3 m generator M序列的生成 输出速率为500Kbps 4 S2P是串并转换模块 将1bit的m序列转换到50M时钟下的2bit M序列数据 就有4个象限 5 my pll是生成256M的时钟作为载波 因为s
  • 在 C 中操作 80 位数据类型

    我正在用 C 实现一些加密算法 其中涉及 80 位密钥 特定操作涉及将密钥旋转移位 x 个位数 我已经尝试过 long double 类型 如果我没记错的话 它是 80 位 但这不适用于位移运算符 我能想到的唯一替代方案是使用 10 个元素
  • VHDL门控时钟如何避免

    我收到了避免使用门控时钟的建议 因为它可能会导致松弛和时序限制问题 但我想问一下我可以认为什么是门控时钟 例如 此代码对时钟进行门控 因为 StopCount 对它进行门控 process ModuleCLK begin if rising
  • UIO 设备上的 mmap EINVAL 错误

    在尝试使用 UIO 而不是直接映射后 我在 Xilinx Zynq 上映射物理内存时遇到问题 dev mem 虽然计划是以普通用户身份运行应用程序 而不是root这仍在运行root 显然 第一个映射成功 其余映射到同一个文件描述符12 de
  • if 语句导致 Verilog 中的锁存推断?

    我正在编写用于合成算法的 Verilog 代码 我对哪些情况可能导致推断锁存器有点困惑 下面是这样的一段代码 虽然它在模拟中工作得很好 但我担心它可能会导致硬件问题 always b1 or b2 b1 map b2 map m1 map
  • 如何使用 Verilog 和 FPGA 计算一系列组合电路的传播延迟?

    我是 FPGA 和 HDL 的新手 但我正在尝试学习 但无法弄清楚这一点 如何通过多个级别的组合逻辑来计算或估计传播延迟 我可以仅凭经验确定这一点 还是可以在设计时弄清楚 在这种情况下 我使用 FPGA 来实现奇偶校验设置和检查电路 该电路
  • 从 OpenCV 代码到 FPGA 代码的转换是否比 Matlab 代码更容易? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想做一个关于图像处理的项目 我想知道如果我想在FPGA上实现这个项目 我应该在第一阶段选择Matla
  • 如何从 Spartan 6 写入 Nexys 3 FPGA 板上的 Micron 外部蜂窝 RAM?

    我到处都查过了 数据表 Xilinx 网站 digilent 等等 但什么也没找到 我能够使用 Adept 工具来验证我的蜂窝 RAM 是否正常运行 但我找不到任何库存 VHDL 代码作为控制器来写入数据和从中读取数据 帮助 找到了此链接
  • 可以购买哪些 FPGA(现场可编程门阵列)在家中进行实验? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 什么是 FPGA 在哪里可以买到 它们要花多少钱 您需要什么样的系统来试验它们 如何对它们进行编程 如果这是正确的术语 您能否使用普通 M

随机推荐

  • Android Studio引入jar包和so文件(armeabi和armeabi-v7a)

    一 引用jar文件 1 将jar文件复制 粘贴到app的libs目录中 2 右键点击jar文件 并点击弹出菜单中的 Add As Library 将jar文件作为类库添加到项目中 3 选择指定的类库 注 如果不执行2 3步 jar文件将不起
  • JVM虚拟机栈的栈帧结构中动态链接的理解

    深入理解Java虚拟机 书中原文写到 每个栈帧都包含一个指向运行时常量池中该栈帧所属方法的引用 持有这个引用是为了支持方法调用过程中的动态链接 Dynamic Linking 通过第六章的讲解 我们知道Class文件的常量池中存有大量的符号
  • HDU--3790:最短路径问题 (Dijkstra算法)

    1 题目源地址 http acm hdu edu cn showproblem php pid 3790 2 基本题意 找出最短路径 若有多条最短路径 输出那条花费最小的 注意过滤重边 3 源代码 HOJ 3790 最短路径问题 Dijks
  • <C++>学习:栈(Stack)操作

    前言 人生如逆旅 我亦是行人 容器适配器是一个封装了序列容器的类模板 它在一般序列容器的基础上提供了一些不同的功能 之所以称作适配器 是因为它可以通过适配容器现有的接口来提供不同的功能 stack lt T gt 容器适配器中的数据是以 L
  • 深入浅出MySQL索引(二)InnoDB存储引擎的索引

    深入浅出MySQL索引 一 常见的索引模型 深入浅出MySQL索引 二 InnoDB存储引擎的索引 深入浅出MySQL索引 二 InnoDB存储引擎的索引 文章目录 深入浅出MySQL索引 二 InnoDB存储引擎的索引 一 InnoDB的
  • Java面向对象编程

    用命令方式运行以下代码的运行结果是 public class f public static void main String args String foo1 args 1 String foo2 args 2 String foo3 a
  • TOOLS.INI: TOOLCHAIN NOT INSTALLED

    直接在tools ini中添加注册码 LIC0 注册码 成功破解但是还是不能编译
  • windows10开热点无法连接网络的原因

    首先 你得明白 windows10开热点 让手机连得底层原理是什么 没错 如果玩过虚拟机的同学应该很快就能反应过来 其实就是 仅主机模式 何为 仅主机模式 呢 见下图 也就是说 你的手机能否上网决定权在于 能上网的主机网卡 是否把这种能力
  • vscode SVN not found. Install it or configure it using the svn.path

    问题 解决方案 一般 svn 命令行工具 安装了 就不需要再settings json 中配置了 安装 svn 命令行工具 下面又安装教程 如果还不行的话 可能是安装路径问题 如下配置安装路径即可 vscode 中 settins json
  • pandas绘图方法

    一 最简单的方法 df get price 002340 XSHE start date 2017 1 1 end date 2017 10 11 frequency daily fields None skip paused False
  • 909422229_Jeesite 列表数据自定义排序规则

    技术交流群 958923746 有学习视频 文档等 1 列表排序 假排序哦 非数据库排序 page是查询到的列表数据 Collections sort page getList new Comparator
  • 【日志首次上报积分最多】

    题目描述 日志首次上报最多积分 日志采集是运维系统的的核心组件 日志是按行生成 每行记做一条 由采集系统分批上报 如果上报太频繁 会对服务端造成压力 如果上报太晚 会降低用户的体验 如果一次上报的条数太多 会导致超时失败 为此 项目组设计了
  • windows能访问外网但无法访问虚拟机

    最近一直遇到个头疼的问题 Windows本机上搭了几个Linux虚拟机 不知怎么的 使用Linux虚拟机两两互相访问是可以互相ping通的 但是用Windows主机去访问内部的虚拟机老是提示 无法访问目标主机 第一步 确定虚拟机和Windo
  • Android之RecyclerView线性列表、网格列表实现滑动到指定位置并置顶

    文章目录 前言 一 使用步骤 1 LinearLayoutManager 2 GridLayoutManager 3 LinearSmoothScroller 4 使用 总结 前言 在日常开发中 我们经常会遇到选择事物的需求 例如单选多选
  • Alibaba开源框架COLA的个人心得--COLA框架各层职责

    COLA框架各层职责 1 官网定义 1 适配层 Adapter Layer 负责对前端展示 web wireless wap 的路由和适配 对于传统B S系统而言 adapter就相当于MVC中的controller 2 应用层 Appli
  • 快速排序,快速选择排序,选择排序的区别

    选择排序是对整体序列进行排序 快速排序也是对整体序列进行排序 快速选择算法是快速在未排序的数组中寻找第k小 大的元素 快速选择算法和快速排序的思想是找基准点 在基准点左边的都比他小 然后在基准点右边的都比大这样 但是这两个算法的目的不同 所
  • 硬币系列二

    最近搞了一些稀奇硬币 老潘把他们都用手机拍了下来 但是由于手机镜头焦距所限 并不能让硬币充满整个画面 所以很自然的想法就是 把硬币从图片中裁剪出来 一个正常人的做法是 把需要拍摄特写的物品放在纯净颜色的背景上 这种做法其实也有利于后期的抠图
  • STM32--CAN ID过滤器分析

    1 前言 在CAN协议里 报文的标识符不代表节点的地址 而是跟报文的内容相关的 因此 发送者以广播的形式把报文发送给所有的接收者 节点在接收报文时 根据标识符 CAN ID 的值决定软件是否需要该报文 如果需要 就拷贝到SRAM里 如果不需
  • 配合插件flatten-maven-plugin及${revision}属性在maven多模块项目中可进行全局版本号管理

    父pom
  • 【原创】基于FPGA的数码管按键显示(two_key)

    文档说明 一 背景介绍 心理一直有个疙瘩 总感觉不把数码管玩的溜些 觉得少了些什么东西 念头不通畅 说什么也要拿下 于是 有了这篇文档的产生 二 项目需求 选用开发板上的2个按键 当s1按下后 key cnt计数加2 当s2按下后 key