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

    关注

    1628

    文章

    21722

    浏览量

    602895
  • 数码管
    +关注

    关注

    32

    文章

    1881

    浏览量

    91056
  • 数字电路
    +关注

    关注

    193

    文章

    1605

    浏览量

    80570

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    数码管如何定义引脚

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

    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-超声波驱动设计

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

    学51单片机数码管部分

    带您从学51单片机数码管部分 目录1 数码管应用2 数码管内部结构及硬件原理图3 数码管
    发表于 02-10 14:36 155次下载

    数码管显示实验

    数码管显示实验 一、实验目的数码管是单片机系统常用的输出显示器件,单个数码管可以显示0~F 和一些简单符号。本
    发表于 09-28 12:28 1.6w次阅读
    <b class='flag-5'>数码管</b>显示<b class='flag-5'>实验</b>

    数码管驱动方式

    数码管驱动方式   数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要
    发表于 11-06 11:42 3961次阅读

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

    本文档的主要内容详细介绍的是FPGA视频教程之使用BJ-EPM240学习板进行数码管显示实验的资料说明
    发表于 02-28 10:35 5次下载
    <b class='flag-5'>FPGA</b>视频教程之使用BJ-EPM240<b class='flag-5'>学习</b>板进行<b class='flag-5'>数码管</b>显示<b class='flag-5'>实验</b>的资料说明

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

    单片机零基础入门(8-1)学会单片机数码管,这篇文章就够了,一文吃透数码管---数码管如何定义引脚?数码管如何
    发表于 11-25 18:36 38次下载
    单片机<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>

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

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

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

    系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,按键的使用教程。话不多说,上货。
    的头像 发表于 04-28 14:01 1505次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>零基</b>础<b class='flag-5'>学习</b><b class='flag-5'>之</b><b class='flag-5'>Vivado-</b>按键使用教程

    数码管驱动学习笔记

    电子发烧友网站提供《数码管驱动学习笔记.pdf》资料免费下载
    发表于 11-05 17:28 0次下载