设计概述
基于DS18B20的多点温度测量监控系统设计,以AT89C52单片机作为主控制器,不断循环读取4组DS18B20(T1、T2、T3和T4)温度数据,同时使用LCD1602液晶循环显示4组测取的温度值以及每组设定的温度上下限值,通过按键可设置每组温度报警上下限和液晶显示的模式(循环显示模式和手动切换显示模式)。当前组的温度值若不在设定范围内,则蜂鸣器报警,对应的LED灯点亮;具体过程为:温度高于上限值,红色LED灯点亮;温度低于下限值,蓝色LED灯亮。
多点测温
由于每个DS18B20内部均有一个独立的64位序列号,单片机通过序列号可以对一条总线上的多支DS18B20进行控制,读取他们的温度。单总线本身也可以向所挂接的多个DS18B20供电,而无需额外电源。4组温度传感器的连接网络如下。
系统整体方案
Proteus仿真电路
原理图
仿真结果分析
把在KEIL里编译、调试生成的Multi_temp的hex文件导入到Proteus中的AT89C52里进行仿真,整体结果如下:
(1)开机LCD显示界面。
(2)系统正常状态下,循环显示4组DS18B20的温度值以及各组设定的温度上下限值。
(3)由上图可以看出T1的温度值,低于设定的温度下限值,蜂鸣器报警,且相应的LED指示灯点亮。
(4)用户可通过按键设置每组温度传感器的上下限值,以及从循环显示切换为手动显示。
C代码
资源内容
(1)基于DS18B20的多点温度测量监控系统设计论文完整版;
(2)Proteus仿真文件;
(3)C程序;
(4)原理图;
(5)Visio流程图文件;
(6)元器件清单;
(7)参考资料;
资源截图
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。