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

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

3天内不再提示

详解数码管使用方法

ARM与嵌入式 来源:ARM与嵌入式 作者:ARM与嵌入式 2022-12-05 16:00 次阅读

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法。有不足和疏忽的地方,请不吝指正。

1 工作原理

数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

2 电气特性

单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有介绍),3,8两个管脚为公共COM脚,它们相连通且作用相同,可接任意一根。为了更清楚介绍,贴图如下

共阴数码管脚位对应图

3 驱动方式

静态驱动也称直流驱动

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

动态驱动

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

4 开发实例

下面讲解一下四位数码管的动态驱动显示,首先看一下接线引脚图如下。

接下来用51单片机设计目标:通过编写c语言程序经编译连接后下载到单片机中,使四位数码管依次显示1,2,3,4。

#define uchar usigned char

#define uint usigned int

//位选控制端口

sbit p20=P2^0;

sbit p21=P2^1;

sbit p22=P2^2;

sbit p23=P2^3;

//数码管段选编码数组,分别为显示:1,2,3,4的编码

uchar code BianMa[] ={0x7,0xb,0xd,0xe};

//延时1ms函数(用于数码管动态刷新)

void Delay1ms(int time);

void main()

{

while(1)

{

p20 =0; //共阴极数码管低位选有效,表示已选中第一位数码管

P0 =BianMa[0];//通过I/O口P0向数码管送段选编码

Delay1ms(500);//第一位数码管显示0.5秒,然后换到第二位,依次下去,由于视觉停留和数码管余辉,所以感觉四位都在显示

p20 =1;

p21 =0; //第二位亮

P0 =BianMa[1];

Delay1ms(500);

p21 =1;

p22 =0; //第三位亮

P0 =BianMa[2];

Delay1ms(500);

p22 =1;

p23 =0; //第四位亮

P0 =BianMa[3];

Delay1ms(500);

p23 =1;

}

//延时函数体

void Delay1ms(int time

{

int i,j;

for(i =time;i》0;i--)

for(j =110;j》0;j--)

}

5 关于亮度和锁存器

一般来说静态驱动的亮度要高于动态驱动的亮度,但不影响使用。实际使用中为了达到更好的效果,会配合锁存器如74HC573一起使用,可以记忆先前状态数据直到有新数据覆盖。对做51单片机应用开发来说,相对LCD液晶,液晶模块编程更方便,样式更多样,但是其缺点亮度不够。这也恰恰是数码管的优势,如果做简单的计数显示,数码管是最好选择。

6 使用中注意事项

数码管的基本组成是发光二极管,因此其可以通过的电流只有几mA,接5V直流电源做测试的时候一定要串上一个几十K大小的电阻。否则,很容易烧掉,此外用万用表的测电阻档就可将其点亮,足以说明其电流之小。

审核编辑 :李倩

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

    关注

    13

    文章

    1138

    浏览量

    65680
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89949
  • 锁存器
    +关注

    关注

    8

    文章

    744

    浏览量

    41037
  • 嵌入式开发
    +关注

    关注

    18

    文章

    977

    浏览量

    46958

原文标题:详解数码管使用方法

文章出处:【微信号:ARM与嵌入式,微信公众号:ARM与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    手机信号屏蔽器:功能、原理及使用方法详解

    深圳特信电子|手机信号屏蔽器:功能、原理及使用方法详解
    的头像 发表于 04-01 09:09 430次阅读

    数码管的工作原理和使用方法解析

    数码管是一种常见的显示元件,用于以数字形式显示数字、字母和特殊符号。它具有简单、可靠、易读等特点,在很多电子设备中应用广泛。本文将对数码管的工作原理和使用方法进行细致的解析。 一、数码管
    的头像 发表于 12-18 17:31 1232次阅读

    数码管驱动芯片的使用方法

    数码管驱动芯片(也称为LED驱动芯片)是一种用于控制数码管显示的集成电路。它可以将微控制器产生的数字信号转换为适合数码管显示的电流和电压。本文将详细介绍数码管驱动芯片的
    的头像 发表于 12-08 16:24 1589次阅读

    动态数码管显示原理详解

    动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和
    的头像 发表于 11-10 11:38 2569次阅读
    动态<b class='flag-5'>数码管</b>显示原理<b class='flag-5'>详解</b>

    使用普中的仿真器操作动态数码管数码管会闪烁的厉害怎么解决?

    使用普中的仿真器操作动态数码管数码管会闪烁的厉害,但是直接插上单片机就很正常的显示,这是怎么回事,有没有解决方法
    发表于 11-10 06:16

    数码管相关知识资料分享

    数码管相关知识资料分享
    发表于 11-06 23:21

    LED显示器静态显示(数码管

    数码管:共阴极、共阳极。 共阴极:数码管公共端接地,高电平(”1“)驱动发光,要求驱动功率较大。 共阳极:数码管公共端接电源,低电平(”0“)驱动发光,要求驱动功率小。 每一段相当于相当于一个LED灯。 共阴极点亮:给对应引脚
    发表于 11-06 20:49

    51单片机数码管驱动

    1.共阳极/共阴极数码管内部组成结构 2.设计共阴/共阳数码管驱动电路 3.数码管显示的字符与段选/位选之间的关系 共阴从左往右第三个数码管显示0 共阳从左往右第三个
    发表于 11-06 11:06

    单片机-数码管驱动学习笔记

    1. 图文并茂... 亮灯原理:共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极的阴极为低电平时,相应字段就点亮。共阴数码管在应用时应将公共极COM接到地线GND上,当某一
    发表于 11-04 23:53

    关于数码管位选问题

    每一个数码管就是数字的一位。只要位选端口置位,那么这位数码管才能显示段选端口控制的信号。位选端口置位是什么意思呢?请大家举个例子给我看看。我近来在看郭天祥的十天学会单片机,。。比如说要亮第一个数码管
    发表于 10-25 07:45

    共阳极数码管和共阴极数码管的区别

    共阳极数码管和共阴极数码管的区别 数码管是由许多发光二极管(LED)组成的,它们通常用于显示数字或字母,广泛应用于计算器、表格、电子时钟、测量仪器等领域。数码管主要分为两种类型:共阳极
    的头像 发表于 09-26 16:38 8956次阅读

    数码管时钟怎么调节亮度?

    通过什么办法调节数码管的亮度
    发表于 09-26 08:24

    从零开始学习紫光同创FPGA——PGL22G开发板之数码管静态显示(四)

    一、数码管静态显示 1、实验目的 了解数码管的类型和工作原理。 2、实验要求 实现四位八段数码管同时循环显示数字0~9,数字每隔1s自加1。 3、实验原理 数码管是一种半导体发光器件,
    发表于 06-15 18:48

    学习学习点亮数码管

    你好!最近想学习学习点亮多段位数码管,谢谢版主
    发表于 06-03 21:14

    如何读取数码管显示的字母?

    请问各位大佬,我有一个电路板,具有1个80C51的单片机,然后电路板上有6个LED数码管,我想读出其中1个数码管显示的字母,有什么好的方法
    发表于 05-04 13:33