DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 123|回复: 0
打印 上一主题 下一主题

AT89C51单片机在LED显示屏控制电路设计中的应用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:53:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? LED显示屏又叫电子显示屏,是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。
  LED显示屏广泛应用于信息指示灯,大屏幕显示,液晶显示的背光灯,固体照明等。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。
  一、控制电路设计
  控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵LED模块由4个8×8点阵LED模块组成,用户可根据需要扩展增加任意多个16×16点阵LED模块。8×8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则对应的发光二极管点亮。




  单片机P3.0引脚接串入并出移位寄存器74LS164(U10)的串行数据输入端,8个74LS164(U10~U17)级联,P3.1引脚接8个74LSl64的时钟脉冲输入端;8个74LS164分别接8个锁存器74LS373(U18~U25),8个锁存器的数据输出端接4个16×16点阵LED模块的行线,每个16×16点阵LED模块的行线是独立控制的。P1.O接8个74LS164(U2~U9)的时钟脉冲输入端,P1.1接U2、U4、U6、U8的串行数据输入端,每两个74LSl64(U2和U3,U4和U5,U6和U7,U8和U9)级联;U2~U9的并行数据输出端接4个16×16点阵LED模块的64条列线。P1.2接所有74LSl64的清0端,P1.3接锁存器的锁存控制端。设计完成的电路如图2所示。




  二、电路工作原理
  本电路利用串行通信口工作于方式0,同时利用P1.O和P1.1模拟串行输出,来实现LED显示屏字符平滑移动显示。由于LED模块为16× 16点阵,所以字符点阵也为16×16点阵,即每个字符由32个字节即16个字数据组成,每个字数据决定了每列LED点亮的情况。16×16点阵字符数据由字符点阵提取软件获得。
  首先单片机P1.1串行输出一位二进制位“1”,经4组74LSl64给4个16×16点阵LED模块的第1列送入一高电平,接着由P3.O串行输出4个16×16点阵LED模块的第1列行数据,即Y1,Y17,Y33,Y49列的行数据,经74LS373锁存后送LED显示屏的行线,此时每个LED模块第1列对应的LED点亮。每列的行数据为1个字数据,4列共4个字数据,每个字数据首字节在字符点阵数据表中的地址相差32,此时每个LED模块显示每个字符的第1列。接着P1.1串行输出一位二进制位“0”,经4组74LS164移位后给4个LED模块的第2列送入一高电平,再由P3.O串行输出4个16× 16点阵LED模块的第2列行数据,即Y2,Y18,Y34,Y50列的行数据,经74LS373锁存后送LED显示屏的行线,此时每个LED模块第2列对应的LED点亮,即显示每个字符的第2列。如此循环,依次点亮每个LED模块每列对应的LED,直到点亮每个LED模块的第16列,即依次显示每个字符的各列。只要每列交替显示的时间适当,利用人眼的视觉暂留特性,看上去16列LED同时点亮,即看上去整个字符同时显示。然后再从第1列依次扫描显示至16列,如此循环多次,以确保显示出的字符具有足够的亮度。
  为实现字符平滑移动显示的效果,在上面实现的4个字符静态显示一定时间后,再次扫描显示时,每个LED模块的第1列从每个字符的第2列数据开始扫描显示,即第1个LED模块显示第1个字符的第2列、第3列、……、第16列和第2个字符的第1列,第2个LED模块显示第2个字符的第2列、第3列、……、第16列和第3个字符的第1列、第2列、……。当第三次扫描显示时,每个LED模块的第1列从每个字符的第3列数据开始扫描显示,即第1个LED模块显示第1个字符的第3列、第4列、……、第16列和第2个字符的第1列、第2列,第2个LED模块显示第2个字符的第3列、第4列、……、第16列和第3个字符的第1列、第2列、……。如此实现了字符的平滑移动显示。
  三、程序设计
  根据以上电路设计及工作原理,绘制出本电路的控制程序流程图如图3所示。按程序流程图编写出控制程序,用Wave或Keil软件调试通过后,产生目标代码文件。




  四、LED显示屏控制电路仿真
  将目标代码文件加入用Proteus软件绘制的LED显示屏控制电路仿真图中的单片机中,仿真运行,运行结果如图4所示。




  五、 结语
  本文设计的LED显示屏控制电路采用单片机AT89C51作为控制器,串行移位输出方式,实现了一行字符的平滑移动显示,在实际应用时还应加上相关驱动电路。本电路可扩展实现由任意多个16×16点阵LED模块组成的LED显示屏显示控制。经实际应用表明,该电路稳定可靠,效果良好。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-6 14:31 , 耗时 0.085354 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表