马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?请使用中文注册
×
在做消费类电子产品设计时,常因单片机的IO不够驱动LED而发愁,有一种电路利用了单机IO正反推驱动LED,其查理复用算法可让相同针脚数量的IO口点亮更多LED灯。理论上能达到N个I0口可以驱动 N*(N-1)个LED灯。 今天分享下,只需要5个IO就能驱动188数码管。其实现原理,利用IO口三态控制及程序编写控制正反推驱动LED,为了更方便理解后面电路工作原理,咱们由浅入深一步步来,先从简单的2个IO来说其工作原理吧。 图一,两个LED反并联连接,红色LED的阳极连接到绿色LED的阴极。
当IO1变为高电平,IO2 变为低电平时,则红色LED点亮, 当IO1变为低电平,IO2 变为高电平时,则绿色LED点亮。
这个明白后,咱们再加一个IO就能实现3个IO控制4个LED如下图二。
这个也好理解,如果再升级一下呢,如下图,MCU仅通过3个端口即可单独控制6个LED。那么其和IO1、IO2、IO3 都会接入各2个灯。那么如何工作呢?
1.IO1=高电平,IO2=低电平,IO3=高阻态;那么上述中 IO1->LED1->IO2和 IO1->(LED6+LED4)->IO2能各形成一个回路,由于两路形成并联,(LED6+LED4)和 LED1是并联,所以当电压被钳位到LED1的点亮电压(例如2.8v),那么此时就只有 LED1点亮。LED6+LED4无法点亮。
2.IO1=高电平,IO2=高阻态(输入模式),IO3=0V;IO1->LED6->IO3同理LED6点亮;LED1+LED3 由于并联;LED6原因电压被钳位到比如2.4V,电压太低不足以点亮(LED1+LED3)2个灯。
3.IO1=高阻态(输入模式),IO2=高电平,IOP3=低电平;同理LED3点亮。(LED2+LED6)电压太低不足以点亮2个灯。以此类推,LED4,LED2,LED5点亮同理论。
上面如果你明白了,下面就好理解了,我们知道驱动一个1个8字数码管需要7个LED如下图,
那么我们用5个IO就能控制188型的数码管
A;为了更好的让layout画PCB,原理图还可以这样示意。
B;为了更好理让软件更好的编写程序原理图还可以这样,如第一个8字数码管示意。
第二个8字数码管示意。
硬件部分讲完了,咱们再讲解下软件部分--程序的编写思路对于使用了“查理复用算法”的LED控制电路,程序开发基本思路步骤: 1.初始化所有端口为高阻态: 2.初始化指定LED灯对应的两个针脚为推挽输出: 3.设置两个针脚的高低电平变化: 如是重复 1、2、3步骤即可:
上面说了电路的优点(省IO),下面咱们再聊下这种电路的4个缺点。
1、LED 显示频率
“查理复用” 技术的原理就是每次点亮一个发光二极管,然后再设置点亮另一个,周期重复。(LED二极管是单极性的)但如果频率足够快,人眼会认为LED是一直亮着的。每个LED的刷新速率必须大于50HZ。 2、峰电流
“查理复用”当显示的数量变大,通过LED的平均电流必须(大约)大于一个维持它持续点亮的常数(不是每个MCU都适用),这要求增加相应的电流峰值,这将导致限制了使用“查理复用”显示数量的问题。如果MCU代码崩溃,已点亮的LED比传统的复用处在一个非常大的电压下,增加了一个危险故障隐患。
3、三态要求.
“查理复用” 要求单片机的IO必须有三态。如果电流足够低以至于不能直接驱动微控制器的 I/O引脚显示,但如果必须使用外部状态,每个三态一般需要两个输出线,以控制消除了一个“查理复用”显示优势。由于来自微控制器引脚的电流通常仅限于20mA,因此这严重限制了一个 “查理复用”显示的实际功耗。 4、正向电压的复杂性 “查理复用”矩阵比传统的复合矩阵明显更加复杂,无论是在所需的PCB板布局和微控制器编程,这增加了设计时间。当使用不同正向的电压的颜色LED,可能存在的问题就是我们不期望亮的LED会亮起。原因如下: 红色 LED:通常是 1.8V->2.2V。黄色 LED:通常是 2.0V->2.4V。 绿色 LED:大概在 2.2V->2.8V。白/蓝色 LED:通常是 2.8V->3.5V。
例如我们想点亮 LED1,可以让IO1=高,IO2=低,IO3=高阻(输入模式),这样LED1就亮起来了,但是如果LED1损坏时呢?当电源电压较高时(例如5V),会形成图中箭头所示电流回路,造成LED4+LED5两只LED被意外点亮,然而用3V电压为什么没事呢?因为3V电压还没达到大部分LED压降的两倍,所以不会导致两只二极管串联导通(称之为二极管连锁现象)。同时所需的PCB板布局布线更绕。
最后是一些经验硬件设计方面: 限流电阻:每个LED或段需串联电阻,防止过流(通常220Ω~1kΩ)。 二极管特性:LED反向耐压较低,避免反向电压(可并联反向保护二极管)。 引脚电流限制:确保单引脚电流不超过MCU额定值(如20mA/引脚)。
软件优化方面: 扫描频率:建议>60Hz(每帧≤16ms),避免闪烁。 消隐处理:防止“鬼影”,切换数码管时短暂关闭所有段。 低功耗优化:其他空闲时引脚设为高阻态,减少静态功耗。 常见问题 交叉干扰:因高阻态漏电导致相邻LED微亮,可通过降低扫描间隔或优化PCB布局加大距离解决。 亮度不均:扫描占空比不一致时,需调整每位数码管的显示时间。 驱动能力不足:对于大尺寸数码管,需增加晶体管或专用驱动芯片(如74HC595)。
Type-c接口PCB设计工程师必看的8个细节
一键开机,MOS管软启动-解决启动大电流
高速GMSL信号转换MIPI信号设计自激升压+倍压整流电路工作原理 可控硅-交流调压器--电路分析过压保护--电路分析 运算组成恒流源电路--分析分立元件件过流保护--电路分析 RJ45接口PCB设计避坑大全HDMI接口PCB工程师必看的8个核心细节485电路设计指南:从原理到实战!硬件DFM避坑指南:从设计到量产的关键细节MIPI信号-PCB设计注意事项轻松读懂开关电源(快充)工作原理。PCB设计布线技巧的总结布局规划技巧。
|