DIY LED点阵显示系统.docx
- 文档编号:30540217
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:14
- 大小:1.09MB
DIY LED点阵显示系统.docx
《DIY LED点阵显示系统.docx》由会员分享,可在线阅读,更多相关《DIY LED点阵显示系统.docx(14页珍藏版)》请在冰豆网上搜索。
DIYLED点阵显示系统
DIYLED点阵显示系统
近年来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单片机最小系统电路。
图3 行驱动电路
图4 译码器扫描电路
图5 单片机电路
硬件制作
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显示面板
图7 显示面板背面的连线
图8 焊接好限流电阻、三极管基极电阻及排针
图9 显示面板大功告成
图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.实际例程参考(提供下载DIY小型LED点阵显示系统.rar)
本期配刊光盘里附带了一些例程和演示视频。
所有例程都提供了详细的注解,清晰易懂。
基于硬件制作成功的基础上可将这些程序直接下载使用。
这些程序包括:
★ LED3216显示一幅图片
★ LED3216点阵反白交替显示图片
★ LED3216点阵交替变化显示汉字
★ LED3216点阵拉幕显示图片
★ LED3216点阵拉幕显示汉字
★ LED3216点阵流动显示汉字
★ LED3216点阵模拟北京奥运会开幕式击缶画面
为方便LED屏的灵活使用,笔者在程序中设置了一系列可变参数,可根据自己的需要在程序开头进行调整。
以“LED3216点阵流动显示汉字”工程为例,可以设置移动速度、显示亮度,还可以设置字体大小(最大16X16)以适应显示多种字体和大小的汉字。
除了这些功能,程序还会通过计算字数来自动匹配代码长度,这样使得修改显示内容相当方便。
对于AT89S52型单片机,实际可在程序里放置超过200个16X16汉字的代码。
3.关于取模软件
本期配刊光盘里还附带了图15所示的取模软件。
这款取模软件不仅可以满足我们对取模字数的要求,还可以方便地设置字体、大小。
当然,它也能完成特殊符号、图片的取模。
针对笔者提供的所有例程,均需在该软件参数设置栏的“其他选项”里设置纵向取模、字节倒序。
图14 取模软件
结语
硬件是有限的,但软件是无穷的!
相信制作成功后的你已经有用它来设计电子钟的冲动了吧?
没错!
在硬件的基础上,爱好者可以随意地发挥自己的想象力,利用它开发出更好的产品!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DIY LED点阵显示系统 LED 点阵 显示 系统