标题: 怎么用单片机4个IO口直接独立控制12个LED灯。中间不要加什么模块 [打印本页]

作者: 逻辑落寞    时间: 2019-10-30 11:13
标题: 怎么用单片机4个IO口直接独立控制12个LED灯。中间不要加什么模块
如题
作者: 无敌的UUZ大人    时间: 2019-10-30 15:51
你分解4的因数怎么运算能比12大?想控制12个LED灯至少需要4+3个来解决
作者: cphnkj188    时间: 2019-10-30 16:48
不是模块,最简单的方法是用38译码器+595
作者: 逻辑落寞    时间: 2019-10-30 17:25
cphnkj188 发表于 2019-10-30 16:48
不是模块,最简单的方法是用38译码器+595

只有单片机,led灯,电容,电阻,电感,这一些基础元器件呢。
作者: angmall    时间: 2019-10-30 18:13
Charlieplexing 作为一种LED 显示器多路复用的方法,能够使人们控制的LED 数量大得多,在LED 领域应用广泛。

这种被叫做Charlieplexing的方法可以用N个IO驱动N*(N-1)个LED。
I/O口要在工作在3态(高、低电平和高阻),驱动程序有点复杂。

当使用 Charlieplexing 方法,n 引脚可以有n*(n—1)个组合。也就是说,它可以用n个引脚驱动n*(n—1)个LED 二极管。而传统的行列复用则需要更多的引脚来驱动相同的LED 二极管,也就是说要驱动6 个LED,用行列式需要5 个口,而这种方法只要3 个。LED越多,节省的IO 越多。比方说驱动20 个LED,行列式要用9 个,而这种只要5 个。



作者: wulin    时间: 2019-10-30 23:15
逻辑落寞 发表于 2019-10-30 17:25
只有单片机,led灯,电容,电阻,电感,这一些基础元器件呢。

给你画一个接线图,在任意时刻只要有一个端口高电平,一个端口低电平,其余两个端口高阻。那么就只有一个LED发光,依次循环扫描就成流水灯,速度快了就达到视觉全亮。想控制任意几个LED亮灭就与控制多位数码管动态显示一样。唯一的前提条件是MCU的端口可以设置为推挽和高阻模式。



作者: 逻辑落寞    时间: 2019-10-31 08:43
wulin 发表于 2019-10-30 23:15
给你画一个接线图,在任意时刻只要有一个端口高电平,一个端口低电平,其余两个端口高阻。那么就只有一个 ...

厉害,谢谢了
作者: 1915134278    时间: 2019-11-2 14:31
还可以利用点阵的原理




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1