单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。广大工程技术人员通过学习有关单片机的知识后,也能依靠自己的力量来开发所希望的单片机系统,并可获得较高的经济效益。正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字。汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。
一、设计思想
LED发光灯可以分为单色发光灯、双色发光灯、三色发光灯、面发光灯、闪烁发光灯、电压型发光灯等多种类型。按照发光灯强度又可以分为普通亮度发光灯、高亮度发光灯、超高亮度发光灯等。这种单个的发光灯适宜用做指示灯,如电源指示、电路状态指示灯,进而对能够转变成电信号的各种物理量进行指示。也可以用多个LED发光灯组成固定的字符或图形进行显示,如大型剧场会堂的出入口及洗手间的显示。
和很多应用术语一样,LED图文显示屏并没有一个公认的严格的定义,一般把显示图形和/或文字的LED显示屏称为图文屏。这里所说的图形,是指由单一亮度线条组成的任意图形,以便于不同亮度(灰度)点阵组成的图像相区别。图文显示屏的主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED图文显示屏的外观可以做成条形,叫做条形图文显示屏(简称条屏),也可以按一定高度比例做成矩形的平面图文显示屏。其实条屏只不过是其宽度远大于高度的平面显示屏,在显示与控制的原理上并无区别。
不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。通常事先把需要显示的图形文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格。
用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。
图文显示屏的颜色,有单色、双色、和多色几种。最常用的是单色图文屏。单色屏多使用红色或橘红色或橙色LED点阵单元。双色图文屏和多色图文屏,在LED点阵的每一个“点”上布置有两个或多个不同颜色的LED发光器件。换句话说,对应于每种颜色都有自己的显示矩阵。显示的时候,各颜色的显示点阵是分开控制的。事先设计好各种颜色的显示数据,显示时分别送到各自的显示点阵,即可实现预期效果。每一种颜色的控制方法和单色的完全相同,因此掌握了单色图文显示屏的原理,双色屏和多色屏就不难理解了。
为了吸引观众增强显示效果,可以有多种显示模式。最简单的显示模式是静态显示。这里所说的“静态显示模式”不同于静态驱动方式。与静态显示模式相对应,就有各种动态显示模式,它们所显示的图文都是能够动的。按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法,并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。刷新的时间控制,要考虑运动图形文字的显示效果。刷新太慢,动感不显著;刷新太快了,中间过程看不清。一般刷新周期可控制在几十毫秒范围之内。
二、系统硬件设计
由于图文屏的控制电路采用单片机方案,控制功能的实现应在硬件和软件两
方面进行折中。单片机及相应软件,主要负责存储(或生成)显示数据、安排控制信号的定时与顺序、上位机进行通信等。但是单片机的接口数量少,驱动能力不强,必须扩展一定的硬件电路,才能满足显示屏的需要。硬件电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。
控制电路部分包括一个51CUP和一些外围电路。在整个电路当中此控制电
路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。智能显示屏体电路部分它包括一个51CPU及其一些外围电路,用来通讯的MAX232接口电路,一个具有一个8bit串入并出的移位寄存器和一个8it输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的。另外还有74LS165、点阵显示屏体、以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。
此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列
共用一个列驱动器。由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列点燃相应的LED;未接通的列所对应的LED熄灭。当一行的扫描持续时间结束后,下一行又以同样的方法进行显示。全部各行都扫过一遏之后(一个扫描周期),又从第一行开始下一个周期的扫描。只要一个扫描周期的时间比人眼1/25秒的暂留时间短,就不容易感觉出闪烁现象。行扫描驱动电路原理图如下:
列显示数据是以字节为单位存储的,使用时以8bit并行读出。为了适应列显示驱动电路串行输入的需要,就要进行并串变换。用74LS165并人中出移位寄存器,可以满足这—要求。信号PL*为低时,将8bit并行数据打入。PL*信号由单片机的控制口INT1提供。当PL*为高时可以在CLK1的作用下进行移位。移位后最高位从Q7移出,成为串行数据流。74LSl65的移位时钟信号CLKl由单片机控制口Tl端直接输出。为了使列显示驱动电路的移位信号与74LS165Q7端输出的串行数据同步,T1同时还作为列显示驱动电路的移位脉冲源。LED点阵的应用很广,对于不同的应用环境和应用要求,可以有各种各样的应用方式。常用的应用有群显示应用、红外遥控式应用、无线遥控式应用。采用本文的单片机控制设计方案,对以上各种应用都可以方便简单而且很有效地进行控制、设计。