基于单片机的LED电子显示屏控制系统的设计
2022-11-08
来源:步旅网
物流工程与技术 中国市场2016年第6期(总第873期) 基于单片机的LED电子 显示 屏控制系统的设计 陈亚男,田嘉欣,杜佳慧 (北京服装学院,北京[摘100029) 要]LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。文章介绍了一款以AT89C52 单片机为核心,采用串行传输、动态扫描技术来制作的16×16 LED电子的多功能显示屏控制系统的设计。 [关键词]LED显示屏;单片机;动态扫描;控制系统 [DOI]10.13939/j.cnki.zgse.2016.06.056 1 引 言 2015年笔者申请了北京服装学院的本科生科研训练项 目(简称URTP),项目名称是“LED电子显示屏控制系统 的设计”。本项目的实施力图使学生通过单片机及LED显示 屏相关知识的学习,并通过编程软件的使用及元器件的选 择,初步掌握硬件电路设计及软件编译的方法,为后续课程 的学习及毕业后从事相关的工作奠定一定的基础。 2 系统基本组成及工作原理 本项目采用的LED显示屏部分主要是由4个8×8的 LED点阵组成的16×16的LED点阵和行列驱动电路构成, 组成后的点阵电子显示屏如图1所示。 列0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 行0 ●●●●●●●●●●●●●●●● ●●●●●●●●●●●1 ●●●●● 2 ●●●●●●●●●●●●●●●● 3 ●●●●●●●●●●●●●●●● 4 ●●●●●●●●●●●●●●●● 5 ●●●●●●●●●●●●●●●● 6 ●●●●●●●●●●●●●●●● 7 ●●●●●●●●●●●●●●●● 8 ●●●●●●●●●●●●●●●● 9 ●●●●●●●●●●●●●●●● 10 ●●●●●●●●●●●●●●●● 11 ●●●●●●●●●●●●●●●● l2 ●●●●●●●●●●●●●●●● l3 ●●●●●●●●●●●●●●●● 14 ●●●●●●●●●●●●●●●● l5 ●●●●●●●●●●●●●●●● 图1点阵电子屏实物 本项目采用的是点阵方式显示汉字,采用这种方式形成 显示需要的图形或文字是非常灵活的,因为可以依据不同需 要任意组合和变化,只需要提前预设好正确的数据,然后让 每个LED发光器件占据数据中的一位,再通过对点阵上全 部的LED灯进行调节和控制,在需要该位置上LED器件发 光时,数据中相应的位填1,否则填0,这样就能依照所需 显示相应的图形或者文字,再按显示屏的各行各列逐点扫描 显示数据,这样能得到所需要的显示效果。 由于汉字在LED点阵电子显示屏上显示比较稳定,因 娃2016.2 此可以通过计算机的字库提取字模,字库可以提供多种汉字 形式,如隶书、微软雅黑和新宋等多种选择方案;另外显示 屏显示汉字的大小也有不同规格,常见的有16×16、24× 24、32×32、48×48等,汉字的颜色常见的也有红、黄、 绿等常见的颜色。本项目使用的四个8×8的LED点阵组成 一个16×16的LED点阵。 本项目采用了动态扫描法进行汉字显示。动态扫描方法 即指逐行轮流点亮LED,这样扫描的驱动电路可以实现多行 (比如16行)的同名的列共用一套驱动器。具体就】6×16 的点阵来说,把所有同一行的发光管的阳极连在一起,把所 有同一列的发光管的所有阴极连在一起(共阴极的接法), 在显示过程中,应该先送出对应第一行发光管亮灭的数据, 然后锁存,再选通第1行使其燃亮一定时间,然后熄灭;再 送出第2行的数据并锁存,然后选通第2行使其燃亮相同的 时间,然后熄灭;以此类推,第16行之后,又重新燃亮第 1行,反复轮回。当这样轮回的速度足够快,每一行的显示 时间大约为4ms,由于人眼的视觉暂留现象,就能看到所要 显示的需要汉字了。 采用动态扫描方式进行汉字显示时,每一行都有一个对 应的行驱动器,每一行的同名列用的是同一个驱动器。显示 的汉字数据通常存储在单片机的CPU中,按8位一个字节 的形式顺序排放。在实际汉字显示时需要先把一行中每列的 数据都发送至相应的列驱动器上去,这就存在一个显示数据 传输的问题。从控制电路到列驱动器的数据传输可以采用并 列方式或串行方式。显然,采用并行方式时,从控制电路到 列驱动器的线路数量大,相应的硬件数目多。当列数很多 时,并列传输的方案是不可取的。 如果采用串行传输的方式,控制电路就能只用一条信号 线传输,将列数据一位一位往列驱动器中传送,这样在从硬 件方面考虑是十分经济有效的做法。但是,采用串行传输的 方式耗时比较长,要传送的数据将按顺序一位一位地传送给 列驱动器,等到该行的各列数据全部传输到位以后,该行的 各列就能并行的显示出来。这样,对于任一行的显示过程都 可以分成两部分,这两部分分别为列数据准备和列数据显 示。通过串行传输方式显示汉字,列数据准备时间可能需要 的时间会很长,由于行扫描周期确定,这样留给行显示的时 间就会大大缩短,最后可能会影响到所要显示汉字的亮度和 稳定性。 如果要解决上述串行传输过程中列数据准备和列数据显 示的时间不统一的问题,可以使用重叠处理的方法。重叠处 陈亚男,等:基于单片机的LED电子显示屏控制系统的设计 物流工程与技术 理的方法是指在显示某行每列数据的同一时刻,单片机也传 送下一列数据。为了达到重叠显示的效果,列数据在显示过 程中就需要有锁存的功能。通过上述种种分析,可以得出列 驱动电路应具有的功能。同时,对于列数据准备功能来说, 还需要能实现串人并出的功能;对于列数据显示来说,应具 有并行锁存的功能。这样,该行已准备好的数据进入并行锁 存器达到显示效果时,串并移位寄存器就能够准备下一行的 列数据显示,从而在不会影响本行数据的显示情况下实现汉 字的准确无误显示。 控制器电路采用单片机,主要负责控制存储显示数据模 块,安排控制信号的定时与顺序、控制驱动LED显示点阵 的电路等,驱动电路分为行驱动电路和列驱动电路,用来驱 动LED显示点阵。 本项目的驱动电路由行驱动和列驱动构成。为了充分利 用单片机的接口,行驱动电路中加入了一个4一l6线译码器 74HC154。列驱动由集成电路74HC595构成,它具有一个8 位串入并出的移位寄存器和一个8位输出锁存器的机构,可 以实现在显示本行列数据的同时,传送下一行的列数据,即 达到重叠处理的目的。 3系统软件设计 该LED点阵电子显示屏各模块的显示方式分为静态和 动态两种。其中静态显示原理简单、控制方便,但硬件接线 复杂,通常是一帧画面输入以后便可永久显示,如果我们需 要改变显示内容,就必须重新输出新的点阵数据,这样不便 于大屏幕的制造,成本高,可靠性低,而且需要的译码驱动 装置也很多,因此,在实际应用中一般采用动态显示方式。 动态显示采用扫描的方式工作,把整个LED屏幕分为若 干部分,每一幅画面的显示是显示完一部分后,又显示第二 部分……直到显示完成最后一部分又重新开始显示第一部分, 重复循环进行,在重复扫描速度足够快的情况下,由于视觉 暂留效应,我们看到的就是一幅稳定的画面,也就是说采用 动态扫描显示需要不断进行画面的刷新,在这种方式下其显 示驱动电路可重复利用,引线也大大减少,从而使硬件成本 降低,且显示屏幕的发光二极管轮流发光,使耗电量大大降 低,大屏幕的制造、维护更容易,并且能够增加可靠性。 该点阵式LED显示屏采用动态扫描显示方式,这种显 示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画 面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来 就是一个完整的、相对静止的画面。 根据程序设计的结构和思路,把单片机AT89C52在点 阵电子屏的显示任务中的工作量分为以下两个部分。 3.1中断扫描显示任务 扫描显示任务负责把数据依次发送到列驱动器74HC595, 并按严格的时序低电平选通16根行扫描线,使每一列数据对 应着一个行线状态,部分中断程序如图2所示。 3.2移动处理任务 移动处理任务负责完成显示字符逐点阵向左移动的算法 处理,这是最基本的显示效果。其他大部分显示效果如左移 几个汉字后暂停,全屏定格显示等都是以逐位左移为基础。 对显示字符的移动,实质上是对显示缓冲区BufferDat内数 void Timer0Interrupt0 interrupt 1 { uchaCol,i;r uint Tmp; uint ROW; TH0=0xbl: TIJD=0xe0: TR0=0; //暂时关闭 Row=1; for(Col=O;Co1<16;Col++) ,/先发列 { STCP_Row_IO=O: Tmp Row; for(i=0;i<16;i++) //每行要发送16次,2个字节 { SHCP_Row_IO=0; Tmp<<=1: DS_Row_IO=CY; SHCP—Row—IO=1; } 图2中断处理程序 据的移动。其中,实现汉字上移的程序如图3所示。 void up_Move(void) { uehari,k,m; m=0: for(i=0;i<15;i++1 ,/先放进消隐 BufferDat[i]=Oxffff; for(k=O;k<4;k++) { m=0: d0 { i=O: do { BufferDat[i]=BufferDat[i+1]; i++: }while(i<15); BufferDat[15]=Cmp[k][m]; delaylms(80); In++: )while(m<15); } 图3汉字上移程序 4结论 该项目的研究使学生掌握LED电子显示屏的基本显示 原理和设计方法,对LED电子显示屏这个行业有较为深刻 的了解和认识。并且对所学习的一些理论知识进行实践,通 过该项目掌握了单片机软硬件开发工具的使用方法,为后续 课程的学习及毕业后从事相关的工作奠定一定的基础,同时 为以后从事相关行业的工作积累实际工作经验。 2016.2