1 数码管的显示原理及其实现方式-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

数码管的显示原理及其实现方式

CHANBAEK 来源:数字FPGA设计与验证 作者:夕阳笑笑 2023-10-01 09:53 次阅读

在数字FPGA电路中,作为入门级别的外设除LED灯外,数码管算是使用频率最多、应用范围最广的一个核心集成外设了,因此学习数码管的使用非常有必要,下面一起来看看数码管的显示原理及其实现方式吧!

1. 数码管显示原理

数码管是电子设计中常用的外设设备之一,用来显示一些数据数值。常见的数码管有单个的以及多个共用一起的,那么首先由最简单的单个数码管的原理介绍,方便大家的理解。如下图a所示:

图片

图a单个数码管内部结构

这就是一个常见的单个数码管内部的结构造型,可以理解成7个长方形的LED小灯组成,由这些小灯的亮灭状况来组成数码管显示的不同数值,下面我以手绘图展示几个数字的情况,大家应该能更清楚直观的明白其工作原理,如下图b所示:

图片

图b显示数字024

这里是三个单独的数码管,分别显示数字0、2、4,所以数码管的原理可以简单的理解为点亮小灯的组合排列即可(具体内部电路的可以参考后面的附录,因为其不属于数字电路的内容,故放在附录中),明白了数码管的原理那么再来实现这部分的操作就很简单啦,下面就一起具体看看是如何实现的吧。

2. 数码管显示部分的程序实现

在日常生活中灯的亮灭是通过开关来进行控制,开可以理解为一个高电平的指令,关则相反,而在数字电路中,逻辑电平高低分别用1和0来进行表示,因此要实现点亮数码管的功能,也就可以通过0和1来进行控制a~g这七个小灯,比如让数码管显示1那么只需要b、c这两个小灯点亮就可以了,那么下面就来实现数码管显示部分的程序,使用的Verilog语言:

module    one_digit(
    input    [3:0]    data,
    output    [7:0]    seg
);

reg        [7:0]    seg;

always @(data) begin
    case(data)
        4'h0:seg = 8'b11000000;
        4'h1:seg = 8'b11111001;
        4'h2:seg = 8'b10100100;
        4'h3:seg = 8'b10110000;
        4'h5:seg = 8'b10010010;
        4'h4:seg = 8'b10011001;
        4'h6:seg = 8'b10000010;
        4'h7:seg = 8'b11111000;
        4'h8:seg = 8'b10000000;
        4'h9:seg = 8'b10010000;
        4'ha:seg = 8'b10001000;
        4'hb:seg = 8'b10000011;
        4'hc:seg = 8'b11000110;
        4'hd:seg = 8'b10100001;
        4'he:seg = 8'b10000110;
        4'hf:seg = 8'b10111111;
    endcase
end

endmodule

以上就是基于的是LUT查找表的原理所写的单个数码管显示的程序。

3. 数码管程序的验证

当写完一部分语法验证没有错误、编译能够成功的程序后,下面要做的就是核心的功能验证,那么对于上面的数码管程序如何进行验证呢?

对于FPGA设计的验证来说,常见的验证方式有两种:a.仿真验证b.下板验证,当身边没有合适硬件板卡的时候,仿真验证往往是不错的选择,这个时候借助一些EDA工具,可以方便的验证好设计的程序逻辑功能是否正确,Modelsim就是这样一款便于仿真验证的工具,当然进行仿真验证的时候也需要进行激励的输入(编写一部分代码),下面对这个数码管的程序使用仿真验证的方式看看效果吧,如下图c所示:

图片

图c数码管仿真结果

可以从仿真波形的高低判断出对应的数码管内部LED小灯的亮灭情况,由此排列组合推断出实际的数码管显示情况,以此作为仿真验证判断的依据,下面给出仿真验证的程序:

`timescale      1ns/1ns

 

module TB_one_dight;

 

reg         [3:0]data;

wire[7:0]seg         ;

 

one_digituut(

       data,

       seg

);    

 

initial begin

       data=     0;

       #100;

       repeat(16)begin

              data=     data+     1;

              #100;

       end

       $stop;

end

 

endmodule

至于实物验证的部分的话,建议结合相关的硬件板块配套例程来进行学习验证,这里就不做板卡推荐了,FPGA板卡以实物配套为文档教程为准。

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

    关注

    1628

    文章

    21728

    浏览量

    602949
  • led
    led
    +关注

    关注

    242

    文章

    23251

    浏览量

    660530
  • Verilog
    +关注

    关注

    28

    文章

    1351

    浏览量

    110073
  • 数码管
    +关注

    关注

    32

    文章

    1882

    浏览量

    91060
  • 数字电路
    +关注

    关注

    193

    文章

    1605

    浏览量

    80577
收藏 人收藏

    评论

    相关推荐

    基于51单片机实现动态数码管显示

    前面我们已经介绍了如何使用51单片机控制静态数码管显示,在实际应用中通常都需要显示多位数值,如果采用静态数码管显示就不够好,因此就需要采用另
    发表于 07-17 14:29 1.4w次阅读
    基于51单片机<b class='flag-5'>实现</b>动态<b class='flag-5'>数码管</b><b class='flag-5'>显示</b>

    数码管静态显示原理

    数码管显示数码管静态显示原理显示及其接口数码管动态
    发表于 11-22 08:38

    如何实现多个数码管同时显示

    字一、基础分析一个陌生器件的功能,我们首先要看明白它的原理图。1.其实蓝桥杯中的数码管比我之前用的普中单片机的数码管显示简单多了,普中的单片机为了节省资源,一次只能点亮一个
    发表于 03-02 07:30

    FPGA入门实现教程之数码管动态显示

    FPGA入门实现教程之数码管动态显示
    发表于 11-13 16:25 93次下载

    数码管显示实验

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

    数码管的驱动方式

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

    LED数码管显示分类及其典型应用电路

    本文主要讲述了LED数码管显示分类及其特点、LED数码管典型应用电路。 一.LED数码管显示
    发表于 07-31 11:09 1.2w次阅读
    LED<b class='flag-5'>数码管</b><b class='flag-5'>显示</b>分类<b class='flag-5'>及其</b>典型应用电路

    数码管(静态显示)【汇编版】

    数码管(静态显示)【汇编版】数码管(静态显示)【汇编版】数码管(静态显示)【汇编版】
    发表于 12-29 15:27 0次下载

    动态数码管显示程序

    动态数码管显示程序,动态数码管显示程序,动态数码管显示程序,动态
    发表于 01-12 14:55 60次下载

    数码管的结构与驱动方式

    数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管也称LED数码管
    发表于 05-05 16:32 1.2w次阅读

    数码管显示的多种方式

    1、 实现3*4按键数码管显示
    发表于 09-06 15:02 22次下载

    单片机中的数码管显示原理及其实现

    十引脚数码管,引脚为abcdefg、dp、c、gnd,七段数码管通过给某个引脚置高电平,即可实现该段的二极管点亮,从而显示0–9及A—F。数码管
    发表于 11-11 09:51 42次下载
    单片机中的<b class='flag-5'>数码管</b><b class='flag-5'>显示</b>原理<b class='flag-5'>及其实现</b>

    MCS-51实现静态数码管显示

    MCS-51实现静态数码管显示
    发表于 11-25 13:51 8次下载
    MCS-51<b class='flag-5'>实现</b>静态<b class='flag-5'>数码管</b>的<b class='flag-5'>显示</b>

    静态数码管和动态数码管

    (1位)、联排(2位、4位、8位)2、工作原理(1)亮灭原理(其实就是内部的照明LED)(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人
    发表于 01-12 18:31 40次下载
    静态<b class='flag-5'>数码管</b>和动态<b class='flag-5'>数码管</b>

    LED数码管显示方式和驱动方式

    LED数码管,作为现代电子显示技术中的重要组成部分,以其高亮度、长寿命和低功耗等特点,广泛应用于各种数字显示设备中。本文将详细阐述LED数码管显示
    的头像 发表于 05-30 17:37 2854次阅读