产品 求购 供应 文章 问题

0431-81702023
LED
单片机在LED显示屏中的应用

单片机在LED显示屏中的应用

谢宋和 邓璐娟

(郑州轻工业学院控制工程系,郑州,450002)

摘要 介绍一种LED显示屏单片机控制系统设计方法,给出了有关的硬件电路框图和软件程序流程图。

关键词 单片机,LED,显示屏

  LED电子显示屏作为一个城市、一个地区的商业发达程度的标志之一,已广泛地出现于车站、码头、大型商场等公共场所,是一个理想的新闻、广告和信息媒体。其中小型的LED文字屏由于价格便宜、功能比较专一、工作稳定可靠等诸多优点,因此,在银行、宾馆、机场、车站等场所广泛使用。这种小型的LED文字屏通常是一屏只能显示8个汉字或16个汉字,因此显示内容有限,信息传递比较慢,局限性比较大。本文介绍一种能显示3216×16点阵汉字的LED显示屏单片机控制系统设计方法,给出有关的硬件电路框图和软件流程图。

1. 硬件系统设计

具有3216×16点阵汉字显示功能的单片机硬件系统,按照功能可以分为三个主要部分,即电脑主控板、行驱动板、列驱动板。其中主控板和列驱动板相对来讲复杂一些,是硬件系统设计的关键。

1.1 电脑主控板设计

电脑主控板如图1所示,按照功能,主要可分为串行通讯接口电路、行地址译码电路、列信号处理电路、存贮器扩展电路、8031基本系统等五大部分。

串行通讯接口电路的主要作用是将上位机发送过来的汉字点阵信息转换为单片机能够识别的数字信息。由于上位机RS2232C串行口的逻辑电平和单片机串行口的TTL电平完全不兼容,因此,必须进行电平转换。该接口电路的基本原理如图2所示。

由图2可见,当上位机发送逻辑电平“0”时,其电压范围为+5V<V0<+15V,二极管D1导通,A点箝位在+5V多一点,经反相器输出为TTL电平的逻辑“0”。同理,当上位机发送逻辑电平“1”时,其电压范围为-15V<V0<-5V,二级管D2导通,A点箝位在0V左右,经反相器输出为TTL电平的逻辑“1”。

行地址译码电路的基本工作方法是将P114P1174根线经416线译码器74LS154产生16个行选信号,经两片74LS245驱动后控制行驱动板的工作。这里应该强调一点的是:3216×16点阵汉字显示屏实际上分为4行字,每一行占8个字,一行字占用16个行信号。为了提高扫描速度,我们将第一行字至第四行字的相应行由一个行信号来进行控制,这样的话,整个显示屏尽管有64,但逻辑上只需要16个行信号即可。

列信号处理电路主要由48位并入串出移位寄存器74LS1654个列板控制信号电路组成。其中4片移位寄存器的移位输出信号分别送至4块列驱动板,每块列驱动板又分别控制显示屏的一个行(一行8个字)。此外4个列控制信号是4块列驱动板共用的,其中P312做为移位寄存器数据存入锁存器的控制信号,P313做为锁存器输出允许信号,P314做为移位寄存器清除信号,TXD做为移位脉冲信号,详细的工作原理参见列驱动板。

存贮器扩展电路包括常见的程序存贮器2764的扩展以及数据存贮器2864的扩展。这里我们选用EEPROM芯片2864的原因是保证显示屏能在脱离上位机之后以及断电后将来仍可正常运行。当需要改变显示内容时,可以和上位机连接起来,随时任意修改。

1.2 列驱动板设计

由于显示屏是按每行8个字、共计4大行的方式来组织LED象素的,因此,能够显示3216×16点阵汉字的显示屏有64行、128列。按照逐行扫描的方式,当某一行的全部列信号(128个位)都准备好之后,控制列信号锁存器输出。列驱动板如图3所示。由图3可见,1674LS595八位移位寄存器(有锁存输出)首尾相接组成128位的串行数据链,其中每一片595经驱动电路控制8个象素,最后在行驱动信号作用下点亮一行LED象素。

2. 软件系统设计

LED显示屏的整个控制程序主要有主程序、并入?串出置数子程序、行译码子程序、扫描显示程序、串行中断服务子程序等,下面将就上述程序的设计思想做一简单的介绍。

主程序负责对各功能子程序模块进行有效的组织管理。要强调的一点是,为了区分电脑控制系统是首次上电工作还是已经和上位机进行过有效的数据通讯,主程序中特设一个上电标志,以确保显示屏脱离上位机或停电后下一次能够正常工作。主程序流程图如图4(a)所示。

串行中断服务子程序采用接收中断启动,然后查询接收所有数据的工作方式。由于下位机未给上位机应有的应答信号,因此,要求上位机先发送10个数据,其顺序是55H,AAH,55H,AAH,55H,AAH,55H,AAH,55H,AAH,将其做为通讯口令,再发送要显示的汉字点阵数据信息。下位机先判断口令是否正确,若不正确,则直接从中断服务子程序中跳出,不修改显示缓冲区内容;反之,则修改显示缓冲区内容,显示新的汉字信息。串行中断服务子程序如图4(b)所示。

74LS165并入?串出置数移位子程序主要完成将8位并行数据置入165寄存器并转换成串行数据送至列驱动板。由于整个显示屏分为4大行,每行是816×16点阵的汉字,因此,一行汉字占用32×8个字节。这就是说上下相邻的两行汉字的同一行之间相隔256个字节,比如第1行汉字的第1个字节(应置入第1165)和第2行汉字的第1个字节(应置入第2165)之间刚好相差256个字节。根据这个基本规律来设计相应的165置数及串行移位程序,如图5(a)所示。

(a)主程序流程;(b)串行中断服务子程序流程行译码子程序的主要作用是行选控制以及当列信号全部到位时,将列驱动板上的所有74LS595锁存器打开,释放象素的对应“亮”或“暗”数据信息,达到显示信息的目的。行译码子程序如图5(b)所示。

扫描显示子程序按照从上到下、从左至右的顺序将要显示的汉字信息一行一行地“打”在LED显示屏上,完成信息传送的任务。其程序流程图如图6所示。

3.  

本文提出的LED显示屏单片机控制系统可控制3216×16点阵的汉字显示,不仅可以增加显示内容,而且保证图文美观、清晰、工作稳定可靠,对于其它的LED显示屏控制系统设计有一定的借鉴作用。