基于DS18B20的MOA温度远程监控系统设计
当一线制总线上仅有一个DS18B20器件时, 可以用sk ip ROM 操作(即跳过ROM 匹配)命令来代替64位序列号的匹配过程, 省掉烦琐的总线上器件序列号的查询操作。在本设计中, 每个监测站仅用4个DS18B20器件, 因此在硬件满足要求的条件下可以设计成单片机的每个端口仅连接一个DS18B20, 即利用单片机的并行端口同时对多个DS18B20进行统一的操作。
图5 DS l8B20的多点测温电路原理图
2. 3 串口通信电路
本设计选用的单片机AT89S52 具有一个全双工的串行口, 可以通过编程设定为4种工作方式, 完全满足系统的串口通信要求。由于实际的温度测量系统离PC机的监控地点较远, 如采用常用的RS-232串行通信接口在传输距离短, 信号易受干扰等缺点, 因此本设计选用了RS- 485总线进行远程通信。RS - 485是美国电气工业联合会制定的通信标准, 其采用差分信号进行传输, 最大传输距离约为1219 m, 最大的传输速率可达10Mbit/ s, 能够满足长距离和高速率的串行异步通信, 得到了广泛的应用。在系统实现中, 单片机端使用MAX485芯片将TTL 电平转换成RS - 485的电平输出, 并在PC端连接RS232 /485转换器, 从而实现了远程监控。RS- 485总线接口电路如图6所示。
图6 RS- 485总线接口电路
2. 4 人机通信
监测系统可采用数码管和键盘作为人机交互界面, 通过键盘按键来显示三相MOA 的当前工作温度和与环境的温差, 键盘设定或修改两个回路的上下限温度报警值, 且一经设定完成后即用新的参数值进行监控并发往PC 机更新数据, 同时把新参数送入E2ROM中保存, 以防止系统掉电后参数的丢失。在温度测量中, 系统用当前测量值与设定的上下温限值比较, 从而控制是否需要声光报警。当系统的运行发生了偏差, 可以通过复位按键使系统重新开始运作。
3 软件编程设计
3. 1 DS18B20时序图
由于DS18B20采用的是1-W ire总线协议方式,即用一根数据线实现数据的双向传输, 单线通信功能是分时完成的, 有严格的时序概念, 因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为: 初始化DS18B20(发复位脉冲)-发ROM 操作命令-发存储器操作命令-处理数据。
评论