【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第四章)​数码管动态显示实验例程

本文主要是介绍【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第四章)​数码管动态显示实验例程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)


适用于板卡型号:

紫光同创PGC4KD-6ILPG144开发平台(盘古PGX-MINI-4K)

仅需一根TypcC线,插上即用,轻松操作。兼容下载器的一体版,配套资料丰富, 快速掌握国产FPGA!

一:盘古PGX-MINI-4K开发板简介

盘古 PGX-MINI 4K 开发板是一套基于紫光同创 compa 系列 PGC4KD-6ILPG144 芯片为核心的开发套件,支持主自加载双启动功能,集成板载 jtag 调试接口, 预留两组 20PIN 扩展 IO、数码管、按键、led 灯等硬件资源,为用户提供基本的 开发环境。

二:实验目的

动态控制 4 位八段数码管显示不同的数值;

三:实验要求

4 个数码管显示不同的数字,按键 K0 控制左侧起第一个数码管,按一下数 字加 1,从 0 到 9;按键 K1 控制左侧起第二个数码管,按一下数字加 1,从 0 到 9;按键 K2 控制左侧起第三个数码管,按一下数字加 1,从 0 到 9;按 键 K3 控制左侧起第四个数码,按一下数字加 1,从 0 到 9。

四:实验原理

数码管是一种半导体发光器件,其基本单元是发光二极管。能显示 4 个数码 管叫四位数码管。数码管按段数分为七段数码管和八段数码管,八段数码管比七 段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接 方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳 极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。 当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二 极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公 共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应 字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

4 位共阳数码管内部管脚连接图如下:

 段选:段选由 8 根 led 灯组成,分别为 a,b,c,d,e,f,g,dp;

由段选信号控制某段数码管点亮;

位选:位选由 4 组 8 个段选 LED 组成,分别为 seg1,seg2,seg3,seg4;

由选通信号控制第几块数码管点亮; 例:如果我们只点亮第一位的 A:需要将 11 脚配置低电平,其他段选(1-5, 7,10,11)配置高电平;将 12 脚配置高电平,其他位选脚配置(6,8,9)低 电平;

点亮数码管原理:

输入相应的电平点亮一根根小火柴 a-b-c-d-e-f-g-dp。如果数码管是共阴极, 给高电平 1,相应的火柴就会被点亮,反之如果是共阳极,相应的火柴就会被点 亮。

盘古 PGX-MINI 4K 数码管底板的数码管使用共阳数码管,由于数码管与驱 动 2N5401 连接,2N5401 输入低电平时,输出高电平,因此 LED_BIT1~4 输入 高电平时,位选信号有效;当 LED_BIT1 为低电平时,A4 为高电平,对应位数 码管亮,当 LED_BIT2 为低电平时,A3 为高电平,对应位数码管亮,当 LED_BIT3 为低电平时,A2 为高电平,对应位数码管亮,当 LED_BIT4 为低电平时,A1 为高电平,对应位数码管亮。

数码管显示出 0~9,代码如下,通过传递要显示的数值给到 key 上,可显 示对应数值,sel 选择对应的数码管,如需 4 个如果要显示同样的字符,仅需将 dig 的 4 位全部置 1(由于数码管位选信号与 2N5401 驱动连接,2N5401 输入低 电平时,输出高电平,因此低电平输入时,位选信号有效),需要做好对应编码;

硬件连接上后,无法同一个时间点显示出不同的数值,我们可以通过刷新显示的方式造成视觉上同时显示了不同的数值,依据如下:

人眼对于时间频率的响应近似一个滤波器,在一般室内强光下,对 15~20Hz 信号最敏感,有很强闪烁感(flick),大于 75Hz 响应为 0,闪烁感消失。刚到达闪 烁感消失的频率叫做临界融合频率(CFF)。在较暗的环境下,呈低通特性,且 CFF 会降低,这时对 5Hz 信号最敏感,大于 25Hz 闪烁基本消失。电影院环境很暗, 放映机的刷新率为 24Hz 也不感到闪烁;这种特性也可以解析为视觉暂留特性, 即当影像消失/变化时,大脑的影像不会立刻消失,而是保留一个短暂时间。

在设计数码管闪烁式显示时,对于人眼观测来说,频率越高越好,但是数码 管中的 LED 灯珠点亮对于高电平(关注发光响应时间)是有要求的,故而不是 越高越好,取一个适当的刷新频率即可,实验中我们取刷新率为 10KHz。

方案设计:

1、按键消抖:参考按键流水灯实验

2、按键计数:参考按键流水灯实验

3、数码管的分时显示; 

五:实验源码(完整源码查看 demo 源文件) 

顶层模块

按键消抖模块 

按键计数模块 

时钟分频模块 

 数码管显示模块

六:实验现象

4 个数码管显示不同的数字,按键 K0 控制左侧起第一个数码管,按一下数 字加 1,从 0 到 9;按键 K1 控制左侧起第二个数码管,按一下数字加 1,从 0 到 9;按键 K2 控制左侧起第三个数码管,按一下数字加 1,从 0 到 9;按 键 K3 控制左侧起第四个数码,按一下数字加 1,从 0 到 9。 

 

 

 

 

 

 

 

 

 

 

 

这篇关于【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第四章)​数码管动态显示实验例程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker