1、基于AT89C51温度控制系统设计冯晓锋 西安翻译学院试验中心摘要: 本系统是基于AT89C51单片机和DS18B20数字温度传感器智能温度控制系统, 依据要求可进行最高和最低温度设定, 经过RS-485总线标准实现与PC机远程通信, 实现PC机对采集温度存放、 处理、 打印等功效。关键字: AT89C51 数字温度传感器 温度控制系统一、 系统总体结构设计依据设计要求对某指定地点温度进行实时监测与控制, 采取了分布式系统控制方法, 即在测控点配置能独立工作从机, 从机由主机进行监控管理, 上下采取主从式监控管理形式, 系统总体结构如图1所表示。PC主机显示、 键盘RS-232与RS-485通
2、讯转换芯片MAX485打印机通讯接口AT89C51系统输入输出DS18B20数字温度传感器图1 系统总体结构系统各个部分功效和关系以下: 主机为管理机, 完成参数设置、 数据存放、 处理及管理及打印功效。从机为控制机, 采取单片机AT89C51, 直接实现各个模块控制功效, 并能在主机关机条件下实现全部控制功效。通讯转换芯片MAX485实现RS-232信号和RS-485信号转换, 主机经过其向从机发送控制参数, 从机将现场采集数据经过其传给主机。数据采集实现对传感器及运行设备检测。输入输出部分包含输入模块和输出模块, 输入模块将采集信号转换后输入到从机, 输出模块将系统控制信号输出到控制器及其
3、设备。二、 系统工作方法系统以温度监控为关键, 温度参数和设备运行状态由主机依据用户要求定时向从机查询, 各控制模块设置参数修改时, 将新参数发送到从机。主机能够对从机进行参数设置及控制, 从机也能够独立工作。从机经过温度传感器不间断地采集温度数据, 依据控制模块设置参数做出控制决议, 驱动设备运行, 并随时准备接收主机指令, 当受到问询时, 将各项数据编码经过串行通信方法传输到主机。主机接收到数据后, 进行数据处理, 在监控界面上显示目前状态信息, 并将此信息实时地存放到数据库中, 为用户维护和管理准备数据。对数据能够进行查询, 也能够将一段时期数据信息聚集成报表, 报表包含各项统计数据,
4、还能够将数据处理绘制成图形曲线, 实现对数据分析与管理。三、 系统硬件组成本温度控制系统主机采取通常PC就完全能够满足系统对数据处理、 运行速度要求。从机部分以AT89C51单片机为关键, 外接数据采集输入电路、 输出电路、 状态监测电路等部分组成。主机MAX48524LC04AT89C51DS18B20ADS1286图2 单片机控制平台系统原理图此控制系统关键实现现场数据采集, 并将采集数据处理、 存放、 发送给主机。AT89C51是控制系统关键, 温度数据采集经过数字温度传感器DS18B20取得, 采集信号经模数转换器ADS1286实现转换。采集数据存放于24LC04。在与主机通讯时, 为
5、达成电平一致, 控制平台经过RS-485芯片实现AT89C51引脚RXD、 TXDTTL电平与RS-485引脚A、 B485电平之间转换。把主机经过通讯转换接口送来RS-485标准电平转换为TTL电平传送给AT89C51, 把AT89C51送出TTL电平转换成RS-485标准电平经过通讯接口机传送给主机。 图3 温控系统硬件原理图RS-485通讯控制平台经过RS-485芯片实现AT89C51引脚RXD、 TXDTTL电平与RS-485引脚A、 B电平之间转换。把主机经过通讯接口机送来RS-485标准电平转换为TTL电平传送给AT89C51, 把AT89C51送出TTL电平转换成RS-485标准
6、电平经过通讯接口机传送给主机。四、 系统软件设计软件系统由两个相对独立主机软件和从机软件部分组成, 主机监控软件模块结构图如图3所表示。图4 主机软件模块结构图(1)主机监控软件关键实现以下功效: 串行通信: 完成主机通信配置, 实现主机与从机之间通信。数据显示: 提供三维立体图、 曲线走势图和表格三种方法显示。数据存放: 对实时数据(包含最大值、 最小值、 平均值)按要求存放到数据库一张历史数据表中; 也可导出数据到文件, 以文本方法保留到一个文本文件中。数据查询: 许可使用者依据情况对实时数据、 历史数据进行查询或进行走势曲线分析。数据打印: 依据用户要求, 以表格方法打印实时数据和历史数
7、据, 亦可打印走势曲线图。异常报警: 当实时温湿度数据超越设定上下限温湿度数值时, 报警铃响。系统设置: 为确保在任何情况下, 都能良好地运行, 许可用户对系统测量时间间隔、 温湿度上下限、 存盘时间间隔、 登录用户名、 口令等参数进行设置。(2)系统从机温控系统采取模块化程序结构, 能够分为以下程序模块: 系统初始化程序: 首先完成变量设定、 中止入口设定、 堆栈、 输入输出口部件初始化。 主程序模块: 完成键盘扫描、 温度值采集及转换、 温度值显示。 键盘扫描程序: 完成键盘扫描并依据确定键值实施对应功效, 关键完成最高和最低温度值设定。 温度采集模块: 完成DS18B20初始化并发出温度
8、转换指令, 经过指定时间后读取转换温度值。 温度转换模块: 依据精度要求对采集到温度值进行处理并转换成便于显示BCD码。 显示模块: 显示实时温度及设定温度值。 DS18B20初始化模块: 对DS18B20根据指定要求0进行初始化。 DS18B20读写模块: 完成对DS18B20读写功效。 延时模块: 完成对应延时功效。程序模块步骤图以下: 开始程序初始化显示温度值采集温度采集数据值转换成压缩BCD码实施对应键功效有键输入吗YN图5 主程序步骤图 DS18B20初始化CLR DQ 向DS18B20 发出RESET脉冲SETB DQ 等候1560微秒置FLAG标志并延时200微秒等候480微秒以上?DQ是否变低?初始化结束清除FLAG标志YYNNY图 DS18B20初始化程序步骤图五、 结束语 基于AT89C51单片机和DS18B20数字温度传感器智能温度控制系统, 能够远程语PC机通信, 实现对采集温度多种处理功效, 此控制系统稍作修改就能够实现对多点温度进行监测, 含有结构简单、 成本低廉、 易于操作等优点。