基于单片机的LED汉字条屏显示技术
2012-09-26梁程琳
刘 迪, 孙 阳, 梁程琳
(1.海军航空工程学院 控制工程系,山东 烟台 264001;2.海军航空工程学院 新装备中心 山东 烟台 264001;3.烟台职业学院 船舶工程系,山东 烟台 264676)
LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,有可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点。在短短的几十年中,技术、产业都取得了长足的进步,已经发展成为重要的现代信息发布媒体手段,在证券交易、金融、交通、体育、广告等领域得到广泛应用,随着社会信息化的进程,LED显示屏在信息显示领域的应用愈加宽广[1]。
目前LED显示屏的种类越来越多,从使用场合及亮度考虑可分为室内和室外屏,从扫描方式可分为动态扫描显示屏和静态扫描显示屏。室外使用的交通诱导屏,通常采用计算机同步控制的静态扫描显示,每个像素由几个高亮的LED发光管组成,可做成多色或全色。其优点在于播放的内容信息量大,实时性强,且由于采用静态显示,亮度高;其缺点是硬件电路复杂,成本高。室内使用的由8×8LED点阵拼成的显示屏也有同步和异步之分,同步控制显示屏由计算机作为主控器,异步控制显示屏的主控器可采用单片机。单片机控制的单色显示屏由于结构简单,成本低廉,深受人们的喜爱。设计一个室内用16×16点阵LED图纹显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
1 汉字显示的基本原理
16×16的点阵共有256个发光二极管,用各个位的亮暗来表示一个字,凡是笔画经过的地方都为1(亮),没有笔画的地方都为0(暗),这样就可以表示不同的汉字。从理论上说,不论显示图像还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动方式。在计算机中,所有的数据都是以0和1保存的,按不同的数据操作,可以得到不同的结果[2]。而对于中文显示操作,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。这样就可以用一组数字来表示汉字的内码,数字的各位信息来记载汉字的形状,即:字模。只要将汉字的相应字模信息文件存入ROM,形成汉字编码;在使用时,先根据汉字编码组成语句,添加到程序的相应位置,即可显示相应的汉字。
2 硬件电路组成及工作原理
该LED汉字条屏采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16LED点阵 5部分组成。其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器的低电压、高性能CMOS型8位微处理器,俗称单片机[3]。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。
2.1 列驱动电路设计
列驱动电路由集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且一位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的[4]。
列驱动电路如图1所示。一个模块有4片74HC595,8块LED点阵,每一片74HC595限流电阻后接2块LED点阵,图中只画出了部分电路。DATA IN和DATA OUT分别为模块的数据输入和数据输出,RCLR为74HC595移位寄存器信号索入输出所存器的时钟信号,CLK为同步时钟。将模块中前一片8位移位寄存器74HC595的数据输出(Q7)与下一片的输入(SER)相连接组成32位的串行数据链,每一位控制一列发光管,若显示方式为1/16占空比的动态扫描方式,则每一列控制16个方光管[5]。当74HC595的某一输出引脚为低电平时,该列上对应行扫描选中行的像素点亮。由于吸收电流的能力相对较强,且为动态扫描,因此在74HC595的输出脚上只需串接一个47 Ω的限流电阻而不需要再用列驱动也能得到满意的亮度效果。
图1 列驱动电路Fig.1 Column driver circuit
2.2 行驱动电路设计
采用逐行扫描的方式,当全部列信号准备就绪后,控制信号锁存器输出,相应的行信号应同时跟上。由于采用点阵的行为共阳极,行选的作用就是为待点亮行提供电源。8位移位寄存器方法的行选电路如图2所示。该电路中LS为串行行选信号,MR为74HC164的清零信号,LCLK为行选同步时钟。74HC164的输出经反相后控制三机管的导通与截止,从而分别控制第1行LINE1至第16行LINE16与电源接通。从极端情况来看,驱动功率应满足1行全部32个LED点亮的要求,尽管LED点阵要求单点驱动电流在10~20 mA,但由于采用1/16占空比的动态扫描显示方式,单个LED的瞬时电流即使未100mA,实际平均电流不到7 mA,因此驱动电流大于3 A即可[6]。供方部分应采用达林顿管或开关管。
图2 8位移位寄存器行选电路Fig.2 8-bit shift register line selected circuit
2.3 AT89C51单片机的外围电路
单片机采用89C51或其兼容系列的芯片,采用24 MHz或更高频率的晶振,以获得较高的刷新频率,为了使显示更稳定。单片机的串口与列驱动器相连,用来送显示数据。P1口低四位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号[7]。P0和P2口空着,在有必要时可以扩展系统的ROM和RAM。
3 系统程序的设计
程序流程图如图3所示。
根据软件分层次的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置 (初始化)、显示效果处理等工作,由主程序来实现。
4 结 论
图3 程序流程图Fig.3 Program flow chart
LED显示屏硬件电路只要器件质量可靠,引脚焊接正确,一般无需调试即可正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。这个方案设计的16×16点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。
[1]李光飞,楼然苗,胡佳文.单片机课程设计实例指导第一版[M].北京:北京航空航天大学出版社,2004.
[2]郑康峰,王秀娟,李康.一种实现异步显示屏的新方法[J].山东电子,2002(4):33-34.
ZHENG Kang-feng,WANG Xiu-juan,LI Kang.A new way to realize an asynchronous display[J].Shandong Electronic,2002(4):33-34.
[3]将庆全.一维LED显示屏制作浅析[J].电视技术,2002(6):72-75.
JIANG Qing-quan.Analysis of two-dimensional LED display production[J].Television Technology,2002(6):72-75.
[4]关积珍.LED显示屏的技术及其市场和产业的发展[J].激光与红外,2003(6):466-470.
GUAN Ji-zhen.LED display technology and its market and IndustryDevelopment[J].LaserandInfrared,2003(6):466-470.
[5]陈日新,王建君.汉字/字符的点阵显示代码生成系统研究[J].计算技术与自动化,2001(1):42-45.
CHEN Ri-xin,WANG Jian-jun.Chinese characters dot matrix display code generation system[J].Computing Technology and Automation,2001(1):42-45.
[6]徐开友,卢晋,穆志强.采用动态扫描控制的LED显示屏[J].电声技术,1994(6):2-6.
XU Kai-you,LU Pu,MU Zhi-qiang.The use of dynamic scanning control LED display screen[J].Electroacoustical Technology,1994(6):2-6.
[7]张淑清,姜万录.单片微型计算机接口技术及应用[M].北京:国防工业出版社,2001.