热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

【转】8段数码管引脚图,8段数码管动态显示详解

数码管按段数可分为七段数码管和8段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3

数码管按段数可分为七段数码管和8段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。

  按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

  

  怎样测量数码管引脚,分共阴和共阳?

  找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。

  







  8段数码管引脚图 


8段数码管原理

8 个数码管它的数据线并联接到 JP5, 位控制由 8 个 PNP 型三级管驱动后由 JP8 引出。

  我们分别把他命名为 A,B,C,D,E,F,G,H

  

  搞懂了这个原理, 我们如果要显示一个数字 2, 那么 A,B,G,E,D 这 5 个段的发光管亮就可以了。也就是把B,E,H(小数点)不亮,其余全亮。根据硬件的接法我们编出以下程序。当然在此之前,还必须指定哪一个数码管亮,这里我们就指定最后一个 P2.7。

  显示数字 2 则是 C,F,H(小数点)不亮,同时由于接法为共阳接法,那么为 0(低电平)是亮为 1(高电平)是灭。从高往低排列,(p0.7_p0.0)写成二进制为 01111110, 把他转化为 16 进制则为A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格, 以后直接调用就行了。

  

  原理图中把所有数码管的 8 个笔划段 a-h 同名端连在一起,而每一个显示器的公共极 COM 是各自独立地受 I/O 线控制。CPU 向字段输出口送出字形码时,所有显示器接收到相同的字形码,由 8 个 PNP 的三极管,来控制这 8 位哪一位工作,例如上面的例子中我们选中的是 P2.7.就是最后的一位亮了。 同样的如果要第一位亮, 只需要把程序 CLR P2.7 改为 CLR P2.0 即可。

  在这里就有了一个矛盾, 所有数码管的 8 个笔划段 a-h 同名端连在一起, 那么在一个屏幕上如何显示0,1,2,3,4,5 这样不同的数字呢? 的确, 在这样的接法中,同一个瞬间所有的数码管显示都是相同的, 不能显示不同的数字。在单片机里,首先显示一个数, 然后关掉。然后显示第二个数,又关掉, 那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约 1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 例如数码管显示 01234567 这么 8 个数,在单片机中实际的工作流程如下:先打开 P2.0,送 0, 然后关掉 P2.0,开 P2.1 送 1, 再关掉 P2.1,打开 P2.2 送 2 , 依次向下,由于速度足够快, 那么我们将连续的看到 01234567 这 8 个数。

  8段数码管显示程序流程图:

 

【来源】


推荐阅读
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 2021年最新电脑显卡性能排行榜
    随着2021年的到来,鲁大师发布了最新的消费级PC硬件性能排行榜。其中备受瞩目的显卡TOP30榜单也已出炉,让我们一同了解当前市场上最强大的显卡及其性能表现。 ... [详细]
  • 智能手机的快速耗电问题困扰着许多人。通过一些简单的设置和调整,你可以显著提升手机的电池续航能力,甚至实现两天一充的目标。 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 了解计算机的序列号和主板型号对于多种用途至关重要。本文将详细介绍如何使用命令提示符和第三方工具,在Windows 10系统中轻松获取这些关键硬件信息。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 深入理解进程与线程:创建子进程和子线程的区别
    本文详细探讨了进程与线程的概念,解释了它们在资源分配和程序执行中的不同角色。通过对比进程和线程的创建方式及其特点,帮助读者更好地理解两者之间的差异。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
author-avatar
迷失港湾的豪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有