点阵LED显示屏控制系统
韩润萍 陈小萍
摘要:介绍了一个以单片机DS80C320为控制器的点阵LED显示屏控制系统。该系统采用RS-232/RS-485通信标准,通过DS80C320的串行接口接收PC机的控制命令及显示数据,经处理后控制LED显示屏的扫描显示。该系统采用了一种新型的大容量闪速存储器29F040作为数据存储器。本文中给出了该控制系统的软硬件设计要点。
关键词: 单片机 LED显示屏 DS80C320 FLASH存储器
0 引言
LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
本文所设计的是一个同等灰度的单色条形显示屏控制系统,该控制系统以DS80C320为控制器,采用RS-232/RS-485通信标准,可同时显示4个16×16点阵汉字或8个16×8点阵的汉字﹑字符或数字。显示方式有左移﹑右移﹑上移﹑下移﹑替换;显示状态包括移动速度﹑停留时间等。
DS80C320是美国DALLAS公司生产的与MCS-51系列完全兼容的单片微处理器产品。它与80C32具有完全相同的封装,提供80C32具有的所有的功能,如I/O口,定时器/计数器,串行口等。此外它还提供了另一个全双工串行接口,7个新的中断,可编程看门狗定时器,掉电中断和复位等。在此基础上,DS80C320还增加了2个用于改善外部RAM数据存储器存取数据的功能,即双数据指针和可编程片外RAM存取周期扩展功能。DS80C320可以工作在1MHZ~33MHZ的频率范围内。普通8051的CPU的每个机器周期需要12个时钟,而DS80C320的每个机器周期只需要4个时钟。而且DS80C320采用了重新设计的微处理器内核,去除了多余的时钟和存储周期,因此每一条指令的执行时间都比原8051CPU快1.5至3倍,在相同的晶振频率和代码条件下,其运行速度平均提高2.5倍。此外DS80C320的双数据指针结构也将提高数据传送的效率。在显示系统中,由于扫描显示与状态控制、移动控制分时复用CPU,扫描显示频率不能低于 60 HZ,这就需要加快CPU执行指令的速度。DS80C320具有高的工作频率,高效的CPU内核以及很短的机器周期,应用于显示控制系统中可以大大提高显示效果,增强系统的稳定性和可靠性。
1系统设计
显示屏控制系统由显示控制器和LED点阵显示屏组成。控制系统的逻辑结构框图见图1。
1)点阵显示屏
点阵显示屏每个单元由16个8×8点阵LED显示模块、行信号选择译码器74HC138、驱动器74HC245、数据移位寄存器74HC595、行驱动器组成。16片8×8点阵LED显示模块组成一个64×16的LED点阵,用于同时显示4个16×16点阵汉字或8个16×8点阵的汉字﹑字符或数字。单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。以下给出了一个显示单元(64×16点阵)的显示程序,当级联多个显示单元时只需相应地改变每行字节数即可。
DISP: MOV R0,#8 ;每行8字节
MOV DPL,R6 ;取显示缓冲区首地址
MOV DPH,R7 ;
DIS: MOVX A,@DPTR ;取出显示数据
CPL A ;数据取反
MOV SBUF1,A ;送出显示数据
JNB TI1,$ ;
CLR TI1 ;
INC DPTR ;取下一个数据
DJNZ R0,DIS ;
SETB CLEAR ;74 HC595的消隐线
SETB STB ;74 HC595的锁存线
ANL P1,#0FH ;
MOV A,LINE ;取行值
DIN: SWAP A ;
ORL P1,A ;送出行驱动信号
DISE: CLR STB ;
CLR CLEAR ;
2)显示屏控制器
除单片机DS80C320外,显示屏控制器的硬件电路部分由三个部分组成:外部存储器
的扩展、串行通信接口和LED显示驱动及接口。控制器的组成框图如图2所示,采用DS80C320作为中央控制器,完成与PC机的通信,实现对显示屏显示数据和显示状态的控制。数据存储器使用一片静态RAM62256和一片FLASH存储器29F040。29F040容量很大,可以用于存储显示的内容,也可根据需要存储汉字的点阵库。控制器与计算机的连接根据通信距离的远近选用RS-232或RS-485标准总线接口。
静态数据存储器成本低﹑功耗小,读写速度快,但是掉电后片内信息随即丢失,在显示控制系统中需要保存由PC机传送过来的显示数据信息,所以在系统中还扩展了一块FLASH存储器。
闪速存储器(Flash Memory)是一种非易失性存储器,即使在供电电源关闭后仍能保持片内信息。闪速存储器集其它非易失性存储器的特点于一身:与EPROM相比较,闪速存储器具有明显的优势——电可擦除和可重复编程,而不需要特殊的高电压;与EEPROM相比较,闪速存储器具有成本低、密度大的特点,其独特的性能使其广泛地运用于各个领域。
在系统设计中,选用容量为4Mbit的29F040。该芯片内部由8个64Kbyte的读写块组成,可分块进行读、写和擦除的操作。采用单电源+5V供电。
29F040与单片机的接口电路如图3所示。29F040有19条地址线(A0~A18),最高三位(A16~A18)由P2口作为地址送出,通过74HC377八个D型锁存器进行锁存。由于62256与29F040的低位地址重叠,所以需要片选控制。片选信号和最高三位地址一样,也由P2口送出,74HC377锁存输出。寻址时采用两次寻址方法,先将地址的最高三位地址线A16~A18和片选信号送出,锁存,然后再寻址低16位地址。需要特别提出的是,系统中接有外部程序存储器,对外部程序存储器的操作连续不断,P2口需要不断地送出高八位地址,这时P2口不可能再作通用I/O口使用,所以片选信号和最高三位地址线只能一并作为地址线锁存起来。用P3.4控制74HC377的片选,用单片机的读信号作为74HC377的锁存信号。这样在一次读操作后即可将放入高位地址的数据锁存在74HC377的输出端。
关于程序存储器和静态数据存储器的扩展电路、串行通信接口和LED显示驱动及接口电路设计比较常规,在此不加以介绍了。
2 软件程序
软件程序是整个控制系统的核心部分,是用汇编语言编写的。整个软件设计分为两大功能块:显示部分和通信部分。显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图象、字符等数据信息进行传输控制以及显示等功能。与PC机的实时通信部分主要是利用单片机串口中断接收和发送数据信息,实现与计算机的实时数据信息传输。其程序功能框图如图4所示。
程序中将数据存储器分为三个区:显示缓冲区、数据存储区和接收缓冲区。单片机通过串口中断接收PC机传来的数据(包括显示内容、显示方式和显示状态),暂时存放在接收缓冲区,经分析处理后按一定的规律放入数据存储区保存起来,然后再根据显示方式依次从数据存储器中取出数据放入显示缓冲区中用于显示。显示采用逐行扫描的方式,因此扫描频率需达到60HZ以上。多种显示方式(左移﹑右移﹑上移﹑下移和替换等)的实现取决于从数据存储区取出数据放入显示缓冲区时取数的顺序,左右移时每次从数据存储区取出一位数移入显示缓冲区,上下移动时则每次取出一行数据移入,替换时每次取出整屏数据放入显示缓冲区。扫描显示时并不识别显示缓冲区中的数据,只是依次从显示缓冲区中取出数据由串行口向显示屏发送,并送出相应的锁存﹑消隐和行值信号,完成一次扫描。
通信部分的上位机软件采用Visual Basic(简称VB)编程,使用VB在标准串口通信方面提供的具有强大功能的通信控件MSCOMM,该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置,直接利用PC机的RS-232/RS-485串口发送数据。为实现单片机与PC机的可靠通信,须保证双方具有相同的数据格式和波特率。
值得注意的是,DS80C320内部自带看门狗定时器电路,软件必须在所设置的时间间隔内重新启动该定时器,否则它将使CPU复位。
3结束语
本文设计的点阵LED显示屏控制系统以单片机为基础,采用性能优越的FLASH存储器作为数据存储器,利用RS-232/RS-485接口实现与PC机的实时数据传输。可实现汉字、字符及数字的五种显示方式,三种移动速度的控制。在系统设计中还兼顾了单片机的抗干扰能力,有效地提高了系统运行的可靠性。该系统已运用于实际场合。