【紫光同创盘古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

相关文章

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基