主页(http://www.pttcn.net):基于AT89S52单片机的以太网远程监控系统的设计(2)
(5)告警电路 本设计采用蜂鸣器告警电路,它由晶体管和蜂鸣器组成。由单片机I/O口输出信号控制晶体管的导通或截止,晶体管导通,则蜂鸣器告警。 4 温度监控的实现 系统工作时先由使用者设定预期达到的两位温度值(该值为十进制,单位为摄氏度,范围35℃~80℃),温度值输入后,打开电源,单片机自动复位,进行初始化,这时LED显示器显示设定温度,以便操作人员核对设定温度,然后温度检测电路将测点的温度输入单片机,经软件滤波后作为实测温度,此后显示器将一直显示实测温度。本系统的温度设置也可通过远程监控端的上位PC机设定,上位PC机通过ZNE一100T模块,将给定量和各设定参数传递给AT89S52单片机,DSl8820温度传感器也将现场实时检测得到的电阻炉的温度传递给AT89S52单片机,AT89S52单片机获得DSl8820温度传感器传送的温度后经主程序分析,并把它与设定值比较,若实测温度高于设定温度时,则通过驱动电路关上加热器并告警;若实测温度低于设定温度时,则通过驱动电路打开加热器并告警;若在设定温度范围内,则加热器状态不变。 5 系统软件设计 系统采用AT89S52作为核心处理器件,把经过DSl8820现场实时采集到的温度数据,存入AT89S52的内部数据存储器,送液晶显示,并与预先设定值进行比较,然后由单片机输出信号去控制加热器。进行温度控制程序的设计应考虑如下几个问题:?实时采集温度;?温度显示;?与上位PC机通信程序;?越限告警和处理。软件设计主要有:主程序、初值设定子程序、温度读取子程序、液晶显示子程序和输出控制子程序等。初值设定子程序完成对温度初值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过液晶显示子程序显示温度值;输出控制子程序则根据温度的数值完成对输出口的控制。AT89S52的具体软件主程序和串口通信中断程序分别如图3和图4所示。 在以太网通信中,PC机为主机,单片机为从机。单片机与ZNE-100T模块之间采用RS-232串行接口,通信波特率为9600b/s,数据帧格式为l位起始位,8位数据位,1位停止位,无奇偶校验位。
6 远程监控端的软件设计 远程监控端的管理软件是采用Visual Basic 6.0V为开发设计语言,进行程序编写,以Microsoft Access数据库格式存储数据。该系统可运行于Windows操作系统平台上,方便以后的修改和使用。主要由通信控制部分、串口参数设定部分、采集数据写入数据库部分、采集数据显示及告警显示部分和数据库维护部分等组成。远程监控端数据库是由Access软件生成的,包括三个表:表1是保存采集数据表,表2是保存操作人员及密码表,表3是保存各监测地址。远程监控端的应用软件提供了一个良好的界面,使维护人员能通过界面上的数据表方便地观测各远程监测点的工作状态,通过菜单对全系统进行有效的维护,其组成框图如图5所示。 远程监控端的部分软件功能如下: (1)通信控制部分软件主要负责监视串口,接收来自单片机的字符或向单片机发送字符。 (2)采集温度显示及告警显示部分软件主要是在主界面上显示接收的监视温度数据。当监视现场的采集温度超过告警界限时,在主界面告警面板上显示告警地点及告警内容。 (3)采集温度写入数据库部分软件负责将接收的信息字符解码,提取出时间、地点及采集的温度数据,并分析上述数据的合法性,如果合法则存入数据库的表。 (4)串口参数设定部分软件负责设定使用哪个串口,串口的波特率、校验位、停止位。 7 结语 本文以AT89S52单片机为核心,利用ZNE-100T以太网模块,设计了一个简单实用的以太网远程监控系统,经实验验证,数据通信正常,检测数据完全符合系统设计的要求。由于该系统,硬件简单、成本低、集成度高、稳定性好、调试方便以及抗干扰能力强,并且能实现温度的远程自动控制,具有一定的实用价值。
(中国集群通信网 | 责任编辑:陈晓亮) |