排列的。必须用软件合成处理,才能得到所需要的温度值。如表1所示,纵向排列的是存放每次读取数据的Buf而横向才是我们需要的温度值,此时设计一个将纵向数据转为横向温度的程序,连续执行两次,就可以将DS18B20的高和低字节全部合成标准的温度数据。
f2.3系统软件流程图主程序执行流程如图2所示,主程序先对各DS18B20进行初始化,然后重复调用写命令和读数据模块,最后将数据处理后送入LED显示。
f24系统电路图
3系统仿真Proteus软件是Labce
ter公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的绘制与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验环境。本设计的核心部分为八点温度数据的快速准确读取,完成电路设计和软件编程后,将程序在KEIL下编译,装入单片机,进行仿真,可以看到,同步快速多点温度测量得到了实现。仿真中的一个画面如下面图3中的效果所示此时采集的是第5通路的测量温度。
f4系统运行与数据分析根据系统软件与硬件设计方案搭建实际系统电路,依次采集八路温度测量数据,并且在LED数码管上显示所测温度,同时与现场温度计测量值进行比较,系统运行结果如下,见表2:表2传感器与温度计数据对照
测量结果数据与温度计直接测量吻合,符合仿真结果,本系统的测量范围为0-99℃,DS18B20数字值读取位数为8位,精确到1℃,满足日常测量应用。另外可以通过改变DS18B20数字值读取位数提高精度,也可以根据实际应用要求扩大量程。在系统基础上可以加入开关控制测量通路选择,并实现超过测量范围蜂鸣器报警。
f5结论该温度测量系统结构简单、程序设计方便,基于仿真系统构建的实际电路运行良好,8支DS18B20的读取时间与1支DS18B20的读取时间基本相等,测温迅速准确。本设计采用Proteus仿真的好处在于可以迅速观察到设计效果,同时可以通过改变元器件参数使整个电路性能达到最优化。
6参考文献
1、唐俊翟单片机原理与应用M北京:冶金工业出版社2522672、胡伟单片机C程序设计及应用实例M北京:人民邮电出版社,14873、赵娜,赵刚基于51单片机的温度测量系统J微计算机信息,20074、于永学葛建1Wire总线数字温度传感器r