0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA零基础学习之Vivado-数码管驱动设计实验

FPGA技术江湖 来源:FPGA技术江湖 2023-04-09 09:20 次阅读

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近100个IC技术公众号。

大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。

系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,本篇为数码管驱动设计实验。话不多说,上货。

数码管驱动设计

作者:李西锐校对:陆辉

数码管作为SANXIN-B04的显示装置,具有易控制,显示方便的特点。那么接下来我们来学习一下数码管的驱动原理。

首先,数码管根据驱动电路划分,分为共阳极数码管和共阴极数码管。这个不同直接影响到了我们在驱动数码管时需要给的电平信号。在SANXIN-B04开发板上的数码管使用的是共阳极数码管,那么也就是说我们的数码管是低电平有效。

数码管硬件部分:

f7106d4e-d66c-11ed-bfe3-dac502259ad0.png

数码管总共14个管脚,分别是8个段选和6个位选。6个数码管分别用6根线单独控制,一个数码管,数字部分是7段,加上小数点总共八段。又因为6个数码管的段选信号线是共用的,所以,总共加起来14个管脚。

我们按照每一段的顺序做一个编号,有利于接下来的讲解以及说明,编号如下:

f72ee74c-d66c-11ed-bfe3-dac502259ad0.png

这8段单独控制,我们可以看做是每一段是一个led灯,那么我们如果想显示特定的数字,只需要让特定的某些段亮起来就可以,又因为我们是共阳极数码管,所以每一段在给低电平时可以被点亮。按照我们手册的管脚顺序,我们给数据时,一般按照DP-G-F-E-D-C-B-A的顺序给值,小数点为8bit数据的最高位。比如:我们想要显示数字1,那么只需要让B和C两段点亮即可。那么我们给的数据就应该是8’b1111_1001。按照这个规律,我们可以轻松得到0~9的所有段选数据。

f7490a3c-d66c-11ed-bfe3-dac502259ad0.png

此外,数码管作为我们的显示装置,一般显示的内容为动态的,所以,我们在驱动数码管显示的时候6个数码管要依次轮流选中,因为我们的段选信号是共用的,在同一时刻不能给不同的段选信号值。但是这并不意味着我们的数码管显示只能一个一个的看到现象,我们只要刷新切换的速度够快,人眼看起来就是一起亮的,所以我们接下来要做的工作就是:1、位选依次选中。 2、每一位的数码管进行段选赋值。代码如下:

f7630342-d66c-11ed-bfe3-dac502259ad0.png

f77bf06e-d66c-11ed-bfe3-dac502259ad0.png

f794e916-d66c-11ed-bfe3-dac502259ad0.png

在此,我们需要声明一点,因为数码管位选切换过快,会导致数码管显示异常,所以我们在做位选切换的时候,我们会加上一段时间的延时,以确保显示正常。

那么接下来,我们做一下仿真测试。

f7a8cb2a-d66c-11ed-bfe3-dac502259ad0.png

按照上图步骤,添加仿真文件。

f7ca6cd0-d66c-11ed-bfe3-dac502259ad0.png

f7f28472-d66c-11ed-bfe3-dac502259ad0.png

点击OK新建文件,代码如下:

f8111f68-d66c-11ed-bfe3-dac502259ad0.png

f828a6a6-d66c-11ed-bfe3-dac502259ad0.png

在仿真时,我们随机给了两个值,看一下波形。说明:在功能文件中,我们的输入数据为24位的BCD码,在仿真时,我们直接给了16进制数,因为BCD码和16进制数的前十个数是一样的。

点击Run Simulation,运行仿真。

f83ed656-d66c-11ed-bfe3-dac502259ad0.png

在波形当中,位选信号对应的段选信号,与我们给的数值一致,证明数码管驱动正确。

在此需要提醒一点,如果数码管的输入不是BCD码,那么我们还需要做一下转码,最简单的方法就是做除法,或者用基本运算电路来实现转码都可。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • fpga
    +关注

    关注

    1548

    文章

    20248

    浏览量

    588447
  • 数码管
    +关注

    关注

    31

    文章

    1750

    浏览量

    89036
  • 数字电路
    +关注

    关注

    192

    文章

    1214

    浏览量

    79057
收藏 人收藏

    评论

    相关推荐

    转:FPGA学习六位数码管驱动

    FPGA学习六位数码管驱动一、实验目的:实现六位数码管驱动,显示0-999999。二、实验环境:FPGA开发板AX301,Quartus ii三、实验介绍:通过取模模块得到每位的值,再转为为需要
    发表于 05-22 18:15

    FPGA数码管驱动开发

    驱动彩色液晶屏来显示一定的数据,势必是非常不划算的选择,而且驱动也极为复杂。数码管作为一种能够直观显示一定数据信息的输出设备,具有驱动简单,显示直观的特点,尤其适合作为FPGA系统的输出设备
    发表于 03-18 02:13

    数码管如何定义引脚

    零基础入门(8-1)学会单片机数码管,这篇文章就够了,一文吃透数码管---数码管如何定义引脚?数码管如何驱动驱动方式有哪些?单片机中的译码器和缓冲器又是什么?一、回顾二、本章知识点1
    发表于 12-08 07:06

    FPGA零基学习数码管驱动设计

    数码管驱动设计 开发板上拥有一个六位一体的数码管,利用数码管可以显示一些数据。 · 硬件介绍 数码管共有八个段选信号,通过电阻直接与FPGA相连接;有六个供电端,分别三极
    发表于 03-09 16:25

    FPGA零基学习Vivado-LED流水灯实验

    Vivado-LED流水灯实验。话不多说,上货。FPGA零基学习Vivado-LED流水灯实验流水灯是大多数学习者接触到的第一个实验,也是非常经典的一个实验,在此,我们一起学习一下流水灯。
    发表于 04-18 21:12

    FPGA零基学习Vivado-数码管驱动设计实验

    FPGA零基学习Vivado-数码管驱动设计实验数码管作为SANXIN-B04的显示装置,具有易控制,显示方便的特点。那么接下来我们来学习一下数码管驱动原理。首先,
    发表于 04-19 19:21

    学51单片机数码管部分

    学51单片机数码管部分 目录1
    发表于 02-10 14:36 155次下载

    FPGA视频教程之使用BJ-EPM240学习板进行数码管显示实验的资料说明

    FPGA视频教程之使用BJ-EPM240学习板进行数码管显示实验的资料说明
    发表于 02-28 10:35 5次下载
    <b>FPGA</b>视频教程之使用BJ-EPM240<b>学习</b>板进行<b>数码管</b>显示<b>实验</b>的资料说明

    单片机零基础入门(8-1)学会单片机数码管,这篇文章就够了,一文吃透数码管---数码管如何定义引脚?数码

    零基础入门(8-1)学会单片机数码管,这篇文章就够了,一文吃透数码管---数码管如何定义引脚?数码管如何驱动驱动方式有哪些?单片机中的译码器和缓冲器又是什么?一、回顾二、本章知识点1
    发表于 11-25 18:36 37次下载
    单片机<b>零基</b>础入门(8-1)学会单片机<b>数码管</b>,这篇文章就够了,一文吃透<b>数码管</b>---<b>数码管</b>如何定义引脚?<b>数码</b>

    单片机零基础入门(8-3)实战:在数码管任意位置显示数字----单片机动态数码管实战---附源代码

    零基础入门(8-3)实战:在数码管任意位置显示一个数字----单片机动态数码管实战一、上节回顾:二、需求描述及分析:1、需求:2、分析:一、上节回顾:上篇文章写到:单片机零基础入门(8-2
    发表于 12-03 20:36 17次下载
    单片机<b>零基</b>础入门(8-3)实战:在<b>数码管</b>任意位置显示数字----单片机动态<b>数码管</b>实战---附源代码

    单片机零基础入门(8-2)实战:在数码管中实现显示一个数字--在数码管指定位置显示一个数字----单片机数码管实战

    零基础入门(8-2)实战:在数码管中实现显示一个数字--数码管知识的应用一、上节回顾:二、本节需求:三、需求分析:四、源代码:一、上节回顾:上篇文章:单片机零基础入门(8-1)学会单片机
    发表于 01-12 18:19 13次下载
    单片机<b>零基</b>础入门(8-2)实战:在<b>数码管</b>中实现显示一个数字--在<b>数码管</b>指定位置显示一个数字----单片机<b>数码管</b>实战

    数码管显示实验

    数码管显示实验 一、
    发表于 09-28 12:28 1.5w次阅读

    数码管驱动方式

    数码管驱动方式   
    发表于 11-06 11:42 3531次阅读

    FPGA零基学习Vivado-按键使用教程

    Vivado系列,按键的使用教程。话不多说,上货。
    的头像 发表于 04-28 14:01 370次阅读
    <b>FPGA</b><b>零基</b>础<b>学习</b><b>之</b><b>Vivado-</b>按键使用教程