采用MCS51单片机的大屏幕LED显示屏高速控制方案

来源:九州酷游

  的创新点是:用一条对外部数据存储器的读指令,同时完成对外部数据存储器读和对LED点阵片的写操作。本文详细介绍的电路设计,并简要提示软件编制的要点;最后介绍

  LED显示屏的基本工作原理是动态扫描。显示控制的过程是先从数据存储器读得字模数据,再通过单片机的串行口或并行口将数据写给LED点阵片,然后再行扫描。

  动态扫描方案和静态显示方案相比节省驱动元件,但要求刷新频率高于50 Hz,以避免显示的图像或文字出现闪烁。由于刷新频率的限制,一片单片机能控制显示元件的片数是较少的。

  现在大屏幕LED显示屏的应用已越来越广泛。为了对成百、上千片的LED点阵片实现有序的、快速的显示控制,人们动了许多脑筋,双CPU、双RAM的方案,FPGA的方案等都获得了成功的应用;但是这些方案的显示控制过程还是先读后写。

  本方案另开思路:用一条读指令,将读和写合在一步完成,可大大地提高显示控制的效率,且电路简单。

  LED显示屏的基本工作原理是动态扫描。动态扫描又分为行扫描和列扫描两种方式,常用的方式是行扫描。行扫描方式又分为8行扫描和16行扫描两种。

  在行扫描工作方式下,每一片LED点阵片都有一组列驱动电路,列驱动电路中一定有一片锁存器或移位寄存器,用来锁存待显示内容的字模数据。在行扫描工作方式下,同一排LED点阵片的同名行控制引脚是并接在一条线条线,最后连接在一个行驱动电路上;行驱动电路中也一定有一片锁存器或移位寄存器,用来锁存行扫描信号。

  LED显示屏的列驱动电路和行驱动电路一般都采用单片机进行控制,常用的单片机是MCS51系列。LED显示屏显示的内容一般按字模的形式存放在单片机的外部数据存储器中,字模是8位二进制数。

  单片机对LED显示屏的控制过程是先读后写。按LED点阵片在屏幕上的排列顺序,单片机先对第1排的第1片LED点阵片的列驱动锁存器,写入从外部数据存储器读得的字模数据,接着对第2片、第3片直到这一排的最后一片都写完字模数据后,单片机再对这一排的行驱动锁存器写行扫描信号,于是第1排第1行与字模数据相关的发光二极管点亮。接着第2排第1行、第3排第1行直到最后一排第1行的点亮。各排第1行都点亮后,延时一段时间,然后黑屏,这样就算完成了单片机对LED显示屏的一行扫描控制。

  单片机对LED显示屏第2行的扫描控制、第3行的扫描控制直到第8行的扫描控制,其过程与第1行的扫描控制过程相同。对全部8行的控制过程都完成后,LED显示屏也就完成了1帧图像的完整显示。

  虽然按这种工作方式,LED显示屏是一行一行点亮的,每次都只有一行亮,但只要保证每行每秒钟能点亮50次以上,即刷新频率高于50 Hz,那么由于人的视觉惰性,所看到的LED显示屏显示的图像还是全屏稳定的图像。

  参考文献[1]对LED显示屏的控制电路作了归纳和比较。其中,显示控制电路是按行扫描方式工作的,列控制电路分为两大类。列控制电路中,一类是用74LS377之类的芯片作为列驱动电路的锁存器,CPU通过并行总线给列驱动电路的锁存器写字模数据;另一类是用移位寄存器74LS595之类的芯片作为列驱动电路的锁存器,CPU通过串行总线给列驱动电路的锁存器写字模数据。

  无论是并行总线的控制方式还是串行总线的控制方式,其工作过程都是先给数据指针DPTR赋值,接着累加器A按数据指针DPTR的指向,从外部数据存储器RAM中读得字模数据。然后,并行总线时,再给数据指针DPTR赋值,接着CPU将累加器A中的字模数据,按数据指针DPTR的指向,写给LED点阵片列驱动电路的锁存器;串行总线时,CPU将累加器A中的字模数据,通过串行口写给LED点阵片列驱动电路的锁存器。

  一般显示控制中,使用较多的单片机是MCS51系列。假设单片机系统的晶振频率是12 MHz,机器周期是1 s,上述两种控制方式完成1片LED点阵片的显示控制都得十几s。

  本文提出的高速控制方案,完成1片LED点阵片的显示控制大约只要4 s。按此推算,1片MCS51系列的单片机,差不多可以对600多片LED点阵片进行显示控制。与传统的控制方法相比,显示控制的效率成倍提高。

  图1是高速控制方案LED显示屏电路原理。采用MCS51系列单片机对LED显示屏进行控制;随机存储器62512用作LED显示屏的数据存储器,存储待显示内容的字模数据;采用8行扫描方式,多片LED点阵片共用1组行驱动电路;每片LED点阵片都有一组列驱动电路,用74LS377作为列驱动的锁存器,CPU通过并行总线给列驱动电路的锁存器写字模数据;地址译码电路,用于产生LED点阵片行驱动电路和列驱动电路的片选地址。

400-677-3888