摘 要 针对实际应用设计出一种基于 LabVIEW 与单片机控制的 LED汉字显示屏, 特点是通过在 LabV IEW 中进
行图像信息扫描的方式, 得到任意汉字的字模, 然后经串口传递给单片机控制显示汉字。该方法字模由上位机生成, 省去了字模库, 简化了显示过程, 实用性强。
关键词 LabV IEW; 单片机; LED显示
文中介绍了一种直接利用 LabV IEW 的图片处理
功能自动生成字符点阵的方法, 利用该程序无需使用
专门的字库可自动得到各种字符的点阵, 然后将显示
信息通过串行传输方式发送到单片机, 通过单片机驱
动相应的二极管发光, 显示信息。硬件由计算机、单
片机、驱动电路和 LED 显示屏构成, 结构如图 1 所示 [ 1]。
1 基于 LabV IEW 的汉字字模的提取
11 基于 LabV IEW 的汉字字模的提取方法
现在比较流行的方法是基于汉字字符的编码方式 形成字模。
汉字机内码与区位码的关系为 [ 2 ] 区位码 = 机内码 - 160 ( 1)
对于 16 16点阵字库, 每个汉字占用 32 b
i,t 其
首字节的起始位置的计算公式为
首字节 = [ (区码 - 1) 94+ 位码 - 1] 32 ( 2)
以此为基点连续读取 32
b it就是此汉字的点阵字
模。在 LabV IEW 编程中基本流程为: 以字符串形式
输入一个汉字, 按照上述运算规则找出汉字字模首字
节在汉字库文件 HZK16中的位置, 从 HZK 16中以首
地址开始连续读取 32 b it的数据, 这样就得到了一个
容量为 32的数组, 即输入汉字的点阵字模。然后再
按照下位机的构建运用数组的算术运算控件对数组修
改, 将最终结果通过串口发送给单片机, 以进行
显示 [ 1]。
本系统利用 LabV IEW 的图片处理功能生成字模, 包括汉字、数字、英文以及各种特殊符号等等, 提高
工作效率和灵活性。
12 利用 LabV IEW 的图片处理功能生成字模的设计
首先设置一个白色的按钮, 通过属性节点, 把输 入的字符作为这个按钮的文本显示。在通过调用节点, 获取这个布尔的图像数据。将图像数据转化为 8位像
素矩阵。同样的方法获得一个同样大小但没有布尔文
本的纯白色按钮的像素矩阵。将 2个矩阵做异或比较。
得到一个二维布尔矩阵, 直接输出这个矩阵就得到了
该字符的点阵。生成字符矩阵框图程序如图 2 所示。采用比较的方法获得点阵, 因此可以采用这种方法在
同一系统中产生数字、汉字、英文或各种特殊符号的
字模点阵, 简化了编程过程, 使用方便灵活 [ 3]。
由于 LabV IEW 有很强的格式转化功能, 将生成 的点阵按照下位机的驱动方式运用其中数组的运算控 件对点阵进行修改, 得到符合要求的字符串。程序框图, 如图 3所示。图中的字模 1为用于上位机显示的
字符串形式, 字模 2为用于串口通信的字符串形式。
LabV IEW 中用于串行通讯的节点实际上是 V ISA 节点, 为了方便用户使用, LabV IEW 将这些节点单
独组成 1 个子模板, 共包含 6 个节点。字模 2通过 LabV IEW 的控件 V ISA 与单片机的串口进行传输
LabV IEW 本身也具有写入电子表格文件功能, 可以将生成的字模储存为任意格式的文件, 相当于一
个字模提取软件, 用于普通 LED 显示屏设计。最终
的字模提取操作界面即前面板如图 4所示。
2 单片机控制电路设计
LED 显示屏的设计采用以 AT89C51单片机为核
心芯片的电路来实现, 主要由 AT89C51 芯片、时钟
电路、复位电路、列扫描驱动电路 74HC154 、 16 16 LED 点阵等部分组成, 电路图如图 5所示 [ 4]。
本设计所使用的 16 16
LED 矩阵是由 4块 8 8 LED共阳极矩阵拼接组成。
把行列总线接在单片机 I/O 口, 然后把上面分
析到的扫描代码送入总线, 就可以得到显示的汉字
了。但是若将 LED 点阵的行列端口全部直接接入 AT89C51单片机, 则需要使用 32 条 I/O 口, 这样
会造成 I/O 资源的耗尽, 系统也再无扩充的余地。
因此, 在实际应用中只将 LED 点阵的 16条行线直
接接在 P0 口和 P2 口, 至于列选扫描信号则是由 4 ~ 16线译码器 74HC154 来选择控制, 这样列选控
制只使用了单片机的 4个 I/O 口, 节约了 I/O 资源, 为单片机系统扩充使用功能提供了条件 [ 3 ]。由于 P0 口做通用数据 I/O 端口驱动负载时, 必须外接上拉
电阻, 因此使用 47 k 排电阻作为 P0 口的上拉
电阻 [ 4]。
单片机上电后由于没有事先存储字模而处于黑屏 等待状态, 当接收到串口传来的字模数据后, 单片机
按照设定的程序在 P 0 和 P 2 接口输出汉字对应的代码
电平送至 LED 点阵的行选线, 同时在 P11, P12, P13, P14接口输出列选扫描信号, 从而选中相应的 LED发光, 并利用人眼的视觉暂留特性合成整个汉字
的显示。
3 控制系统的软件设计
软件程序主要由初始化、主程序、中断程序等构 成, 采用汇编语言编写。主程序用于 LED 显示, 程
序流程如图 6所示。中断程序主要用于接收上位机传
送的字模信息, 由于 LabV IEW 和下位机传递的数据
是 ASC II形式的, 需要转换为 16进制数, 具体程序
流程如图 7所示。采用中断的方式接收数据可以提高
数据传输的时效性。
4 结束语
设计研究的基于 LabV
IEW 和单片机结合控制的 LED电子屏幕。采用 LabV IEW 编程方法产生字模, 通过串口传递给单片机, 简化了编程、节省了单片
机程序运行的时间, 且可实现动态输入, 也可根据
需要随时修改所需显示的内容, 具有较高的实用
价值。
虽然本设计只使用了一块 16 16 LED点阵, 电
路简单, 但是包涵了 LED 显示屏的电路基本原理和
基本编程思想, 如要进行扩展, 只需扩展单片机的 I/O接口, 增加一些 LED点阵和相关芯片, 就能设计
出更大面积、更多花样的 LED 显示屏。