[STM32F1] 如何用STM32驱动LED指示灯?

[复制链接]
7399|26
 楼主| 紫阳真人 发表于 2018-4-8 09:40 | 显示全部楼层 |阅读模式
本帖最后由 紫阳真人 于 2018-4-9 09:43 编辑

用单片机点亮LED无非就是LED串联一个电阻,设置高低电平就好了。但是现在问题来了,我现在有20个LED,12个IO口,考虑问题就不这么简单了,既要考了IO数量问题,又要考虑功耗问题,然后我想到了74HC595。
但是用它去直接驱动也会使芯片承受很大的功率(每个LED5mA,全部点亮就是承受40mA,总限流50mA,从设计稳健角度考虑或许是不适合的)。
如下图,这是电路示意。或者每个LED加个三极管去驱动,这样又太复杂,除此之外我没有其他解决方案了,还请大神们支招,拜谢!

部分电路

部分电路



huangcunxiake 发表于 2018-4-8 19:35 | 显示全部楼层
静态显示?
huangcunxiake 发表于 2018-4-8 19:35 | 显示全部楼层
静态显示好像不可以吧。动态的不碍事。
mmuuss586 发表于 2018-4-8 22:56 | 显示全部楼层
电阻串大些功耗就低了;

评论

怕亮度不够  发表于 2018-4-9 09:45
 楼主| 紫阳真人 发表于 2018-4-9 09:44 | 显示全部楼层

是的,问题已经修改,没138的事,就是要点亮任意数量的LED
ayb_ice 发表于 2018-4-9 09:48 | 显示全部楼层
有那么灯要点亮,功耗自然摆在那里,
fengfeng的恒 发表于 2018-4-9 11:04 | 显示全部楼层
用动态扫描吧,用3个三极管带3行,1片ULN2003做列,相当于有7列,3*7=21个LED,用了3+7=10个IO口,电流功耗都没问题。你百度一下ULN2003就知道了。
xdkun 发表于 2018-4-9 11:17 | 显示全部楼层
动态显示,2路三极管加2个限流电阻,一个限流电阻可以管10个灯,10个端口各接2路的一个灯,动态显示没问题的
xdkun 发表于 2018-4-9 11:17 | 显示全部楼层
一个led一个电阻有点多于
wfl102824 发表于 2018-4-9 13:35 | 显示全部楼层
SM16126D,带恒流驱动的,连串联的电阻都不需要,只需一个恒流电阻,一个芯片输出16路
Prry 发表于 2018-4-9 22:15 | 显示全部楼层
lp55231,值得你拥有。
https://blog.csdn.net/qq_20553613/article/details/78933482
 楼主| 紫阳真人 发表于 2018-4-9 22:16 | 显示全部楼层
fengfeng的恒 发表于 2018-4-9 11:04
用动态扫描吧,用3个三极管带3行,1片ULN2003做列,相当于有7列,3*7=21个LED,用了3+7=10个IO口,电流功耗 ...

ULN2003是5V的TTL,我用3.3V控制不好吧
 楼主| 紫阳真人 发表于 2018-4-9 22:25 | 显示全部楼层
wfl102824 发表于 2018-4-9 13:35
SM16126D,带恒流驱动的,连串联的电阻都不需要,只需一个恒流电阻,一个芯片输出16路 ...

这个厉害,兼容聚积公司的 MBI5026,东芝的 TB62726
 楼主| 紫阳真人 发表于 2018-4-9 22:29 | 显示全部楼层
xdkun 发表于 2018-4-9 11:17
动态显示,2路三极管加2个限流电阻,一个限流电阻可以管10个灯,10个端口各接2路的一个灯,动态显示没问题 ...

这个成本最低,不错
 楼主| 紫阳真人 发表于 2018-4-9 22:37 | 显示全部楼层
Prry 发表于 2018-4-9 22:15
lp55231,值得你拥有。
https://blog.csdn.net/qq_20553613/article/details/78933482

非常不错,就通道少了点,收藏
fengfeng的恒 发表于 2018-4-10 09:07 | 显示全部楼层
紫阳真人 发表于 2018-4-9 22:16
ULN2003是5V的TTL,我用3.3V控制不好吧

3.3V没问题的,如果不是兼顾电流问题,都直接接IO口了。20个LED同时电流,20*5=100mA,单片机IO受不了。
 楼主| 紫阳真人 发表于 2018-4-10 10:33 | 显示全部楼层
fengfeng的恒 发表于 2018-4-10 09:07
3.3V没问题的,如果不是兼顾电流问题,都直接接IO口了。20个LED同时电流,20*5=100mA,单片机IO受不了。 ...

初步计划用TB62726,可以控制16路,其余的直接IO,操作方便
 楼主| 紫阳真人 发表于 2018-4-10 22:15 | 显示全部楼层
用TB62726,可以控制16路,其余的直接IO。
这种在控制面板上的LED,抗静放电需要做些什么吗,总感觉有风险,特别是IO直接驱动的
xcvista 发表于 2018-4-11 00:22 | 显示全部楼层
TPIC6B595 可以承受大电流,使用起来和 74HC595 一样。
lihui567 发表于 2018-4-11 08:39 | 显示全部楼层
本帖最后由 lihui567 于 2018-4-11 08:53 编辑

用专用LED驱动芯片etk6201
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:必须有所突破

76

主题

532

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部