当前位置:首页 > 基于单片机的温度控制系统设计本科生毕业论文
基于单片机的温度控制系统
U1321VCCDQGNDDS18B20图2-1 DS18B20引脚图
27.0 DALLAS 最新的单线数字温度传感器DS18B20是一种新型“一线器件”,它的体积更小、更适用于多种场合、而且适用电压更宽、也更经济。DALLAS 半导体公司开发的数字化温度传感器DS18B20也是世界上第一片支持“一线总线”接口的数字温度传感器。温度的测量范围为-55~+125 摄氏度,能编程为9位~12 位转换精度,0.0625摄氏度的测温分辨率,分辨率的设定参数及用户设定的报警温度会存储在EEPROM 中,掉电后依然能保存。用符号扩展的16位数字量方式串行的输出被测温度;采用寄生电源方式产生,其工作的电源既可以远端引入;3 根或2根线上可并联多个DS18B20,CPU只需要一根端口线就能与诸多的DS18B20 通信,较少占用微处理器的端口,可以节省逻辑电路和大量的引线,因而用它来组成的测温系统,具有线路简单,在一根通信线,可挂多个这样的数字温度计,非常的方便。
2.2.2 温度传感器工作原理
DS18B20的读写时序及测温原理与DS1820是相同的,得到的温度值的位数却会因为分辨率的不同而不同,而且进行温度转换时的延时时间从2s 减为750ms。 DS18B20的测温原理:低温度系数的晶振,它是用以产生固定频率的脉冲信号给计数器1,它的振荡频率受到温度的影响非常的小。高温度系数的晶振,则它的振荡率会随着温度的变化而明显的改变,产生的信号就作为计数器2的脉冲输入。温度寄存器以及计数器1被预先设置在-55℃所对应的一个基数值。对从低温度系数晶振产生的脉冲,将会通过计数器1来进行减法的计数,当计数器1预置的值减到了0的时候,计数器1的预置值将重新装入,这时候温度寄存器的值就加1。
5
基于单片机的温度控制系统
计数器1也就重新开始进行计数,如此循环,停止温度寄存器值的累加时计数器2的计数值到0,所测温度就为此时温度寄存器中的数值。
DS18B20功能特点:
1.采用了总线技术,与单片机的通信只需要一根I/O线,在一根线上可以挂接多个的DS18B20。
2.每只DS18B20它是根据序列号来访问相应的器件,具有一个独有的,不可更改的64位的序列号。
3.低压供电,电源范围为3--5V,可本地供电,也能直接通过数据线提供电源(即寄生电源2方式)。
4.在-10°C至+85°C范围内的可以达到精度为±0.5摄氏度,测温的范围为-55℃~+125摄氏度。
5.温度超过了的预定值的器件可以用报警搜索命令识别以及寻址。 6.用户可以自己设定报警上下限温度。
7.它转换12位的温度的最大时间为750毫秒,可编辑的数据位9--12位。 8.DS18B20的分辨率由用户通过EEPROM设置为9--12位。
9.DS18B20可以将检测到的温度值直接转化为数字量,并且通过串行通信方式。
DS18B20有4个主要数据部件:
1. 光刻ROM中的64位序列号在出厂之前就已经被光刻好了,它可看作该DS18B20的地址的序列码。64位光刻ROM的排列为:开始的8位 (28H)是产品类型的标号,接着48位是该DS18B20的自身序列号,最后的8位是前面的56位循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是让每一个DS18B20都不相同,这样的话就能够一根总线上可挂接多个的DS18B20。
2. DS18B20温度传感器能实现对温度的测量,以12位的转化为例:用16位的符号扩展二进制补码读数的形式提供,以0.0625℃/LSB的形式表达,其中S是
6
基于单片机的温度控制系统
符号位。
3. DS18B20温度传感器它的内部存储器包括一个高速暂存RAM以及一个非易失性的、可电擦除的EEPRAM,后者存放高温度和低温度的触发器 TH、TL以及结构寄存器。
4.配置寄存器。
DS18B20内部结构及功能:
DS18B20内部的结构如图3-7所示。主要包括以下部分:电源,温度传感器,64位的ROM单总线接口,用于存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限的TH和TL触发器,控制逻辑,8为循环冗余校验码(CRC)发生器等7部分。DS18B20内部结构如图2-2所示。
VDD64位RAM和单总线接口存储器和控制逻辑高速缓存温度传感器高温触发器TH低温触 发器TL配置触发器8位CRC发生器
图2-2 DS18B20内部结构
2.2.3 DS18B20工作原理介绍
温度的读取:
DS18B20出厂时配置为12位,读取温度时共读取16位,所以要把后11位的2进制转化为10进制后再乘以0.0625就是所测的温度,还需判断正负。前5个的数字为符号位,若前5位为1时,读取的温度就为负数;若前5位为0时,读取的温度就为正数。
DS18B20写操作:
7
基于单片机的温度控制系统
1.数据线首先置低电平“0”。 2.延时的时间为15ms。
3.再按从低位到高位的顺序发送字节(一次只能发送一位)。 4.延时的时间为45ms。 5.把数据线拉到高电平。
6.重复上(1)到(6)的操作,一直到所有的字节全部都发送完为止。 7.最后把数据线拉高。 DS18B20读操作: 1.把数据线拉高“1”。 2.延时2ms。 3.数据线拉低“0”。 4.延时15ms。 5.将据线拉高“1”。 6.延时15ms。
7.读数据线的状态得到了1个状态位,并且进行数据处理。 8.延时30ms。
2.2.4 DS18B20使用中的注意事项
DS18B20 虽具有连接方便、测温系统简单、占用口线少、测温的精度高等优点,然而在实际的应用中也应该注意以下几方面问题:
1.DS18B20 从测温结束直到把温度值转换成为了数字量,需要一些转换时间,这必须保证,不然会出现转换错误现象,从而使温度输出总是显示为85度。
2.在实际的使用中,应该使电源电压保持在5V 左右的大小,若是电源的电压
8
共分享92篇相关文档