- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
整体方案与硬件电路设计
?
本显示屏采用列扫描、直接送行显示码的方式工作,基本显示原理在后面的软件设计部分提及。分辨率为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 ?
图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.实际例程参考(后续文章将提供下载)
?
本期配刊光盘里附带了一些例程和演示视频。所有例程都提供了详细的注解,清晰易懂。基于硬件制作成功的基础上可将这些程序直接下载使用。
这些程序包括:
★???? LED3216显示一幅图片
★???? LED3216点阵反白交替显示图片
★???? LED3216点阵交替变化显示汉字
★???? LED3216点阵拉幕显示图片
★???? LED3216点阵拉幕显示汉字
★?
文档评论(0)