和12岁小同志搞创客开发:如何驱动LED数码管?

简介: 和12岁小同志搞创客开发:如何驱动LED数码管?

目录

1、LED数码管分类和驱动原理


2、LED数码管驱动实践


机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。


image.png


项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html


LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成。


1、LED数码管分类和驱动原理

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


image.png


数码管按能显示多少个,可分为 1 位、 2位、 3 位、 4 位、 5 位、 6 位、7 位等数码管。

image.png


4位数码管


8位数码管

按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。


image.png


共阳数码管:将所有发光二极管的阳极(VCC)接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM 接到VCC,当某一字段发光二极管的阴极为低电平时,相应字段就点亮, 当某一字段的阴极为高电平时, 相应字段就不亮。

共阴数码管:指将所有发光二极管的阴极(GND)接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND,当 某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态数码管和动态数码管两类。


image.png

素材来源:博主 big__C

静态数码管:是每个数码管的每一个段码都由一个单片机的I/O端口进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

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

2、LED数码管驱动实践

DF创客社区商城售卖的数码管是增加了IIC芯片,通过IIC时序信号就可以进行驱动,极大方便了新手开发者使用,但是还是需要各位掌握好数码管的驱动原理,知其然知其所以然,在开发的过程中才可以达到举一反三的效果。


image.png


代码如下所示:


image.png

相关文章
|
人工智能 自然语言处理 数据库
AI - RAG架构
AI-RAG架构
794 0
|
人工智能 C++
ML之FE:Vintage曲线/Vintage分析的简介、计算逻辑、案例应用之详细攻略
ML之FE:Vintage曲线/Vintage分析的简介、计算逻辑、案例应用之详细攻略
ML之FE:Vintage曲线/Vintage分析的简介、计算逻辑、案例应用之详细攻略
|
10月前
|
机器学习/深度学习 人工智能 算法
模型即产品:万字详解RL驱动的AI Agent模型如何巨震AI行业范式
未来 AI 智能体的发展方向还得是模型本身,而不是工作流(Work Flow)。像 Manus 这样基于「预先编排好的提示词与工具路径」构成的工作流智能体,短期或许表现不错,但长期必然遇到瓶颈。这种「提示驱动」的方式无法扩展,也无法真正处理那些需要长期规划、多步骤推理的复杂任务。下一代真正的LLM智能体,则是通过「强化学习(RL)与推理(Reasoning)的结合」来实现的。
638 10
模型即产品:万字详解RL驱动的AI Agent模型如何巨震AI行业范式
|
10月前
|
Web App开发 移动开发 前端开发
React音频播放器样式自定义全解析:从入门到避坑指南
在React中使用HTML5原生<audio>标签时,开发者常面临视觉一致性缺失、样式定制局限和交互体验割裂等问题。通过隐藏原生控件并构建自定义UI层,可以实现完全可控的播放器视觉风格,避免状态不同步等典型问题。结合事件监听、进度条拖拽、浏览器兼容性处理及性能优化技巧,可构建高性能、可维护的音频组件,满足跨平台需求。建议优先使用成熟音频库(如react-player),仅在深度定制需求时采用原生方案。
448 12
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
你知道Seata AT模式中前后镜像是如何生成的嘛?
你知道Seata AT模式中前后镜像是如何生成的嘛?
517 0
你知道Seata AT模式中前后镜像是如何生成的嘛?
|
SQL 分布式计算 负载均衡
Hive数据倾斜的原因以及常用解决方案
Hive数据倾斜的原因以及常用解决方案
|
安全 BI 数据安全/隐私保护
什么是AD域?域能给公司带来什么好处?哪款AD域管理工具比较好?
经营公司中很重要的一点就是对公司的管理,所以基本上所有中型公司为了更方便地管理公司电脑,打印机和用户都会请IT咨询公司来做AD域的设计。
2703 0
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
存储 SQL 运维
DM8数据守护集群入门介绍
DM8数据守护集群入门介绍
296 0