实验八 DS18B20数字温度显示实验

合集下载

DS18B20单总线温度采集实验

DS18B20单总线温度采集实验

DS18B20单总线温度采集实验一、实验目的1. 熟悉Keil IDE uVision集成开发环境软件的使用方法。

2. 学习DS18B20 单总线温度传感器的使用。

二、实验内容DS18B20 为单总线12 位(二进制)温度读数。

内部有64 位唯一的ID 编码。

工作电压从 3.0~5.5V。

测量温度范围从-55℃~125℃。

高位±0.0625℃分辨率。

三、实验要求1. 数码管显示温度数据,显示百、十、个位并保留一位小数。

2. 画出程序流程图,并独立编写C51程序。

3. 做好实验前预习,完成proteus仿真和实物搭建。

四、实验硬件电路及芯片特性DS18B20 内部框图:温度寄存器格式:DSl8B20 工作过程中的协议如下:初始化ROM 操作命令存储器操作命令处理数据初始化:单总线上的所有处理均从初始化开始。

单片机将总线拉低至少480μs 然后释放总线,DS18B20 检测到上升沿后在等待15~60μs 后拉低总线,说明器件存在。

拉低持续时间为60~240μs。

读写时序:推荐的读时序:DS18B20 的核心功能是直接数字温度传感器。

温度传感器可以配置成9、10、11 和12 位方式。

相应的精度分别为:0.5℃、0.25℃, 0.125℃和0.0625℃。

默认的分辨率为12 位。

DS18B20 在空闲低功耗状态下加电(寄生电源工作方式)。

主机必须发出Convert T [44h]命令使其对测量温度进行A-D 转换。

接下来进行采集转换,结果存于两字节高速温度寄存器并返回到空闲低功耗状态。

如果DS18B20 在外部VDD 供电方式下,单片机可以在发出Convert T 命令并总线为1 时(总线为0 表示正在转换)发出“read time slots”命令。

温度分辩率配置:五、实验步骤1. 在Keil IDE u Vision集成开发环境下建立工程文件,编辑源文件、编译、链接并生成目标文件,仿真调试验证结果。

DS18B20温控电动机实验

DS18B20温控电动机实验

单片机课程设计论文DS18B20温控电动机实验学院:**********专业:************班级********姓名:*******8学号:*********8DS18B20温控电动机实验一、设计简介本实验首先通过18B20测量温度,温度用数码管显示。

然后通过温度的高低控制电动机的转度。

本设计可用于温度的测控、室温的控制、温度调节、温度报警等方面。

二、18B20、数码管和电动机的简介1.18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点:(1 )采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯。

单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

(2 )测量温度范围宽,测量精度高DS18B20 的测量范围为-55 ℃ ~+ 125 ℃;在-10~+ 85°C 范围内,精度为±0.5°C 。

(3 )在使用中不需要任何外围元件。

(4 )持多点组网功能多个DS18B20 可以并联在惟一的单线上,实现多点测温。

(5 )供电方式灵活DS18B20 可以通过内部寄生电路从数据线上获取电源。

因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。

(7 )负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(8 )掉电保护功能DS18B20 内部含有EEPROM ,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。

18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。

2.数码管数码管是一种半导体发光器件,其基本单元是发光二极管,是单片机系统中最常用的一种显示输出,主要用于单片机控制中的数据输出和状态信息显示。

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言温度传感器在现代生活中扮演着重要的角色,它们被广泛应用于各种领域,包括工业、医疗、农业等。

DS18B20是一种数字温度传感器,具有精准的测量能力和数字输出,因此备受青睐。

本实验旨在通过对DS18B20温度传感器的测试和分析,探讨其性能和应用。

实验目的1. 了解DS18B20温度传感器的工作原理和特性。

2. 测试DS18B20温度传感器的测量精度和响应速度。

3. 探讨DS18B20温度传感器在实际应用中的优缺点。

实验器材1. DS18B20温度传感器2. Arduino开发板3. 4.7kΩ电阻4. 连接线5. 电脑实验步骤1. 将DS18B20温度传感器连接到Arduino开发板上,并接入4.7kΩ电阻。

2. 编写Arduino程序,通过串口监视器输出DS18B20传感器的温度数据。

3. 将DS18B20传感器置于不同的温度环境中,记录其输出的温度数据。

4. 分析DS18B20传感器的测量精度和响应速度。

5. 探讨DS18B20传感器在实际应用中的优缺点。

实验结果经过实验测试,DS18B20温度传感器表现出了较高的测量精度和响应速度。

在不同温度环境下,其输出的温度数据与实际温度基本吻合,误差较小。

此外,DS18B20传感器具有数字输出,易于与各种微控制器和单片机进行连接,应用范围广泛。

然而,DS18B20传感器在极端温度环境下可能出现测量误差,且价格较高,需要根据实际需求进行选择。

结论DS18B20温度传感器具有较高的测量精度和响应速度,适用于各种温度测量场景。

然而,在选择和应用时需要考虑其价格和适用范围,以确保满足实际需求。

希望本实验能够为DS18B20温度传感器的应用提供参考和借鉴,推动其在各个领域的发展和应用。

DS18B20温度测量与控制实验报告

DS18B20温度测量与控制实验报告

课程实训报告《单片机技术开发》专业:机电一体化技术班级: 104201学号: 10420134姓名:杨泽润浙江交通职业技术学院机电学院2012年5月29日目录一、DS18B20温度测量与控制实验目的……………………二、DS18B20温度测量与控制实验说明……………………三、DS18B20温度测量与控制实验框图与步骤……………………四、DS18B20温度测量与控制实验清单……………………五、DS18B20温度测量与控制实验原理图…………………六、DS18B20温度测量与控制实验实训小结………………一、实验目的1.了解单总线器件的编程方法。

2.了解温度测量的原理,掌握 DS18B20 的使用。

二、实验说明本实验系统采用的温度传感器DS18B20是美国DALLAS公司推出的增强型单总线数字温度传感器。

Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。

DS18B20 的管脚排列如下: DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。

光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。

温度实时显示实验报告

温度实时显示实验报告

实验名称:温度实时显示实验实验日期:2021年X月X日实验地点:实验室一、实验目的1. 了解温度实时显示系统的工作原理。

2. 掌握温度传感器的使用方法。

3. 熟悉温度实时显示系统的搭建过程。

4. 提高实际操作能力。

二、实验原理温度实时显示系统主要由温度传感器、数据采集模块、显示模块和电源模块组成。

温度传感器用于检测环境温度,数据采集模块将温度传感器的信号转换为数字信号,显示模块将数字信号转换为可视化的温度值,电源模块为系统提供稳定的电源。

三、实验仪器与材料1. 温度传感器:DS18B202. 数据采集模块:Arduino Uno3. 显示模块:LCD16024. 连接线:杜邦线5. 电源模块:9V电池6. 实验平台:面包板四、实验步骤1. 准备实验材料,搭建实验电路。

2. 编写Arduino程序,实现温度数据的采集和显示。

3. 将程序上传至Arduino板。

4. 启动实验,观察温度实时显示效果。

五、实验结果与分析1. 实验结果在实验过程中,成功搭建了温度实时显示系统,并实现了温度数据的实时采集和显示。

实验过程中,温度传感器的数据采集模块、显示模块和电源模块均工作正常。

2. 实验分析(1)温度传感器DS18B20具有高精度、高稳定性等特点,能够满足实验要求。

(2)Arduino Uno作为数据采集模块,能够实时读取温度传感器的数据,并通过LCD1602显示屏进行显示。

(3)实验过程中,温度实时显示系统工作稳定,数据采集准确,显示效果良好。

六、实验结论1. 成功搭建了温度实时显示系统,实现了温度数据的实时采集和显示。

2. 温度实时显示系统具有较高的精度和稳定性,适用于实际应用场景。

3. 通过本次实验,掌握了温度传感器的使用方法、数据采集模块的搭建以及Arduino程序的编写,提高了实际操作能力。

七、实验改进与展望1. 在实验过程中,发现温度实时显示系统在极端温度条件下,数据采集和显示效果可能受到影响。

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告

温度传感器ds18b20实验报告温度传感器DS18B20实验报告引言:温度传感器是一种用于测量环境温度的设备,它在许多领域都有广泛的应用,如气象学、工业控制、冷链物流等。

本实验报告将介绍DS18B20温度传感器的原理、实验装置和实验结果,并对其性能进行评估。

一、实验原理DS18B20温度传感器是一种数字温度传感器,采用单总线接口进行通信。

它采用了最新的数字温度传感器技术,具有高精度、低功耗、抗干扰等特点。

其工作原理是利用温度对半导体材料电阻值的影响,通过测量电阻值的变化来确定温度。

二、实验装置本实验使用的实验装置包括DS18B20温度传感器、Arduino开发板、杜邦线和计算机。

Arduino开发板用于读取传感器的温度数据,并通过串口将数据传输到计算机上进行处理和显示。

三、实验步骤1. 连接电路:将DS18B20温度传感器的VCC引脚连接到Arduino开发板的5V 引脚,GND引脚连接到GND引脚,DQ引脚连接到Arduino开发板的数字引脚2。

2. 编写代码:使用Arduino开发环境编写代码,通过OneWire库和DallasTemperature库读取DS18B20传感器的温度数据。

3. 上传代码:将编写好的代码上传到Arduino开发板上。

4. 监测温度:打开串口监视器,可以看到DS18B20传感器实时的温度数据。

四、实验结果在实验过程中,我们将DS18B20温度传感器放置在不同的环境中,记录了其测得的温度数据。

实验结果显示,DS18B20温度传感器具有较高的精度和稳定性,能够准确地测量环境温度。

五、实验评估本实验评估了DS18B20温度传感器的性能,包括精度、响应时间和抗干扰能力。

实验结果表明,DS18B20温度传感器具有较高的精度,能够在0.5℃的误差范围内测量温度。

响应时间较快,能够在毫秒级别内完成温度测量。

同时,DS18B20温度传感器具有较好的抗干扰能力,能够在干扰环境下保持稳定的测量结果。

温度传感器实验报告

温度传感器实验报告

温度传感器实验报告
一、实验目的
本实验旨在通过使用温度传感器来检测不同环境下的温度变化,并通过实验数据分析温度传感器的性能和准确度。

二、实验仪器
1. Arduino Uno控制板
2. DS18B20数字温度传感器
3. 杜邦线
4. 电脑
三、实验步骤
1. 连接DS18B20温度传感器到Arduino Uno控制板上。

2. 使用Arduino软件编写读取温度传感器数据的程序。

3. 通过串口监视器读取传感器采集到的温度数据。

4. 将温度传感器放置在不同环境温度下,记录数据并进行分析。

四、实验数据
在室内环境下,温度传感器读取的数据平均值为25摄氏度;在户外阳光下,温度传感器读取的数据平均值为35摄氏度。

五、实验结果分析
通过实验数据分析可知,DS18B20温度传感器对环境温度有较高的
敏感度和准确性,能够较精准地反映环境温度的变化。

在不同环境温
度下,传感器能够稳定地输出准确的温度数据。

六、实验结论
本实验通过对DS18B20温度传感器的测试和分析,验证了其在温
度检测方面的可靠性和准确性。

温度传感器可以广泛应用于各种领域,如气象监测、工业控制等。

通过本次实验,我们对温度传感器的性能
有了更深入的了解。

七、参考文献
1. DS18B20温度传感器数据手册
2. Arduino Uno官方网站
以上为实验报告内容,谢谢!。

18b20测温数码管显示实验--精确到小数点后4位

18b20测温数码管显示实验--精确到小数点后4位

18b20测温数码管显示实验--精确到小数点后4位//滑国虎于09.9.20完成////DS18B20的读写程序,数据脚P1.5 ////温度传感器18B20程序,采用器件默认的12位转化 ////最大转化时间750微秒,显示温度-55到+125度,显示精度 // //为0.1度,显示采用4位LED共阳显示测温值 ////P0口为段码输入,P27~P21为位选 ///***************************************************/#include "reg51.h"#include "intrins.h" //_nop_();延时函数用 #define Disdata P0 //段码输出口 #define discan P2 //扫描口 #define uchar unsigned char #define uint unsigned intsbit DQ=P1^5; //温度输入口 sbit DIN=P0^7; //LED小数点控制 uint h;uint temp;//uchar codedis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x bf};//共阳LED段码表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮""-"uchar code scan_con[7]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd}; //列扫描控制字uchar data temp_data[2]={0x00,0x00}; //读出温度暂放 uchar data display[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据和一个运算暂用/*****************11us延时函数*************************///void delay(uint t) //11us{for (;t>0;t--);}///****************DS18B20复位函数************************/ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50); //550 usDQ=1;delay(6); //66 uspresence=DQ; //presence=0 复位成功,继续下一步}delay(45); //延时500 uspresence=~DQ;}DQ=1; //拉高电平 }/****************DS18B20写命令函数************************/ //向1-WIRE 总线上写1个字节void write_byte(uchar val){uchar i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_(); //从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 usDQ=val&0x01; //最低位移出delay(6); //66 usval=val/2; //右移1位}DQ=1;delay(1);}/****************DS18B20读1字节函数************************/ //从总线上取1个字节uchar read_byte(void){uchar i;uchar value=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 usDQ=1;_nop_();_nop_();_nop_();_nop_(); //4 usif(DQ)value|=0x80;delay(6); //66 us}DQ=1;return(value);}/****************显示扫描函数***************************/ scan(){char k;for(k=0;k<7;k++) //4位LED扫描控制{Disdata=dis_7[display[k]]; //数据显示 P0if (k==2){DIN=0;} //小数点显示 P0.7discan=scan_con[k]; //位选 P2delay(150);discan=0xff;}}/****************读出温度函数************************/ //read_temp(){ow_reset(); //总线复位delay(200);write_byte(0xcc); //发命令write_byte(0x44); //发转换命令ow_reset();delay(1);write_byte(0xcc); //发命令write_byte(0xbe);temp_data[0]=read_byte(); //读温度值的低字节temp_data[1]=read_byte(); //读温度值的高字节temp=temp_data[1];temp=temp&0x0f; //去掉符号位temp=temp<<8; //temp为16位temp=temp|temp_data[0]; // 两字节合成一个整型变量。

实验报告DS18B20温度检测控制

实验报告DS18B20温度检测控制

实训五 DS18B20温度检测控制实训一、实训目的1.温度传感器电路的工作原理。

2.了解温度控制的基本原理。

3.掌握一线总线接口的使用。

二、实训说明1.DALLAS最新单线数字温度传感器DS18B20简介Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

DS18B20测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。

64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校训码(CRC=X8+X5+X4+1)。

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

温度控制DS18B20器实验

温度控制DS18B20器实验

温度控制DS18B20器实验DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

DS18B20、DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为±2°C 。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

DS18B20、DS1822 的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B 20的简化版本。

省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。

DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

ds18b20数字温度计课程设计

ds18b20数字温度计课程设计

ds18b20数字温度计课程设计ds18b20数字温度计课程设计一、实验目的1、了解ds18b20数字温度计的原理;2、掌握使用单总线、多总线的ds18b20数字温度计的读取方法;3、学会程序设计,编写读取ds18b20数字温度计的程序;二、实验内容1、ds18b20原理介绍和使用指南;2、单总线ds18b20的读取;3、多总线ds18b20的读取;4、ds18b20数字温度计的程序设计。

三、实验准备1、ds18b20数字温度计一个;2、STC89C52单片机一个;3、74HC00芯片一个;4、基础模块一个;5、阻值电阻一块;6、按键一个;7、LED一个;四、实验步骤1、了解ds18b20的原理(1)ds18b20原理介绍:ds18b20是一款以串行通信方式完成温度采集的高精度热敏电阻,具有自带的识别码,可以同时读取多个ds18b20,具有低功耗,精度高,测量范围广等优点。

(2)ds18b20使用指南:ds18b20使用一根数据线进行通信,将这根数据线接到单片机的数据口即可,用来接收和发送数据。

2、单总线ds18b20的读取(1)实验环境搭建:将ds18b20数字温度计接到单片机的数据口上,并将电阻接入,使电路有效;(2)实验程序编写:编写读取单总线ds18b20的程序,实现单总线ds18b20数字温度计的读取;3、多总线ds18b20的读取(1)实验环境搭建:将多个ds18b20数字温度计使用同一个总线接到单片机的数据口上,并将电阻接入,使电路有效;(2)实验程序编写:编写读取多总线ds18b20的程序,实现多总线ds18b20数字温度计的读取;4、ds18b20数字温度计的程序设计(1)实验环境搭建:将ds18b20数字温度计接到单片机的数据口上,并将电阻、按键、LED等电子元件接入,使电路有效;(2)实验程序编写:编写ds18b20数字温度计的程序,实现读取ds18b20数字温度计的功能,并将按键控制LED亮灭,根据温度读取值判断LED是否亮起。

(完整word版)基于单片机的DS18B20设计实验报告

(完整word版)基于单片机的DS18B20设计实验报告

第1章引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。

其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。

因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。

本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。

本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。

该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.第2章任务与要求2.1测量范围-50~110°C,精确到0.5°C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章方案设计及论证3.1温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。

而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。

3.2显示模块的设计及论证LED是发光二极管Light Emitting Diode 的英文缩写。

LED显示屏是由发光二极管排列组成的一显示器件。

51单片机DS18B20温度传感器原理及实验

51单片机DS18B20温度传感器原理及实验

51单片机DS18B20温度传感器原理及实验一、引言温度传感器是一种常用的传感器器件,它的作用是将物体的温度变化转换为电信号输出,以实现温度的监测和控制。

DS18B20是一种数字温度传感器,采用数字信号输出,具有体积小、精度高、线性度好等特点,被广泛应用于各种温度控制系统中。

本文将介绍DS18B20的工作原理及实验方法。

二、DS18B20的工作原理DS18B20是一种基于一线传输协议的数字温度传感器,其工作原理如下:1.接口电路:DS18B20具有三个引脚,分别是VDD、DQ和GND。

其中,VDD是供电引脚,DQ是数据引脚,GND是地引脚。

2.传感器原理:DS18B20内部包含一个温度传感器和一个数字转换器。

温度传感器采用热敏电阻的原理,通过测量热敏电阻的电阻值来反映物体的温度变化。

数字转换器将传感器测得的电阻值转换为数字信号输出。

三、实验流程以下是使用51单片机对DS18B20温度传感器进行实验的详细流程:1.硬件准备:-将DS18B20的VDD引脚连接到单片机的VCC引脚,DQ引脚连接到单片机的任意IO引脚,GND引脚连接到单片机的GND引脚。

-确保DS18B20的供电电压和单片机的工作电压一致。

2.初始化:-在程序中定义DS18B20的DQ引脚所对应的单片机的IO引脚。

-初始化DS18B20,即发送初始化指令给DS18B20。

3.温度转换:-发送温度转换指令给DS18B20,DS18B20开始测量温度。

-等待一定的延时,确保DS18B20完成温度转换。

4.读取温度:-发送读取温度指令给DS18B20,DS18B20将温度的原始数据发送给单片机。

-单片机通过计算将原始数据转换为温度值。

-温度值可以通过串口或LCD等方式进行显示。

5.循环实验:-以上步骤需要不断重复,以便实时监测温度的变化。

四、总结DS18B20温度传感器是一种常用的数字温度传感器,具有精度高、体积小、线性度好等特点,适用于各种温度控制系统。

DS18B20数字温度计设计实验报告

DS18B20数字温度计设计实验报告

单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名学号:*********** 赵晓磊20130123096 段石磊20133522028 付成指导老师:**设计时间: 2015年12月电子与信息工程学院目录1.引言 (3)1.1.设计意义 (3)1.2.系统功能要求 (3)2.方案设计 (4)3.硬件设计 (2)4.软件设计 (5)5.系统调试 (7)6.设计总结 (8)7.附录 (9)8.作品展示 (15)9.参考文献 (17)DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。

而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。

其缺点如下:●硬件电路复杂;●软件调试复杂;●制作成本高。

本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。

DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。

1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在-55~125℃,误差在±0.5℃以内,采用LED数码管直接读显示。

2. 方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。

数字温度计总体电路结构框图如4.1图所示:图4.13. 硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED 数码管以动态扫描法实现温度显示。

主控制器 单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需AT89C2051 主 控制器 DS18B20 显示电路 扫描驱动要,很适合便携手持式产品的设计使用。

实验八 DS18B20数字温度显示实验

实验八    DS18B20数字温度显示实验

D S18B20数字温度显示实验1.实验目的掌握一线式数字温度传感器的使用,了解单总线的工作方式。

掌握数字温度传感器DS18B20的工作原理及温度测量方法。

2.实验原理及内容DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃。

主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。

必须先启动DS18B20开始转换,再读出温度转换值。

本程序仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,读取的温度值高位字节送WDMSB单元,低位字节送WDLSB 单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。

图118B20封装引脚 图2相关原理接线方法:1.利用S T C89C51实验板上的I R F1插孔和排针,将D S18B20插入I R F1插孔,用一根单条数据线把D S18B20的2脚接到C P U部份的P3.0;2.用一条4P I N的排线,把7474的A B C D接到P0口的P0.0,P0.1,P0.2,0.3四个端口。

(即插入P0口的上半部份)。

3.用一条8P I N的排线。

把数码管译码部份的输出端接到数码管部份的数据口;4.用一条4P I N的排线,把74138的输入端接到P0口的P0.4,P0.5,P0.6,07四个端口。

(即插入P0口的下半部份)。

5.用一条8P I N的排线。

把38译码部份的输出端接到数码管部份的显示位口。

在本系统中,为了简化程序, 采用了74L S47(数码管译码)74L S138(三八译码)。

即P0口的P0.0,P0.1,P0.2,P0.3四个端口接到74L S47进行硬件数码管译码,然后输出到数码管部分的数据口。

P0.4,P0.5,P.0.6三个端口接到74L S138进行38译码,然后输出到数码管的位控制。

DS18B20数字温度计设计实验报告文档推荐

DS18B20数字温度计设计实验报告文档推荐

DS18B20数字温度计设计实验报告文档推荐本实验旨在设计并实现一款数字温度计,利用DS18B20数字温度传感器测量环境温度并通过LCD1602液晶屏幕实时显示温度值。

实验设计1.材料准备:Arduino UNO控制板LCD1602液晶显示屏面包板、面包线10K电阻2.配置DS18B20数字温度传感器将DS18B20数字温度传感器与Arduino UNO控制板连接。

按下面连接方式进行连接: DS18B20传感器的红色线连接到Arduino UNO的+5V输出端口接完线后在Arduino IDE软件中,依次点击工具-示例-DS18B20-Temperature-Resolution,打开示例程序。

将程序复制到新建文本文件中进行修改,此处我将分辨率改为了12位。

然后将程序上传到Arduino UNO控制板中。

LCD1602液晶显示屏的VO引脚连接到一个10K电位器的中间引脚LCD1602液晶显示屏的D4-D7引脚依次连接到Arduino UNO的数字4-7个针脚4.最终的连接方式将连接完DS18B20数字温度传感器和LCD1602液晶显示屏后的Arduino UNO控制板,和面包板和面包线通过另一个10K电阻连接,其中用到的端口引脚如下:Arduino UNO的5V端口连接了一个10K电阻,这个电阻的另一端通过面包线连接到面包板的一个面包网络面包板的另一个面包网络再通过面包线连接到LCD1602液晶显示屏的K端口最后将设备连接完整后,将实验代码上传到Arduino UNO控制板中,然后就可以通过LCD1602液晶显示屏上实时显示环境温度值。

实验总结通过本次实验,我们成功地实现了数字温度计,并能够通过LCD1602液晶显示屏上实时显示温度值。

实验中温度传感器和LCD显示屏的连接更加直观和清晰,容易理解,实验成功率较高。

通过此次实验,我们学习到了数字温度传感器的连接方式、温度检测方法和温度的精度和分辨率等基本知识,同时也熟悉了Arduino UNO控制板和LCD1602液晶显示屏的使用方法,提高了对物联网应用的理解和掌握,为后续学习打下坚实的基础。

数字温度传感器DS18B20报告

数字温度传感器DS18B20报告

DS18B20报告一、DS18B20介绍DS18B20为单总线全双工通信的数字是温度传感器,其温度可以直接转换为9、10、11或12位,具体的位数由使用者通过程序写入指令改变,芯片默认的位数为12位。

芯片的形状如图。

芯片在电路的连接如图:二、读写时序1、复位时序(1)、单片机拉低总线480us~950us,然后释放总线(拉高电平)(2)、这时DS18B20会拉低信号,大约60~240us表示应答(3)、DS18B20拉低电平的60~240us之间,单片机读取总线的电平,如果是低电平,表示复位成功,否则不成功(此时一般要重负操作,直到成功为止,编程是要进行判断)(4)、DS18B20拉低电平60~240us之后,会释放总线。

2.写数据操作(1)、单片机拉低电平大约10~15us.(2)、加入要写入的时高电平,要将电平拉高,否则拉低电平。

此时要维持20~45us的时间(3)、释放总线写‘1’操作时序写‘0’操作时序3、读操作时序(1)、单片机拉低电平大约1us(2)、单片机释放总线,然后读取总线电平(3)、这时候DS18B20如果相应位是’1’会拉高电平,反之会拉低电平(4)、读取电平过后延迟大约40~45us读‘1’操作时序读‘0’操作时序三、温度读取函数步骤DS18B20开始转换:1.DS18B20复位2.写入跳过ROM的字节命令,0XCC.3.写入开始转换的功能命令,0X44.4.延迟大约750~900毫秒DS18B20读暂存数据1.DS18B20复位。

2.写入跳过ROM的字节命令,0XCC.3.写入读暂存功能命令,0XBE.4.读入第0个字节LS Byte,转换结果的低八位。

5.读入第1个字节MS Byte,转换结果的高八位。

6.DS18B20复位,表示读取暂存结束。

程序流程图:。

数字温度计实验

数字温度计实验

实验十九 DS18B20 温度检测实验一、实验目的1.熟习1-WIRE接口的工作原理、电路设计以及编程方法。

2.了解数字式温度传感器DS18B20的结构及使用方法。

二、实验原理1、DS18B20介绍:DS18B20是DALLAS公司生产的一线式数字温度传感器。

它将地址线、数据线和控制线合为一根双向串行传输信号线,并允许在这根信号线上挂接多个DS18B20。

因此单片机只需通过一根I/O线就可以与多个DS18B20通信。

在每个DS18B20芯片内部有一个64位的ROM,其中存有各个器件自身的序列号,作为器件独有的ID号码。

由于DS18B20简化了测温器件与计算机的接口电路,使用更加方便。

2、DS18B20的特性如下:测温范围:-55~+125℃;转换精度:9~12位二进制数(包括1位符号位),通过编程确定转换精度的位数;测温分辨率:9位精度为0.5℃,12位精度为0.0625℃转换时间:9位精度为93.75ms,10位精度为187.5ms,12位精度为750ms具有非易失性上、下限报警功能图DS18B20封装配置寄存器中R1、R0设置测温的分辨率:温度值用16位二进制补码形式表示如下:为最低位,其温度值为0.0625℃。

20相当于1℃。

当选择9位分辨率时,bit3 bit2 bit0没有意义;10位分辨率时,bit2 bit0没有意义;11位分辨率时,bit0没有意义。

使用DS18B20时,主机应先向DS18B20送出复位信号,主机将数据线拉低并保持480~960μs;再释放数据线,由上拉电阻拉高15~60μs;然后由DS18B20发出低电平60~240μs,就完成了复位操作。

复位时序图如下:主机发复位脉冲电阻上拉DS18B20发响应脉冲在主机对DS18B20写数据时,应先将数据线拉低1μs以上,再写入数据(写1为高,写0为低)。

待主机写入的数据变化15~60μs以后,DS18B20将数据写入。

要求主机写入的数据保持时间应为60~120μs.两次写入的间隙应大于1μs.写数据时序图如下:读数据前,主机主机应先将数据线拉低,再释放。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D S18B20数字温度显示实验1.实验目的掌握一线式数字温度传感器的使用,了解单总线的工作方式。

掌握数字温度传感器DS18B20的工作原理及温度测量方法。

2.实验原理及内容DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃。

主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。

必须先启动DS18B20开始转换,再读出温度转换值。

本程序仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,读取的温度值高位字节送WDMSB单元,低位字节送WDLSB 单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。

图118B20封装引脚 图2相关原理接线方法:1.利用S T C89C51实验板上的I R F1插孔和排针,将D S18B20插入I R F1插孔,用一根单条数据线把D S18B20的2脚接到C P U部份的P3.0;2.用一条4P I N的排线,把7474的A B C D接到P0口的P0.0,P0.1,P0.2,0.3四个端口。

(即插入P0口的上半部份)。

3.用一条8P I N的排线。

把数码管译码部份的输出端接到数码管部份的数据口;4.用一条4P I N的排线,把74138的输入端接到P0口的P0.4,P0.5,P0.6,07四个端口。

(即插入P0口的下半部份)。

5.用一条8P I N的排线。

把38译码部份的输出端接到数码管部份的显示位口。

在本系统中,为了简化程序, 采用了74L S47(数码管译码)74L S138(三八译码)。

即P0口的P0.0,P0.1,P0.2,P0.3四个端口接到74L S47进行硬件数码管译码,然后输出到数码管部分的数据口。

P0.4,P0.5,P.0.6三个端口接到74L S138进行38译码,然后输出到数码管的位控制。

系统综合原理图:图3系统原理图进行本实验时,需要使用S T C89C51、H D7279、E X P-74X X三块实验板,并且需要外接电阻等元件,接线连接复杂。

建议自制实验电路,或者使用L C D12864完成显示(若使用L C D12864,则程序需要重新设计)。

3.实验现象分析4.汇编语言参考程序图4程序设计流程;定时显示子程序,采用循环扫描方式;显示缓冲区40H~47HO R G0080HT I M E R0:M O V P0,40H;最后一位值送p0O R L P0,#70H ;点亮最后一位C A L L T1M SM O V P0,41HO R L P0,#60HC A L L T1M SM O V P0,42HO R L P0,#50HC A L L T1M SM O V P0,43HO R L P0,#40HM O V T H0,#L O W(65536-10000);定时器10M S中断M O V T L0,#H I G H(65536-10000)R E T IT1M S:M O V R5,#00h ;延时子程序T T:M O V R6,#9D J N Z R6,$D J N Z R5,T TR E T;********************************************************* ;主程序:;********************************************************** M A I N:M O V S P,#60HM O V P2,#0F F HM O V R2,#8M O V R0,#40H;O V E R:M O V@R0,#00HI N C R0D J N Z R2,O VE RM O V T M O D,#01HM O V T H0,#L O W(65536-10000)M O V T L0,#H I G H(65536-10000)S E T B E T0S E T B T R0L O O P:L C A L L D S W D;调用读出D S18B20温度程序 S J M P L O O P;读出D S18B20温度程序D S W D:C L R E AL C A L L R S TJ N B F0,K E N D ;如果没有应答,返回主程序M O V R0,#0C C HL C A L L S E N D_B Y T E;跳过R O M匹配M O V R0,#44H;发出温度转换命令L C A L L S E N D_B Y T ES E T B E AM O V P1,#00001111BM O V48H,#1;廷时75m s以上准备读 S S2: M O V49H,#255S S1: M O V4A H,#255S S0: D J N Z4A H,S S0D J N Z49H,S S1D J N Z48H,S S2M O V P1,#11111100BC L R E AL C A L L R S TJ N B F0,K E N DM O V R0,#0C C H;跳过R O M匹配L C A L L S E N D_B Y T EM O V R0,#0B E H;发出读温度命令L C A L L S E N D_B Y T EL C A L L R E A D_B Y T EM O V W D L S B,AL C A L L R E A D_B Y T EM O V W D M S B,AL C A L L T R A N S12K E N D:M O V P1,#01010101bR E T;********************************************************** ;温度转换程序:精确到:0.06;;********************************************************** T R A N S12:M O V A,30HA N L A,#0F0HM O V3A H,AM O V A,31HA N L A,#0F HO R L A,3A HS W A P AM O V B,#10D I V A BM O V43H,AM O V42H,B;M O V D P T R,#T A B BM O V A,30HA N L A,#0F HM O V B,#2M U L A BM O V C A,@A+D P T RM O V41H,AM O V A,30HA N L A,#0F HM O V B,#2M U L A BI N C AM O V C A,@A+D P T RM O V40H,AR E TT A B B:D B0,0,0,6,1,2,1,8,2,5,3,1,3,7,4,3,5,0D B5,6,6,2,6,8,7,5,8,1,8,7,9,3;*************************************************S E N D_B Y T E:;发送一个字节程序;**********************************************************M O V R5,#8S E N3:C L R CR R C AJ C S E N1L C A L L W R I T E_0S J M P S E N2S E N1:L C A L L W R I T E_1S E N2:D J N Z R5,S E N3;循环8次,写一个字节R E TR E A D_B Y T E:;读一个字节程序M O V R5,#8R E A D1:L C A L L R E A DR R C AD J N Z R5,RE A D1;循环8次,读一个字节M O V R0,AR E T;复位程序,如果复位置位F0,没有就复位F0 R S T: S E T B D A TN O PN O PC L RD A TM O V R6,#250;主机发复位脉冲持续3μs×200=600μsD J N Z R6,$M O V R6,#50D J N Z R6,$S E T B D A T;主机释放总线,口线改为输入M O V R6,#15D J N Z R6,$C A L L C H C K;调用应答检查程序M O V R6,#60D J N Z R6,$S E T B D A TR E TC H C K:M O V C,D A TJ C R S T0S E T B F0;检测到信号,置位F0S J M P C H C K0R S T0:C L R F0;未准备好F0复位C H C K0:R E TW R I T E_0:;写0C L RD A TM O V R6,#30D J N Z R6,$S E T B D A TR E TW R I T E_1:C L R D A T;写1N O PN O PN O PN O PN O PS E T B D A TM O V R6,#30D J N Z R6,$R E T;读一位数据程序R E A D:S E T B D A T;先复位至少1U S产生读起始信号 N O PN O PC L RD A TN O PN O PS E T B D A T;置位D A T准备接收数据N O PN O PN O PN O PN O PN O PN O PM O V C,D A TM O V R6,#23 D J N Z R6,$ R E TE N D。

相关文档
最新文档