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
    +关注

    关注

    1603

    文章

    21331

    浏览量

    593545
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89962
  • 数字电路
    +关注

    关注

    192

    文章

    1398

    浏览量

    79763

原文标题:FPGA零基础学习之Vivado-数码管驱动设计实验

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    小梅哥和你一起深入学习FPGA数码管动态扫描

    ` 本帖最后由 小梅哥 于 2015-4-2 17:29 编辑 小梅哥和你一起深入学习FPGA数码管动态扫描 在电子系统中,通常都需要有输出设备来输出或显示一定的信息,以指示当前
    发表于 12-30 13:34

    【小梅哥FPGA进阶教程】第四章 数码管动态扫描驱动设计与验证

    作为FPGA系统的输出设备。本节,小梅哥就将和大家一起进行数码管驱动的开发。实验目的实现6位7段数码管
    发表于 01-12 23:23

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

    FPGA学习六位数码管驱动一、实验目的:实现六位数码管
    发表于 05-22 18:15

    基于FPGA的简易计算器设计玩转数码管

    ,我们来做这样的一个小练习,Kevin也是想通过这样的一个小练习来让大家基本掌握数码管的工作原理,同时也了解如何使用FPGA驱动数码管。先说一下
    发表于 01-10 09:45

    FPGA数码管驱动开发

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

    数码管如何定义引脚

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

    单片机动态数码管消影的问题及原因

    单片机零基础入门(8-4)实战:单片机动态数码管消影一、回顾二、问题及原因三、解决办法:四、解决后的源代码:五、补充知识:数码管驱动方式1、单片机直接扫描:2、专用
    发表于 01-17 07:42

    单片机动态数码管实战

    单片机零基础入门(8-3)实战:在数码管任意位置显示一个数字----单片机动态数码管实战一、上节回顾:二、需求描述及分析:1、需求:2、分析:一、上节回顾:上篇文章写到:单片机零基础入
    发表于 01-27 06:41

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

    的。话不多说,上货。 数码管驱动设计 开发板上拥有一个六位一体的数码管,利用数码管可以显示一些数据。 · 硬件介绍 数码管共有八个段
    发表于 03-09 16:25

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

    Vivado-LED流水灯实验。话不多说,上货。FPGA零基学习
    发表于 04-18 21:12

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

    不多说,上货。FPGA零基学习Vivado-数码管驱动
    发表于 04-19 19:21

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

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白
    发表于 06-13 18:33

    FPGA零基学习Vivado-锁相环使用教程

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白
    发表于 06-14 18:09

    FPGA零基学习Vivado-超声波驱动设计

    生成一个周期至少为60ms,且高电平维持时间至少为10us的一个触发信号。 六、实验要求 此次设计,要求能够正常驱动模块,计算出的距离,计算其平均值以保证准确性。数码管上显示出距离,单位为m,精确到
    发表于 11-01 17:48

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

    单片机零基础入门(8-1)学会单片机数码管,这篇文章就够了,一文吃透数码管---数码管如何定义引脚?数码管如何
    发表于 11-25 18:36 37次下载
    单片机<b class='flag-5'>零基</b>础入门(8-1)学会单片机<b class='flag-5'>数码管</b>,这篇文章就够了,一文吃透<b class='flag-5'>数码管</b>---<b class='flag-5'>数码管</b>如何定义引脚?<b class='flag-5'>数码</b>