led点阵显示汉字-基于单片机的LED汉字显示控制系统?

谢邀,知乎小透明第一次被邀还是有点小激动呢~

如果要介绍所有的相关介绍,那不是一般的多(好吧 就是我懒),所以关于51单片机的那部分就不提了。主要说说LED点阵的工作原理。(因为第一次被邀请,所以打算专门为了回答打开电路仿真软件呢!)

led 发光二极管,对我们用来说,很简单的东西, 给阳极高电平,阴极低电平就能够点亮;两端都接低或高电平就不会亮。为了简单说明led点阵,以2*2的led点阵来说明。

LED点阵是将每行led的阳极连在一起,每列led的阴极连在一起,形成这样:

开始上图

(默认你能看懂电路图,仿真软件Proteus8.4)

最基本电路图就是这样,现在我们想点亮一个LED。我们想点亮D1,其他led不亮,就需要将D1的阳极接为高电平,阴极接低电平,因此要将K1为1,K3为0,同时为了保证D2 D3 D4不亮,K2必须为0(否则D3亮),K4必须为1(否则D4亮),如图:

点亮其他单个LED同理。

现在我们点亮两个LED:

同时点亮D1 D3:K1 K2 K3 K4必须为1101。

同时点亮D1 D2:K1 K2 K3 K4必须为1000。

同时点亮D3 D4,D2 D4同理,问题是如何同时点亮D1D4?

按照此电路图原理,同一时刻,是无法同时点亮D1和D4(或D2和D3)的,为了显示出D1D4同时点亮的效果,采用动态扫描的原理来实现,即先点亮D1,再点亮D4,以非常快的速度轮流点亮,在人眼中看到的就是两个都亮了(人眼视觉残留)。以此为原理所有的显示效果都能够显示出来。

能够发现,在led点阵中,能够同时点亮的led为同行或同列,也就是只有在同一行/列的led才能真正的在同一时刻点亮,不同行/列的只能用人眼视觉残留的方式让人感觉是同时点亮的。

所以在实际使用中,通常是以一行(列)为单位,每次只显示一行(列),轮流显示每行(列),在led点阵中被称为行(列)扫描。

至此led点阵的显示原理结束。从根本来说,就是控制引脚的高低电平信号而已,单片机就可以直接输出高低电平信号led点阵显示汉字,所以理论上是单片机可以直接控制led点阵,但是多个led点亮时的电流基本上是在几百ma左右甚至更大,单片机的IO口无法输出足够大的电流,因此在单片机和led点阵中间加入一个驱动IC提供电流,一般使用的74hc595、74hc245之类的逻辑IC,本质上依然是高低电平输出,在模拟测试时,可以忽略这类的逻辑IC,但实际使用中必须加,否则可能会出现led点阵亮度不够甚至无法点亮的情况。

最后简单说下上面说的74hc595和245

74hc245在此电路中输出完全和输入相同,在本电路中除增大驱动电流外led点阵显示汉字,完全可以当做单片机的IO口输出。

74hc595 三态输出锁存功能的8位串行输入、串行/并行输出移位寄存器 ,简单来说就是将少量的IO口用特定的协议装换为8个IO口输出,协议不涉及led显示原理,不多说,同样,在本电路中除增大驱动电流特定的协议可以减少IO口外,其他完全当做单片机IO口输出即可

文章由启和科技编辑,部分段落收集自网络,如有侵权,请联系我们删除


上一篇:制作led显示屏的教程-led显示屏制作教程LED显示屏怎么做的

下一篇:led显示屏故障大全-概述LED显示屏常见问题大全

TAG标签: LED显示屏