欢迎来到天天文库
浏览记录
ID:11623331
大小:427.50 KB
页数:23页
时间:2018-07-13
《avr单片机基于ds18b20的温度测量实验七》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、AVR学习笔记七、基于DS18B20的温度测量实验-------基于LT_Mini_M167.1基于DS18B20的基本测温实验7.1.1、实例功能传统的温度测量采用热敏电阻,但热敏电阻存在可靠性差,测温准确率低,并且必须经过专门的接口电路将采集到的模拟量转换为数字量后才能由单片机处理。DS18B20是美国DALLAS公司推出的一款单线数字温度传感器。它具有:体积小,功耗低,精度高,可靠性好,易于单片机接口等优点,每片DS18B20都有唯一的一个可读出的序列号,同时DS18B20还采用了寄生电源技术,可以不用外接电源。综合以上特点,DS18B20特别适合于多点测温系统。本节首先介绍DS18
2、B20的一些基本知识:特点、结构、原理、控制时序、与单片机的接口方法等。最后通过一个实例实现最简单的温度测量。本实例分为三个功能模块,分别描述如下:●单片机系统:利用ATmega16单片机与DS18B20温度传感器通信,控制温度的采集过程,并将采集到的温度值通过串口发送到计算机。●外围电路:外围电路分两部分:串口电路部分(实现将采集到的温度值发送到计算机的功能)、DS18B20温度采集电路(实现采集环境温度的功能)。●软件程序:编写软件,实现温度测量和串口发送数据功能。通过本实例的学习,掌握以下内容:●理解DS18B20的特点、结构和原理和接口设计方法。●掌握DS18B20的控制时序和控制
3、方法流程。●掌握最简单的采集温度指令。7.1.2器件和原理1、DS18B20介绍DS18B20主要有以下特点:●单线接口:DS18B20与单片机连接时仅需一根I/O口线即可实现单片机与DS18B20之间的双向通信。●实际使用中不需要任何外围元件。●可用数据线供电,电压范围3.0-5.5V。测温范围-55-+125oC。●可编程实现9-12位的数字读数方式。●用户可设定的非易失性(掉电不丢失)的温度上下线报警值。●支持多点组网功能,多个DS18B20可并联在唯一的三总线上,实现多点温度测量。●负压特性:电源极性接反时不会烧坏DS18B20,但是也不能正常工作DS18B20的外形级封装如图7.
4、1.1,引脚说明:NC空引脚,不连接外部信号。VDD电源引脚,电压范围3.0-5.5V。GND接地引脚。DQ数据引脚,传递数据的输入和输出。该引脚常态下为开漏输出,输出高电平。图7.1.1DS18B20的外形级封装7.1.2DS18B20的内部结构DS18B20的内部结构如图7.1.2。DS18B20的内部结构主要有64位ROM、温度灵敏元件、内部存储器和配置寄存器四部分组成。图7.1.2DS18B20的内部结构●64位ROM:64位ROM的内容是64位序列号,是出厂前用激光刻好的。它可以用作该DS18B20的地址序列码。每一个DS18B20的64位ROM都不同,这样就可以实现一根总线上挂
5、多个DS18B20的目的。这64位ROM的排列是:开始8位是产品类型号,接着的48位是该DS18B20的自身的序列号,最后8位是前面56位的循环冗余(CRC,CRC=X8+X5+X4+1)校验码。●温度灵敏元件:温度灵敏元件完成对温度的测量,测量后的结果存储在两个8位的寄存器中,这两个寄存器定义如图7.1.3。温度寄存器高字节的高5位是符号位,温度为负时这5位为1;温度为正时,这5位为0。高字节寄存器的低3位与低字节寄存器的高4位组成温度的整数部分,低字节寄存器的低4位是温度的小数部分。当温度大于0时,温度值以原码存放。而当温度小于0时,以二进制补码形式存放。当转换位数为12位时,温度的精
6、度为1/16(4位小数位,所以为16)=0.0625度。同理,当转换位数为11位时,精度为1/8=0.125度。对于温度的计算,以12位转换位数为例:对于正的温度,只要将测到的数值的整数部分取出,转换为10进制,再将小数部分乘以0.0625就可以得到10进制的小数位的温度值了。而对于负的温度,则需要将采集到的数值取反加1,即可得到实际温度的16进制表示。再按照正温度的计算方法就可以得出10进制的负的温度了。图7.1.3DS18B20温度寄存器格式图7.1.4所示是在12位转换位数情况下的温度转换值和温度对照表图7.1.412位转换位数的温度转换值和温度对照表7.1.3DS18B20的内部存
7、储器DS18B20的内部存储器包括一个告诉暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放温度的上下限报警值和配置寄存器。高速暂存RAM以及EEPROM的构成如图7.1.5所示。高速暂存RAM由9个字节组成,当温度转换命令发出后,经转换获得的温度值以二进制补码形式存放在第0(LSB)和第一(MSB)个字节内。单片机通过单线接口DQ读出该数据,读取时低位在前,高位在后。第二和第三个字节是温度的上(TH)下限(TL
此文档下载收益归作者所有