系统软件框图如图4 所示。它是由延时、数据采集、数码显示、十六进制转ASCII 码、数据协议、数据发送等6 个模块组成。
下面将各个模块的功能进行简单概述:
1) 延时模块。本模块完成的功能为延时1 s。利用定时器0 溢出中断完成。
2) 数据采集模块。每隔一秒对ADC0809 中的一路数据进行采样,然后将其保存在数据缓冲区中。
3) 数码显示模块。当ADC0809 中与一路数据被采集完毕后,共阴级八段数码管显示当前ADC0809 中通道路数,以及当前路数的数据值。
4)十六进制转ASCII 码模块。本子程序完成的功能是把十六进制数转换为ASCII 码。
5) 数据协议模块。本程序完成的功能是将要发送的ASCII 码数据实现帧封装,定义数据包的头和尾,以及中间分隔符,起始字符为“! ”,结束字符为“#”。中间分隔符号为“+”,为方便上位机接收和存储单片机发送的采集数据。
6) 数据发送模块。本程序完成的功能是将数据包发送到串口服务器上。
2.3 软件流程图
系统的工作原理是系统上电后的, 首先进行初始化,包括设置波特率为9600bps,定时器工作方式,串行口工作方式, 开定时中断等。然后对八路通道进行循环采集、显示,最后进行数据处理,将处理后的数据存入缓冲区, 然后由串行口发送数据。流程图如图5所示。
3 结束语
本文所设计的方案,采用单片机和串口服务器,既可以完成数据采集, 又可以将数据封装向Internet 发送,电路结构简单,实用性强,非常适用于远距离、偏远地点的数据终端采集工作, 是数据网络连接的一种可行性解决方案。
联系客服