系统软件设计包括上位机软件的设计、下位机程序设计两部分。上位机软件完成图像和文字的编辑, 通过计算机串行接口把显示数据传送到GPRS 的发送模块上。GPRS 发送模块把信息及时地传到终端显示控制卡的GPRS 的接收部分, 然后终端的CPU 控制单元把接收的数据进行分割处理后通过I2C 总线传给各个显示终端, 并且完成显示数据不同方式的处理。
3.1 下位机程序设计
下位机程序设计主要由两个部分构成: (1)GPRS 的发送单元的程序设计, 该单元把上位机处理好的显示信息及时准确地传到远程的终端控制单元; (2) 终端控制单元的程序设计, 该单元主要完成接收GPRS 发送过来的信息然后把数据分割后传给各个显示终端。本文主要介绍第二部分的程序设计。
该下位机软件设计包括主程序、显示子程序和通信服务程序的设计。主程序主要完成中断的初始化和串口的初始化设置。显示程序主要完成数据的各种显示, 显示部分采用动态扫描的方式, 实现对显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。通信服务程序主要完成GPRS 的数据接收、数据的分割处理、数据的发送等任务。本文采用模块化程序设计, 程序各部分的功能由各个模块分别实现。程序模块有: 系统初始化模块、GPRS 通信模块、数据的处理和存储模块、I2C 通信模块。为了保证系统工作的实时性和高效性, 本系统采用了实用单片机系统MS3 ,MS3 是一套针对MCU51 的开发平台, 借签了VC 编程的消息机制,把各个功能有效地组织起来。RTOS 的系统时钟, 实现高效的按键扫描和快速的响应中断, 执行例行程序。显示终端主程序如图4 所示。
图4 显示终端主程序流程图
GPRS 通信模块主要的功能是接收到GPRS 发送模块的信息,然后从外面的Flash 中查询相应的代码,然后在显示终端显示信息,显示屏可按不同显示方式进行汉字或表格显示。GPRS 接收模块设计程序的流程图如图5 所示。
图5 GPRS 接收模块设计程序流程图
3.2 上位机管理软件设计
在基于GPRS 的LED 的显示系统中, 上位机机管理软件主要负责文本信息的编辑, 对显示的数据根据TEXT 或PDU 模式进行编码, 然后通过GSM 的发送模块把信息发送出去。上位机软件使用可视化编程工具VisualC++6.0 开发, 首先根据LED 显示屏的大小设置上位机文字和图像处理的尺寸, 然后对输入的数据和图像进行编辑, 最后把提取有用的数据通过通信接口传给下位机。在通信的过程中为了保证应用的广泛性,PC 机的控制系统中采用了Microsoft Visual C++6.0 开发工具中非常好用的多线程串口编程工具CSerialPort 类, 与自带的MSComm 控件相比, 这个类打包的时候不需要加入其他的文件,而且函数都是开放透明的允许用户改造。
4 小结
本电路可扩展实现由30 多个160×16 点阵LED 模块组成的LED电子显示屏显示控制。经实际应用表明, 该电路稳定可靠, 效果良好, 具有一定的实用价值。