摘 要:设计的多功能LED点阵显示屏由上位机和下位机两部分组成。上位机利用LabVIEW从计算机的汉字库中提取汉字字模并转化为十六进制字模数据,并在LabVIEW中进行图像扫描得到相应汉字的字模,经串口传给下位机以驱动LED点阵显示屏显示相应的汉字;下位机的硬件部分由时钟电路、LED点阵屏显示电路、温度采集电路以及主控制器等部分组成,能够实现汉字、温度和时间的显示。该系统具有修改显示内容方便,显示稳定,亮度清晰等特点,因此具有很高的应用价值。
关键词:LED点阵显示屏;LabVIEW;MAX7219;汉字
近年来,点阵显示器件的研制、生产得到了迅速发展,形成了光电子行业新兴的产业。LED显示屏以其外形美观大方、显示信息量大、寿命长、能耗小、稳定性高、操作使用灵活方便著称,应用在广告宣传、公交、车站、体育、军事等许多领域。目前市场上控制显示屏的核心元件以FPGA和单片机居多。以FPGA为核心的显示屏虽然具有数据处理量大,控制灵活等特点,但是FPGA的亚稳态以及竞争冒险对输出的影响也是致命的[1⁃2]。以单片机为控制核心虽然不会出现竞争冒险现象,但是大多数设计所采用的显示驱动电路却占用较多的I/O 口[3⁃6]。本文所设计的LED点阵显示屏采用单片机为控制核心,通过MAX7219集成化串行输入/输出共阴显示驱动器驱动显示屏,显示信息直接利用LabVIEW调用汉字点阵文件进行显示。
1 系统总体方案
本设计方案采用上位机通过串行通信控制下位机以显示相应的汉字信息,而时间及温度等信息则通过下位机来实现。显示屏的硬件电路通过MAX7219集成化串行输入/输出共阴显示驱动器显示,其优点是只需要3个I/O口即可驱动1个点阵,点阵显示时无闪烁,支持级联。系统的总体设计方案如图1所示。
2 下位机硬件设计
2.1 单片机选择
单片机是下位机的核心器件,主要负责温度测量、时钟计时以及驱动显示屏显示相应信息,本系统采用AT89C52单片机[7]。AT89C52是一种带4 KB FLASH存储器的低电压、高性能CMOS 8位微处理器,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS⁃51指令集和输出管脚相兼容。

图1 系统框图
2.2 点阵显示屏接口电路设计
LED点阵显示屏采用MAX7219显示驱动器,此驱动器是集成化的串行输入/输出共阴极驱动器,它可以连接7段数字LED显示,也可以连接64个独立的LED。普通方法驱动一个8×8点阵,需要用到8个单片机I/O,如果驱动数量较多的点阵,占用较多的单片机的I/O,但是采用MAX7219,只需3个I/O口就可以实现。多个点阵级联时,只需将第一片的DIN,CS,CLK引脚与单片机的3个I/O口连接,将输出端的CS,CLK,DOUT与下一片的输入进行连接,以此类推,就可以实现用3个I/O口控制多个点阵,理论上可以实现无限级联。点阵显示屏接口电路如图2所示。

图2 LED点阵屏接口电路
2.3 辅助功能设计
LED多功能显示屏除了显示汉字和图形外,还可以显示温度及日期,使得显示屏的功能更加强大。温度采集电路采用DALLAS公司的DSl8B20数字式温度传感器,测量的温度值采用9位二进制数表示,无需A/D,直接可以输入CPU,而且读/写指令、温度转换指令都通过数据总线传入DSl8B20,无需外部电源。硬件结构见图3。
时钟电路采用DS1302时钟芯片,此芯片具有涓细电流充电能力,而且可以采用串行数据传输,并提供掉电保护为电源提供可编程的充电功能。晶振为32.768 kHz。DS1302接口电路非常简单,只需在X1和X2之间加一个晶振,另外3个引脚SCLK,I/O,RES接CPU三个引脚即可。硬件结构如图4所示。

图3 温度采集电路

图4 DS1302接口电路
3 软件设计
本设计可以实现通过上位机输入字符以实现在LED显示屏上显示[8],另外,系统还可以显示时间和温度等相关信息,系统主程序如图5所示。

图5 主程序流程图
3.1 上位机LabVIEW串口初始化设置
在程序的开始阶段首先需要调用VISA Configure Serial Port完成串口参数设置,包括波特率、数据位、停止位、校验位等。本设计设置波特率为4 800 b/s、数据位为8、校验位为0、停止位为1,串口初始化程序如图6所示。

图6 串口初始化
3.2 HMI设计
LabVIEW(Laboratory Virtual instrument Engineer⁃ing Workbench)是一种图形化的编程语言的开发环境,视为一个标准的数据采集和仪器控制软件。LabVIEW中的前面板就是图形化用户界面,用于设置数值输入和输出量。本系统设计的LabVIEW串口设置及HMI界面如图7所示。通过设置与STC89C52单片机串口通信匹配的波特率、串口号、数据位,实现LabVIEW与STC89C52单片机串口通信,并用LabVIEW将汉字的字模提取出来,发送到单片机中进行显示。

图7 LabVIEW HMI设计界面
图7中左侧为操作界面,为了保证通信正常,添加了测试功能,当连接好下位机时,点击测试按钮,如果通信正常,下位机会返回一个指令,上位机显示“OK!”,当未成功时,上位机将显示“ERROR!”,这样避免通信未成功而操作者不知问题所在。当通信正常时,点击发送按钮,所输入汉字的字模将发送到下位机中,发送过程中工作指示灯点亮,此时不能进行其他操作,当发送结束后,下位机将显示一个和上位机模拟的相同的界面。
3.3 字模提取方案
本设计主要利用汉字字符的存储结构以及汉字字符的编码方案,利用LabVIEW图形化编程的特点以及LabVIEW中字符串、数组,数字型变量、布尔型变量,循环判断图框来进行汉字字模的提取,程序流程图如图8所示,程序后框图如图9所示。

图8 字模提取流程图
4 系统测试
4.1 温度及时间显示
系统开机后,点阵屏进入时间和温度显示界面。其中第一行显示的是时间的时和分,第二行显示的是秒和温度,例如,现在初始时间为23时01分00秒,温度25℃,如图10所示。

图9 程序后框图

图10 温度和时间显示界面
4.2 汉字显示
打开上位机LabVIEW,选择串口,在LabVIEW中输入2个汉字,例如“测控”,点击复位按钮,清空所有数据,防止发送字模时有干扰,点击测试按钮,观察通信状态,当显示“OK!”时,说明通信正常,点击发送按钮,此时工作指示灯将点亮,不要进行其他任何操作,防止对发送字模产生干扰。同时,上位机将产生一个模拟16× 16点阵显示屏的效果图,并将两个汉字的字模以十六进制数的方式显示在一个4×16的数组里,实际效果如图11所示。

图11 显示屏汉字显示效果图
5 结 语
本次设计的基于单片机和LabVIEW相结合的LED点阵显示屏,在上位机通过LabVIEW编程产生字模,经串口传递给下位机。简化了程序,减少了单片机的运行
时间,并可以根据需要随时修改显示内容,同时具有温度和时间显示功能,具有广阔的应用前景。