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

一、工作原理数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。二、电气特性单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有介绍),3,8两个管脚为公共COM脚,它们相连通且作用相同,可接任意一根。为了更清楚介绍,贴图如下共阴数码管脚位对应图三、驱动方式1、静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。四、开发实例下面讲解一下四位数码管的动态驱动显示,首先看一下接线引脚图如下。接下来用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--)}

五、关于亮度和锁存器一般来说静态驱动的亮度要高于动态驱动的亮度,但不影响使用。实际使用中为了达到更好的效果,会配合锁存器如74HC573一起使用,可以记忆先前状态数据直到有新数据覆盖。对做51单片机应用开发来说,相对LCD液晶,液晶模块编程更方便,样式更多样,但是其缺点亮度不够。这也恰恰是数码管的优势,如果做简单的计数显示,数码管是最好选择。六、使用中注意事项数码管的基本组成是发光二极管,因此其可以通过的电流只有几mA,接5V直流电源做测试的时候一定要串上一个几十K大小的电阻。否则,很容易烧掉,此外用万用表的测电阻档就可将其点亮,足以说明其电流之小。

1.RISC-V 处理器嵌入式开发网课上线!

2.刚刚!官方发布:中美达成第一阶段贸易协议,美分阶段取消关税!

3.一幅趣味漫画,让你秒懂Linux内核!

4.NXP推出了新一款8位MCU,看看适合你的应用不?

5.手机CPU与电脑CPU性能究竟相差多少?

6.FPGA老大把研发5年的软件平台开源了!

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

51单片机按键控制数码管0~9_对于常用的数码管,你有多熟悉?相关推荐

  1. 【Proteus仿真】51单片机+按键控制步进电机驱动+LCD1602显示

    [Proteus仿真]51单片机+按键控制步进电机驱动+LCD1602显示 Proteus仿真 在Proteus当中,步进电机选取的不同,接线的顺序不同,为了避免在接线出错,将里面的两种步进电机都选择 ...

  2. 51单片机按键控制数码管0~9_(51单片机)课设项目1-按键控制步进电机转向、转速、启停。...

    总体设计方案 硬件部分实现电机转动和数码管显示,包括控制开关模块.电机转动模块.数码管显示模块.软件部分实现对步进电机的控制功能,主要设计思想通过控制程序的开关来控制电机的转动启停.方向.速度.电源驱 ...

  3. 51单片机按键控制数码管0~9_51单片机外部中断

    前面为大家介绍的点亮LED灯.数码管.按键只用到了51单片机的IO资源,我们要是仅仅用单片机点灯.操作数码管,那可真是大才小用了.这些都只是51单片机资源的冰山一角,51单片机还有好多的功能,我后面将 ...

  4. 51单片机按键控制数码管0~9_7种常见的51单片机时钟电路图

    在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式. 电子学习资料大礼包​mp.weix ...

  5. 51单片机按键控制数码管显示0-9

    实验题目:使用51单片机设计两个按键控制数码管显示0-9,当K1按下减1,当K2按下加1. 理解程序可参考我的另外两个文章; 51单片机数码管显示0-9_学习笔记吧的博客-CSDN博客 51单片机独立 ...

  6. 51单片机按键控制输出pwm的占空比

    之前说到利用51单片机输出pwm,但是输出的pwm是固定占空比的,如果想要改变占空比,还得回过头来修改程序并重新烧写进单片机.这样做的话不但麻烦.效率低,还又把芯片的可烧写次数减少了一次,虽然51的芯 ...

  7. 51单片机 按键控制LED流水灯模式

    本章博客实现按键控制LED流水灯模式的功能 1.将之前文件中Delay.c.h复制过来,进行添加 2.模块化编程 3.main.c #include <REGX52.H> #include ...

  8. 51单片机—按键控制点阵显示

    名称:按键控制 8X8LED 点阵屏显 示图形 说明:每次按下 K1 时,会使 8X8LED 点阵屏循环显示不同图形.本例同时使用外部中断和定 时中断 #include"reg52.h&qu ...

  9. 51单片机按键控制流水灯

    1.按键的使用 <1>独立按键的原理图 按键所对应的引脚为P3的0.1.2.3引脚口,并且这里总共有四个独立按键,它们公共的一段都接到了GND电源的负极.这样我们就知道按键上电的默认电平为 ...

最新文章

  1. Flex scroller皮肤的使用
  2. python交互式shell_交互式 shell 玩转 Python
  3. 动感灯箱制作流程培训_广告立体灯箱的特点有哪些?
  4. LeetCode 788. Rotated Digits
  5. leetcode - 448. 找到所有数组中消失的数字
  6. linux gret 文件内容,DataX插件开发指南.docx
  7. Filecoin网络目前总质押量约为3314万枚FIL
  8. python编程手机_手机最强Python编程神器,在手机上运行Python
  9. (附源码)Springboot校园万能跑系统 毕业设计 160934
  10. leapftp:425 failed to establish connection解决方法
  11. mp4播放器带后台开源源码
  12. 全国计算机等级考试信息安全三级笔记
  13. ps修改图片中的图片尺寸
  14. 西安交通大学城市学院计算机二级,西安交通大学城市学院计算机系举行考研经验分享交流会...
  15. 一台笔记本连接WiFi,与一台只有有线网卡的台式机共享Internet的方法
  16. 关于CGI的一些认识
  17. javascript的原始数据类型
  18. PTA实验7-1-1 简化的插入排序 (15分) 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
  19. 双麦克风语音增强之ANF 自适应零点形成
  20. 地方麻将、棋牌手游的APP推广只差这项技术

热门文章

  1. 推荐一款比Excel还牛的神器,竟然可以用Python直接操作!
  2. 计算机使用记录怎么查,如何查看电脑使用记录,教您查看电脑使用记录的方法...
  3. 强化学习图鉴|人工智能新兴子领域,分布式强化学习是AI技术未来大规模实用化的关键?
  4. MACD常见的6种战法擒大牛
  5. 福州从事软件测试,自动化测试的个人经历
  6. (转)关于微信小程序大多数人都搞错的八个问题
  7. 教大家用按键精灵写一个快手自动抢红包脚本
  8. 全国计算机从业人数,我国的物流从业人员为5012万,占全国就业人数的6.5%
  9. 解密腾讯在NFT领域的谋划
  10. 解对称正定矩阵线性方程组的平方根方法