wulin 发表于 2020-4-17 14:37 那操作蛮复杂,有没诀窍稍简单点驱动? |
尺寸小驱动还麻烦,我是不喜欢用这种,用上类似TM1650的芯片还是挺爽的,又不贵 |
这种电路对led的电流有较大限制吧,限流电阻没选好有可能会微亮。假设我用5V的单片机,红色LED串联1k电阻。我要点亮L5,P3高电平,P2高阻,P1低,两个串联的led可能获得0.7ma的电流而微亮 |
hefq 发表于 2021-2-26 21:09 这个能发个程序参考一下是如写的吗?我是初学者,网上只找到STM8,没有找到51单片机的参考写法,这懂如何改! |
![]() 按照思路驱动起来了,8个数码管9个IO,不要小数点8个IO就够 |
这个有专门的驱动IC,MAX6951 |
w1179benp 发表于 2020-4-18 16:49 嗯,定做的接法会有差异,不过控制方式是一样的 ![]() |
odfggf 发表于 2020-4-17 14:39 谢谢。如测试有结果,定分享 |
wulin 发表于 2020-4-17 14:37 感谢感谢,认真学习,学习................ |
xxpp2011 发表于 2020-4-17 13:18 非常感谢! |
这个要3态驱动,每个引脚都相当于二极管正反并联,比如1高2低或者1低2高,都可以点亮对应的管段,如果输出为高阻,就熄灭。 对应的真值表,如果有手册,可以直接查看,没有的话,就用万用表逐个测量记录 |
驱动这种数码管的技术称作查理复用技术(Charlieplexing) Charlieplexing的介绍 步骤1:一个非常简单的示例
请看下面的简单电路,该电路使用两个端口控制两个LED。 这里是工作原理。两个LED反并联连接,红色LED的阳极(左)连接到绿色LED的阴极(右)。 当端口1变为高电平而端口2变为低电平时,则绿色LED点亮,并且当端口1变为低电平并且端口2变为高电平时,红色LED点亮。 步骤2:再增加一个端口。..
现在,我们增加了一个端口以控制更多LED。我将电路分为3个子电路,每个子电路显示2个端口。因此,我们有2个LED由端口1和2控制,另外两个LED由端口1和3控制,另外2个LED由端口2和3控制,总共6个LED。 与以前一样,微控制器仅通过3个端口即可单独控制6个LED。如我之前所说,charlieplexing利用微控制器端口的三态。但是如何? 让我们用3个端口和6个LED重新绘制相同的电路,但是这次我们将不分别绘制它们: 当端口1为HIGH且端口3为低电平,则L6将点亮。但是端口2必须处于什么状态?如果端口2为高电平,则L4也将点亮,如果端口2为低电平,则L2将同时点亮。因此,为避免不必要的情况,端口2必须处于高阻抗状态。我们将此引脚设为输入。如果我们尝试点亮L2,当然同样适用。端口1应该变为高电平,而端口2应该变为低电平。如果端口3为高电平,则L3也将点亮,如果端口3为低电平,则L6将同时点亮。因此,一般规则是,只有两个端口可以同时输出,而其他所有端口都可以通过将它们定义为输入来处于高阻抗状态。 |
这种数码管理论上7个IO 口可以驱动42个LED笔段,在没有资料的情况下只能用万用表逐一绘制出内部LED与引脚连接关系,以此编写程序也不是十分困难。不过MCU刚入门水平就不要动这个心念头了。 |
这是一个专门定制的数码管显示,器件与资料都不好找。 |
6脚数码管驱动方式(7脚类似) https://blog.csdn.net/q690189450/article/details/100629016 |
93317450led7pin7seg_scan_demo.zip
206.61 KB, 下载次数: 196