数码管动态显示实现

本文介绍了LED数码管的静态和动态显示方式,重点讲解了动态显示的工作原理和数码管动态显示的“消影”操作。通过使用74HC595芯片,结合位选引脚控制,实现了数码管的动态显示。文章还提供了数码管电路图及动态显示函数的编写思路,有助于理解数码管动态显示的实现过程。
摘要由CSDN通过智能技术生成


前言

  • LED数码管(LED SegmentDisplays)是由多个发光二极管封装在一起组成的器件。常见的LED数码管为“8”字型的,共计8段。每一段对应一个发光二极管。
  • LED数码管的显示分为两种:静态显示和动态显示。

一、静态显示

  • 无论多少位LED数码管,都同时处于显示状态。多位LED数码管工作于静态显示方式时,各位共阴极(或共阳极)连接在一起并接地(或接+5V);每位数码管段码线(a~dp)分别与一个8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到送入下一个显示字符段码。静态显示方式显示无闪烁,亮度较高,软件控制较易。如果数码管数目增多,则需增加I/O口。
  • 下面为4位LED数码管静态显示电路,各数码管可独立显示,只要向控制各位I/O口锁存器送相应显示段码,该位就能保持相应的显示字符。这样在同一时间,每一位显示的字符可各不相同。静态显示方式占用I/O口端口线较多。
    在这里插入图片描述

二、动态显示

  • 显示位数较多时,静态显示所占的I/O口多,这时常采用动态显示。为节省I/O口,通常将所有显示器段码线相应段并联在一起,由一个8位I/O口控制,各显示位公共端分别由另一单独I/O口线控制。
  • 动态显示就是单片机向段码线输出欲显示字符的段码。每一时刻,只有1位位选线有效,即选中某一位显示,其他各位位选线都无效。每隔一定时间逐位轮流点亮各数码管(扫描方式),由于数码管余辉和人眼的“视觉暂留”作用,只要控制好每位数码管显示时间和间隔,则可造成“多位同时亮”的假象,达到同时显示效果。各位数码管轮流点亮的时间间隔(扫描间隔)应根据实际情况定。发光二极管从导通到发光有一定的延时,如果点亮时间太短,发光太弱,人眼无法看清;时间太长,产生闪烁现象,且此时间越长,占用单片机时间也越多。另外,显示位数增多,也将占用单片机大量时间,因此动态显示实质是以执行程序时间来换取I/O端口减少。
    在这里插入图片描述

三、数码管动态显示的“消影”操作

  • 在程序进行切换数码管显示时,旧数据(上一位数码管的段选数据)依然存在,就开启了新数码管的位选,导致“旧数据”在新数码管短暂出现,然后程序更换新数据,替换了“旧数据”。反复快速的进行此类操作,导致短时间内,“旧数据”在新数码管上的显示次数剧增,使光亮度达到人眼可以轻微辨别的程度,于是出现所谓“重影”。
    在这里插入图片描述
  • 那么应该如何解决这种现象呢?这时候就需要用
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫饲养员儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值