萬用電路板

--纯属爱好,谁与共鸣

« 个性化你的U盘【图】LED3216硬件制作细节展示 »

【图】DIY小型LED点阵显示系统

DIY小型LED点阵显示系统 

——本文发表于《无线电》2008年第12期

近年来LED点阵技术发展迅猛,LED屏已经悄悄地在我们身边普及:使用场所涉及到证券市场、银行、机场、车站、商场等等,包括北京奥运会开幕式上的“巨幅画卷”也使用了巨大的LED显示屏。LED屏以其使用寿命长、环境适应能力强、亮度高、可视角大等优点受到用户的青睐。
LED点阵对电子爱好者往往有着很大的吸引力,但是由于制作点阵屏接线过于麻烦,不具备制版条件的业余爱好者对此总是望而却步。笔者利用万用电路板焊接了一块32X16大小的LED屏,使用AT89S52型单片机对其进行控制。现将资料整理出来,与广大电子爱好者分享。
 
整体方案与硬件电路设计
 
本显示屏采用列扫描、直接送行显示码的方式工作,基本显示原理在后面的软件设计部分提及。分辨率为32X16的显示屏由8个共阳型LED点阵单元构成。共阳型LED点阵单元(8X8)的结构示意图如图1,由行输入高电平点亮。
 
 
1 LED点阵单元结构示意图
 
图2是8个LED点阵单元级联的接线图。R1~R16是限流电阻,用来保护LED的安全;VT1~VT32是32只PNP型三极管,在这里起到开关的作用:通过控制B01~B32来使得在任何时刻只有唯一的列导通以点亮该列,当列切换的速度足够快时,由于人眼的视觉暂留现象,看上去整个屏都是亮的,这就是动态扫描的基本原理。
 
 
2 8个点阵单元的级联
 
其实图2已经构成一块LED屏了,如果微处理器有足够大的驱动能力和足够多的I/O口,就可以直接驱动这块LED屏了。但是为了能用AT89S52单片机来控制它,我们需要再加一些驱动电路和译码电路,以提供足够的驱动能力以及简化与单片机的连接。
行驱动电路使用两片74HC245(图3),这是比较常用的驱动芯片,当DIR接高电平时,A端为输入、B端为输出。
列扫描电路则利用了两片4-16线译码器74LS154(图4),U4、U5分别对应左、右屏。A、B、C、D为输入、Y0~Y15为输出。此外,还有CS1、CS2两根线分别使能左、右屏译码器,也就是使能左、右屏。CS1、CS2为低电平使能。
图5是AT89S52单片机最小系统电路。
 
 
行驱动电路
 
 
译码器扫描电路
 
 
单片机电路
 
硬件制作
 
LED屏在业余条件下的制作很麻烦,光8块LED点阵单元就有128根飞线。相信对于很多朋友来说动手焊这么多飞线还是第一次,包括笔者。所以,制作过程要求有足够的细心和耐心,千万不要急于求成,每天花点时间做,这样可以保证自己不会因疲倦而导致频繁出错。尽量做到零错误,否则检查起来会很麻烦。
 
1.元器件选择
 
该制作涉及到的元器件并不复杂,这里就不再细说。只是要强调一点:LED点阵单元的引脚排布并不像图1那么规则,不同规格不同型号便有区别。所以提醒大家购买LED点阵单元后,需结合所查资料和万用表确定其引脚排列。就笔者使用的LG12088BH型点阵单元的引脚排列如表1(仅供参考):
 
表1 LG12088BH型点阵单元的引脚排列(仅供参考)
行(从上到下依次为)
行1
行2
行3
行4
行5
行6
行7
行8
引脚号
9
14
8
12
1
7
2
5
列(从左到右依次为)
列1
列2
列3
列4
列5
列6
列7
列8
引脚号
13
3
4
10
6
11
15
16
 
电路板选用双面万用电路板,具有较硬的材质也便于焊接走线。笔者使用了一大一小两块电路板,分为显示面板和背部译码器电路板两部分。
 
2.硬件制作图解
 
笔者一直追求美观和制作工艺,虽然焊接较麻烦,但仍然没有采用“飞线一团糟”的焊接方式,较好地利用了细金属导线和质量较好的漆包线。
图6是LED显示面板,驱动芯片和三极管已焊在该板上;图7是显示面板背面的连线方法:16根行线使用细金属丝贯穿整块电路板,然后用漆包线将各个点阵单元的行引脚连接至对应行线上,再用漆包线连接处于同一竖条上的点阵单元的列引脚,此时列线与行线成矩阵状。最后再焊接限流电阻、三极管基极电阻及相关排针。电阻、排针都置于显示面板反面(图8)。
LED显示面板焊接完成后(图9),再在另一块板上焊好译码器电路(图10)。为实现译码器电路与显示面板的电气连接,笔者巧妙地利用了排针与排座(图11)。
完工后的成品如图12所示。下面就可以使用AT89S52单片机对其进行控制了(图13),如果你还没有单片机系统板,那就得再加一加班了。
 
 
6 LED显示面板
 
 
显示面板背面的连线
 
 
焊接好限流电阻、三极管基极电阻及排针
 
 
显示面板大功告成
 
 
10  译码器电路板
 
 
11 译码器电路板与显示面板通过插座连接
 
 
12 成品
 
 
13 利用单片机系统板对其进行控制
 
软件设计
 
1.基本显示原理
 
一个国标汉字是由16X16即256个点(像素)来构成的,显示一个汉字该亮哪些点这些复杂的工作都交给取模软件来完成,同时,取模软件也负责把要显示的汉字转化成程序中要用到的显示代码,代码以一定的规律表征了该亮的点(一般用“1”表示)与不该亮的点(一般用“0”表示),一共256位。单片机负责将这些代码一段一段有规律地送到LED屏,比如第一次输出表示第1列的16位代码点亮第1列、紧接着再输出16位代码去点亮第2列……直到点亮第16列然后再重新点亮第1列……,如此循环,就完成了这个汉字的显示。单片机输出的速度足够快时,由于视觉暂留现象使得人眼在同一时刻感受到了这16列输出的信息,也就是看到了这个汉字。由于AT89S52单片机是8位总线结构,一次不能输出16位代码以显示完整的一列,这样我们把一个字拆分为上下两部分,一次送8位,一共送32次,这样同样完成了一个汉字的显示。事实上这个汉字区域也可以是在256象素范围内的任何图形。
再结合硬件电路来理解本文的LED屏:显示代码是通过图3所示的驱动电路送至LED屏的,列的切换则是通过译码器控制三极管VT1~VT32依次轮流导通来实现的,也就是扫描。
 
2.实际例程参考(后续文章将提供下载)
 
本期配刊光盘里附带了一些例程和演示视频。所有例程都提供了详细的注解,清晰易懂。基于硬件制作成功的基础上可将这些程序直接下载使用。
这些程序包括:
     LED3216显示一幅图片
     LED3216点阵反白交替显示图片
     LED3216点阵交替变化显示汉字
     LED3216点阵拉幕显示图片
     LED3216点阵拉幕显示汉字
     LED3216点阵流动显示汉字
     LED3216点阵模拟北京奥运会开幕式击缶画面
为方便LED屏的灵活使用,笔者在程序中设置了一系列可变参数,可根据自己的需要在程序开头进行调整。以“LED3216点阵流动显示汉字”工程为例,可以设置移动速度、显示亮度,还可以设置字体大小(最大16X16)以适应显示多种字体和大小的汉字。除了这些功能,程序还会通过计算字数来自动匹配代码长度,这样使得修改显示内容相当方便。对于AT89S52型单片机,实际可在程序里放置超过200个16X16汉字的代码。
 
3.关于取模软件
 
本期配刊光盘里还附带了图15所示的取模软件。这款取模软件不仅可以满足我们对取模字数的要求,还可以方便地设置字体、大小。当然,它也能完成特殊符号、图片的取模。针对笔者提供的所有例程,均需在该软件参数设置栏的“其他选项”里设置纵向取模、字节倒序。
 
 
14 取模软件
 
结语
 
硬件是有限的,但软件是无穷的!相信制作成功后的你已经有用它来设计电子钟的冲动了吧?没错!在硬件的基础上,爱好者可以随意地发挥自己的想象力,利用它开发出更好的产品!

原创作品如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]

  • quote 2.波仔
  • 您好。我是大四的本科生。自己动手能力差,但是想自己做一个单片机系统。我对LED显示屏很感兴趣吖。能不能把实例程和取模软件发给我吖?不胜感激。谢谢!
  • 2008-12-12 11:26:58 回复该留言
  • quote 3.jiangx
  • 例程程序包:http://www.jiangx.net/post/271.html
    取模软件:http://www.jiangx.net/post/258.html
  • 2008-12-26 15:04:38 回复该留言
  • quote 4.求助
  • 你好啊,对这个点阵屏很感兴趣。能否告知一下 那八块点阵 级联时具体管脚的接线方式呢?
    jiangx 于 2008-12-28 13:07:18 回复
    图1是每块点阵单元的内部结构,就是将8块这样的点阵拼在一起。但是点阵单元实物引脚不像图1那么规则,所以需要弄清楚它们的引脚排列。对于LG12088BH型点阵单元的引脚排列可参考表1。
  • 2008-12-28 11:59:38 回复该留言
  • quote 6.北斗星
  • 今天除7805稳压部分外,全部焊接完毕。单片机部分接上电源和下载线,电脑能认到了。
    jiangx 于 2009-1-20 14:06:09 回复
    不错不错,期待您的成功!
  • 2009-1-16 22:15:20 回复该留言
  • quote 7.rrkcbb
  • 你好,我想自己做一块16*64的屏,是不是将正极都连一起,负极都连一起就可以了?
    然后按照电路图接起来就可以了?
    jiangx 于 2009-1-20 14:06:47 回复
    你好,不是很明白你的意思,呵呵。
  • 2009-1-17 16:35:50 回复该留言
  • quote 8.123280742
  • 您好,我正在做LED显示屏的毕业设计,有很多不明白的地方,能不能加好友联系,帮帮我呢?万分感谢!!QQ123280742
  • 2009-4-2 15:05:59 回复该留言
  • quote 9.rsr4232
  • 您好。我是大四的毕业生。自己动手能力差,毕业设计是LED条屏显示。我对LED显示屏也很感兴趣。一直找相关的资料但都不详细.能不能把原理图,硬件连接图,实例程和取模软件发给我?不胜感激。谢谢!

  • 2009-4-10 11:53:32 回复该留言
  • quote 10.springvirus
  • 有点惧怕3216,所以决定先焊个1616的屏玩玩,昨刚焊接完,还没调试,希望一切正常!!呵呵
  • 2009-4-13 10:18:09 回复该留言
  • quote 14.系统
  • 大家好我是单片机爱好者,请问大家BFJ2088BS和GK2088BS及LG12088BH点阵一样嘛?我现在有前俩种可不知道它的行及列的管脚分布啊请大家指导一下,我希望大家给详细的说一下或给我的QQ邮箱里发点关于那两快点阵的资料啊谢谢大家啦,QQ453377413
  • 2009-4-27 21:39:30 回复该留言
  • quote 17.jiangx
  • 回复reepoo:啥意思?
    reepoo 于 2009-5-12 10:40:20 回复
    就是完整的线路连接图,焊接时用的
  • 2009-5-7 21:41:13 回复该留言
  • quote 18.reepoo
  • 为什么R1---R16只有100欧呢,会不会造成电流过大呢
  • 2009-5-22 18:01:14 回复该留言
  • quote 19.jiangx
  • 回复reepoo:不用担心电流过大,点阵屏工作时是高速动态扫描,没有持续电流,仅仅是一个脉冲而已,你可以这样理解,在LED还没完全点亮的时候就断电了。
    杜洋的3208电子钟甚至连限流电阻都没要。
  • 2009-5-22 20:56:28 回复该留言
  • quote 20.move
  • 用两种不同型号的点阵可以做成16X16或3216的点阵屏吗?
  • 2009-5-25 18:02:21 回复该留言
  • quote 21.jiangx
  • 回复move:要同样尺寸的才行哦,另外型号不同的话引脚排列应该不一样,需要找出排列规律。
  • 2009-5-25 20:20:03 回复该留言
  • quote 23.reepoo
  • 终于焊接好了,真麻烦啊,可是显示文字时还是有点小错误,不过应该不是问题了,呵呵,站长对我有很大的帮助啊,在此谢谢啦!!!
  • 2009-5-31 16:53:30 回复该留言
  • quote 24.reepoo
  • 终于焊接好了,我一个星期没干别的,真麻烦啊,不过完成后很有成就感啊,虽然目前显示文字时还是有点小错误,但是应该没问题啦,站长在过程中给我很大的帮助,在此谢谢啦!!!!
  • 2009-5-31 16:55:55 回复该留言
  • quote 25.jiangx
  • 回复reepoo:不客气。lie=j<<4是指把j向左移动4位之后赋给lie。
  • 2009-6-1 9:08:42 回复该留言
  • quote 26.reepoo
  • 我的硬件软件基本完成,但是还是有点小错误,希望站长能帮我看看,呵呵
    下面是优酷地址http://v.youku.com/v_show/id_XOTY1MDk3Njg=.html
  • 2009-6-6 1:28:16 回复该留言
  • quote 27.jiangx
  • 回复reepoo:出现这个问题的原因是那一列的列线与地短路了。如果焊接没问题的话就检查一下该列的三极管是否击穿(C、E之间短路),如果是便更换三极管。
  • 2009-6-6 16:26:33 回复该留言
  • quote 29.reepoo
  • 我知道了,原来是有个坏点,这个坏点一短路,导致这一列都出问题了
  • 2009-6-8 13:44:07 回复该留言
  • quote 31.兰艳波
  • 有没有程序呀,在网上的那个有错误,能发到我邮箱么?lanyanbo@126.com
    谢谢了!
  • 2009-9-1 15:20:19 回复该留言
  • quote 33.兰艳波
  • 为什么有的字能显示全,而有的不全呢?是字模提取软件的原因么?
  • 2009-9-24 16:38:52 回复该留言
  • quote 34.请教
  • 楼主能加我QQ一下吗
    我有点问题要请教你一下
    285552480
  • 2009-11-18 20:52:06 回复该留言
  • quote 36.
  • 班主 能不加下我QQ516626014 我有问题想问你~
  • 2010-1-24 15:37:42 回复该留言
  • quote 37.七星
  • 你好,楼主!我照着你的电路图在PROTUES仿真了一下,例程也下了进去。可是结果却是LED灯几乎全部在不断的闪烁。根本看不到字。我保证电路连结没错,我检查了好多次。
  • 2010-4-19 1:07:16 回复该留言
  • quote 38.七星
  • 你能不能加我下,我有些问题想问你,麻烦下,谢谢!!
    QQ:879774130
  • 2010-4-19 1:11:30 回复该留言
  • quote 39.
  • 太麻烦了吧,就这几个字占了单片机的三个I/O口,我手工焊了一个可显示4个汉字的LED屏,只用RXD,TXD就行了。
  • 2010-5-24 17:22:46 回复该留言
  • quote 40.魅浩
  • 楼主,能把程序发给我么,花了好几个晚上按你的电路图做了个!417704128@qq.com
  • 2010-5-28 17:07:49 回复该留言
  • quote 41.电子
  • LED3216电子钟与这个有什么不同啊,LED3216电子钟也可以实现汉字显示吗?谢谢啦!
  • 2010-6-30 20:27:34 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

赞助商广告

最近发表

热文排行

最新评论

广告

图标汇集

  • 留言板
  • 订阅本站的 ATOM 1.0 新闻聚合
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-Blog 1.8

Copyright 2008-2010 JiangX.net 萬用電路板 All Rights Reserved.
鄂ICP备08003060号 [login]