多个16×16点阵LED模块组成显示屏的实现
eeskill 2022-01-24

LED显示屏广泛应用于工矿企业、学校、商场、店铺、公共场所等进行图文显示,广告宣传,信息发布。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。

1 电路设计

控制电路由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软件调试通过后,产生目标代码文件。

4 电路仿真

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

基于AT89C51单片机控制LED显示屏的电路设计

5 结语

该LED显示屏控制电路用单片机作为控制器,采用串行移位输出方式,实现了一行字符的平滑移动显示,在实际应用时还应加上相关驱动电路。本电路可扩展实现由任意多个16×16点阵LED模块组成的LED显示屏显示控制。经实际应用表明,该电路稳定可靠,效果良好。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 51单片机三种模拟串口的方法

    随着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被动上报给管理站。这种情况下下,

    昨天
  • 指令集与操作系统的关系

    1、首先讨论各种单片机与操作系统的关系说到单片机,大家第一时间想到的应该是51单片机,对吧。不错,更高级一点的AVR,把他称为单片机,我们也还觉得可以接受。那么

    昨天
  • 8051指令系统的7种寻址方式

    寻址方式:寻址就是寻找操作数的地址。绝大多数指令执行时都需要操作数,因此就存在如何确定操作数地址的问题。所谓寻址方式就是通过什么途径获取操作数的方式。根据指令操

    昨天
  • 在51系列中data,idata,xdata,pdata的区别

    从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata

    昨天
  • stm32的JTAG模式和SWD模式

    一、JTAG模式这种模式一般有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的。值得注意的是,不同的IC公司

    昨天
  • 计数器如何用作定时器?计数器溢出又是什么?

    计数器从一个生活中的例程看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。那么单片机中的

    昨天
  • AVR自编程是如何实现的?

    BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要

    昨天
  • STM32 的14组过滤器

    STM32普通型芯片的CAN有14组过滤器组(互联型有28组过滤器组),用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和C

    昨天
  • ARM中关于cmp的详细用法

    一、关于cmp的详细用法假设现在AX寄存器中的数是0002H,BX寄存器中的数是0003H。执行的指令是:CMPAX,BX执行这条指令时,先做用AX中的数减去B

    前天
  • 基于单片机的扫频激振技术

    振弦式传感器是目前应力、应变测量中较为先进的传感器之一。振弦式传感器的输出是频率信号,信号处理过程中无须进行A/D及D/A转换,因此,抗干扰能力强,信号传输距离

    前天
  • 基于MSI的N进制计数器设计

      1绪论  计数器是数字逻辑系统中的基本部件,它是数字系统中用得最多的时序逻辑电路,其主要功能就是用计数器的不同状态来记忆输入脉冲的个数。除此以外还具有定时、

    前天
  • 一种基于嵌入式实时操作系统和ARM的新型数据采集装置

      0引言  数据采集技术是信息科学的一个重要分支。随着计算机科学技术的飞速发展和普及,数据采集技术己经渗透到雷达、通信、水声、遥感、地质勘探、振动工程、语音处

    前天
下载排行榜
更多
EE直播间
更多
广告