文档库 最新最全的文档下载
当前位置:文档库 › arduino和测试温度ds18b20

arduino和测试温度ds18b20

arduino和测试温度ds18b20
arduino和测试温度ds18b20

Arduino VS DS18b20测试温度

Author:Michael create: 2011-7-18

本文介绍的是:使用arduino控制器控制DS18B20显示温度,并通过串口让所测到的温度显示在电脑屏幕上。我们只要将手放在DS18B20一体化头上,将可以看到手的温度;它的应用场合是非常广的,常应用于工业测温,天气预报,医疗测温,机器人温度探测等。下面是一个关于Arduino主控制器控制测温模块DS18B20的例子。

简单的实物连接图:

DS18B20模块实物图,实验中所用到的是温度测试模块版本2.0的。

下面是关于模块与arduino的接线原理图:

在编写完程序,下载到arduino里面以后,运行得到的效果如下:在做实验的时候这里的气温是29.C,用手摸DS18B20以后,可以看到串口通信模块的温度有明显变化。说明程序调试成功了。

下面是此实验的代码:

#include

DallasT emperature tempSensor;

void setup(void)

{

Serial.begin(9600);

tempSensor.begin(12); }

void loop(void)

{

switch(tempSensor.isValid())

{

case 1:

Serial.println("Invalid CRC");

tempSensor.reset(); return;

case 2:

Serial.println("Not a valid device");

tempSensor.reset(); return;

}

Serial.print(tempSensor.getT emperature()); Serial.print("C");

Serial.println();

}

基于DS18B20的多点温度测量系统设计

一、绪论 1.1 课题来源 温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子设备不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,研究温度的测量具有重要的理论意义和推广价值。 随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。 本设计要求系统测量的温度的点数为4个,测量精度为0.5℃,测温范围为-20℃~+80℃。采用液晶显示温度值和路数,显示格式为:温度的符号位,整数部分,小数部分,最后一位显示℃。显示数据每一秒刷新一次。 1.2 课题研究的意义 21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于: (1)掌握数字温度传感器DS18B20的原理、性能、使用特点和方法,利用C51对系统进行编程。

DS18B20温度检测程序

(1)先将数据线置高电平“1”。 (2)延时(该时间要求的不是很严格,但是尽可能的短一点) (3)数据线拉到低电平“0”。 (4)延时750微秒(该时间的时间范围可以从480到960微秒)。 (5)数据线拉到高电平“1”。 (6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8)将数据线再次拉高到高电平“1”后结束。

(1)数据线先置低电平“0”。 (2)延时确定的时间为15微秒。 (3)按从低位到高位的顺序发送字节(一次只发送一位)。 (4)延时时间为45微秒。 (5)将数据线拉到高电平。 (6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7)最后将数据线拉高。 DS18B20的写操作时序图如图

DS18B20的读操作 (1)将数据线拉高“1”。 (2)延时2微秒。 (3)将数据线拉低“0”。 (4)延时15微秒。 (5)将数据线拉高“1”。 (6)延时15微秒。 (7)读数据线的状态得到1个状态位,并进行数据处理。 (8)延时30微秒。DS18B20的读操作时序图如图所示。

DS18B20的Protues仿真图 源程序代码: #include "reg51.h" #include "intrins.h" // 此头文件中有空操作语句NOP 几个微秒的延时可以用NOP 语句,但本人没用NOP,直接用了I++来延时 #define uchar unsigned char #define uint unsigned int uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39}; sbit ds18b20_io=P2^0; //单片机与DS18B20的连接口 sbit lcdrs=P2^6; //1602与单片机的接口 sbit lcden=P2^7;

基于单片机的DS18B20温度测量

基于DS18B20的温度测量系统 组员:计佳辰11221120 组员:徐文杰11221110 1.课题要求 测量环境中的温度,以BCD码的形式在LED上显示 2. 设计背景 随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。本设计选用A T89C51单片机作为主控制器件,DS18B20作为测温传感器,通过LM016L 实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。 3.设计方案 3.1总体设计思路方案与系统框图 采用数字温度芯片DS18B20测量温度,输出信号全数字化。采用了单总线的数据传输,由数字温度计DS18B20和AT89C51单片机构成的温度测量装置,DS18B20的DQ与AT89C51的P3.7口相连,与它直接输出温度的数字信号,采用AT89C51单片机控制,温度显示由四位八段LED显示屏完成,LED的D0~D7为8位双向数据端,与AT89C51的P1口相连,系统框图如下图所示。

3.2 DS18B20芯片介绍 DS18B20引脚定义: (1)DQ为数字信号输入输出端 (2)GND为电源地 (3)VDD为外接供电电源输入端温度寄存器(0和1字节) AT89C51 时钟电路复位电路 DS18B20数 字温度传感器 测温物体 图1 显示电路

DS18B20温度检测

目录 1引言 (1) 2系统描述 (2) 2.1系统功能 (2) 2.2系统设计指标 (2) 3系统的主要元件 (3) 3.1单片机 (3) 3.2温度传感元件 (4) 3.3LCD显示屏 (6) 4硬件电路 (7) 4.1系统整体原理图 (7) 4.2单片机晶振电路 (7) 4.3温度传感器连接电路 (8) 4.4LCD电路 (9) 4.5报警和外部中断电路 (10) 5结论 (11)

温度监测系统硬件设计 摘要:利用DS18B20为代表的新型单总线数字式温度传感器实现温度的监测,可 以简化硬件电路,也可以实现单线的多点分布式温度监测,而不会浪费单片机接口,提供了单片机接口的利用率。同时提高了系统能够的抗干扰性,使系统更灵活、方 便。本系统主要实现温度的检测、显示以及高低温的报警。也可以通过单总线挂载 多个DS18B20实现多点温度的分布式监测。 关键词: DS18B20,单总线,温度,单片机 1引言 在科技广泛发展的今天,计算机的发展已经越来越快,它的应用已经越来越广泛。而单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自控等等)和民用家电各方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。 单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此被广泛应用。在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要测量参数。例如:在冶金工业、化工工业、电力工程、机械制造和食品加工等许多领域中,人们都需要对各类加热炉、热处理炉、反映炉和锅炉,尤其是热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中的温度进行测量,并经常会对其进行控制。传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D 转换环节获得数字信号后才能够被单片机等微处理器接收处理,使得硬件电路结构复杂,制作成本较高。 近年来,美国DALLAS公司生产的DS18B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。这类温度传感器集温度测量和A\D转换于一生,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路结构简单,与单片机

基于DS18B20的温度测量系统设计

课程设计(论文) 题目名称基于DS18B20温度测量系统设计 课程名称单片机原理及应用 学生姓名尹彬涛 学号1341301075 系、专业电子信息工程 指导教师江世民 2015年 6 月12 日

摘要 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程。对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机; DS18B20; 温度传感器; 数字温度计; STC89C52

目录 摘要 (1) 引言 (3) 一、方案介绍 (3) 1、显示部分 (3) 2、温度采集 (5) 3、方案流程图 (5) 二、总体方案设计 (6) 1、硬件设计 (6) 1.1 温度采集设计 (6) 1.2温度显示设计 (6) 2、软件设计 (7) 2.1 DS18B20程序设计 (7) 2.2显示部分程序设计 (8) 三、实验调试过程 (10) 1、软件调试 (10) 1.1 显示部分调试........................................ . (10) 四、心得体会 (10) 五、致谢 (11) 六、参考文献 (12) 七、附录 (12) 附录一程序代码 (12) 附录二仿真电路图 (18)

ds18b20温度采集

“盛群杯”单片机大赛设计报告 温度读取部分: 采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。如图1.2.2 所示。 DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果 2.2.1 温度采集部分设计 本系统采用半导体温度传感器作为敏感元件。传感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度。DS18B20应用广泛,性能可以满足题目的设计要求。DS18B20的测温电路如图2.2.1所示。

图2.2.1 DS18B20测温电路 (1)DSI8B20的测温功能的实现: 其测温电路的实现是依靠单片机软件的编程上。当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5℃/LSB形式表示。温度值格式如表2.2.1所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与 TH做比较,若T>TH或T RoM操作命令 -> 存储器操作命令-> 处理数据 ①初始化单总线上的所有处理均从初始化开始 ② ROM操作命令总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如表2.2.2所示 表2.2.2 ROM操作命令表 ③存储器操作命令如表2.2.3所示 表2.2.3 存储器操作命令表

基于单片机的DS18B20温度测量

基于DS18B20的温度测量系 统 组员:计佳辰11221120 组员:徐文杰11221110 1.课题要求 测量环境中的温度,以BCD码的形式在LED上显示 2. 设计背景 随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,这里设计的数字温度计具有读数方便,测温围广,测温精确,数字显示,适用围宽等特点。本设计选用AT89C51单片机作为主控制器件,DS18B20作为测温传感器,通过LM016L 实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。 3.设计方案 3.1总体设计思路方案与系统框图 采用数字温度芯片DS18B20测量温度,输出信号全数字化。采用了单总线的数据传输,由数字温度计DS18B20和AT89C51单片机构成的温度测量装置,DS18B20的DQ与AT89C51的P3.7口相连,与它直接输出温度的数字信号,采用AT89C51单片机控制,温度显示由四位八段LED显示屏完成,LED的D0~D7为8位双向数据端,与AT89C51的P1口相连,系统框图如下图所示。

3.2 DS18B20芯片介绍 DS18B20引脚定义: (1)DQ为数字信号输入输出端 (2)GND为电源地 (3)VDD为外接供电电源输入端温度寄存器(0和1字节)AT89C51 时钟电路复位电路 DS18B20数 字温度传感器 测温物体 图1 显示电路

DS18B20温度检测教学提纲

D S18B20温度检测

目录 1 引言 (1) 2 系统描述 (2) 2.1 系统功能 (2) 2.2 系统设计指标 (3) 3 系统的主要元件 (3) 3.1 单片机 (3) 3.2 温度传感元件 (5) 3.3 LCD显示屏 (7) 4 硬件电路 (8) 4.1 系统整体原理图 (8) 4.2 单片机晶振电路 (9) 4.3 温度传感器连接电路 (10) 4.4 LCD电路 (10) 4.5 报警和外部中断电路 (12) 5 结论 (12)

温度监测系统硬件设计 摘要:利用DS18B20为代表的新型单总线数字式温度传感器实现温 度的监测,可以简化硬件电路,也可以实现单线的多点分布式温度监 测,而不会浪费单片机接口,提供了单片机接口的利用率。同时提高 了系统能够的抗干扰性,使系统更灵活、方便。本系统主要实现温度 的检测、显示以及高低温的报警。也可以通过单总线挂载多个 DS18B20实现多点温度的分布式监测。 关键词: DS18B20,单总线,温度,单片机 1引言 在科技广泛发展的今天,计算机的发展已经越来越快,它的应用已经越来越广泛。而单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自控等等)和民用家电各方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。 单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此被广泛应用。在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要测量参数。例如:在冶金工业、化工工业、电力工程、机械制造和食品加工等许多领域中,人们都需要对各类加热炉、热处理炉、反映炉和锅炉,尤其是热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中的温度进行测量,并经常会对其进行控制。

基于DS18B20的多点温度测量系统(毕业设计)

目录 中文摘要......................................................................................................... III 英文摘要......................................................................................................... I V 1 绪论. (1) 1.1课题来源 (1) 1.2课题研究的目的意义 (1) 1.3国内外现状及水平 (2) 1.4课题研究内容 (2) 2 系统方案设计 (3) 2.1基于模拟温度传感器设计方案 (3) 2.2基于数字温度传感器设计方案 (4) 2.3方案论证 (4) 3 电路设计 (6) 3.1工作原理 (6) 3.2DS18B20与单片机接口技术 (7) 3.3键盘电路设计 (14) 3.4显示电路设计 (15) 3.5报警电路设计 (16) 3.6电源电路设计 (17) 4 程序设计 (18) 4.1系统资源分配 (18) 4.2系统流程设计 (18) 4.3程序设计 (24) 5 系统仿真 (34) 5.1PROTEUS仿真环境介绍 (34) 5.2原理图绘制 (35) 5.3程序加载 (35) 5.4系统仿真 (36) 5.5仿真结果分析 ............................................................................................... 错误!未定义书签。 6 PCB板设计 (39) 6.1PCB板设计 (39)

DS18B20温度传感器设计

智能化仪器及原理应用课程设计 设计题目: DS18B20数字温度计的设计专业班级: 10自动化1 班 姓名: 组员: 指导老师: 日期:2012-11-26

目录 一、摘要 (2) 二、方案论证 (2) 三、电路设计 (2) 1、设备整机结构及硬件电路框图 (2) 2、单片机的选择 (3) 3、温度显示电路 (3) 4、温度传感器 (4) 5、软件设计 (6) 6、系统所运用的功能介绍: (8) 四、系统的调试及性能分析: (8) 附件:DS18B20温度计C程序 (9)

一、摘要 本设计的主要内容是应用单片机和温度传感器设计一个数字温度表,DS18B20是一种可组网的高精度数字温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本设计基于数字温度传感器DS18B20,以AT89C51片机为核心设计此测试系统,具有结构简单、测温精度高、稳定可靠的优点。可实现温度的实时检测和显示,本文给出了系统的硬件电路详细设计和软件设计方法,经过调试和实验验证,实现了预期的全部功能。 二、方案论证 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。 方案设计框图如下: 方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 三、电路设计 1、 设备整机结构及硬件电路框图 根据设计要求与设计思路,设计硬件电路框图如下图所示, 4位数码管显示器系统中AT89C51成对DS18B20初始化、温度采集、温度转换、温度数码显示。 本装置详细组成部分如下: a. 主控模块:AT89C51片机; b. 传感器电路:DS18B20温度传感器;

DS18B20测温流程图

主程序流程图:

DS18B20程序流程图: 程序按数据手册的时序图编写子函数模块: 1、DS18B20复位函数:resetDS18B20(void) 2、写一位的函数:WriteBit (unsigned char wb) 3、读一位的函数:unsigned char ReadBit (void) 4、读一个字节的函数:unsigned char readByteDS18B20(void) 即将位读取的时序循环8次。 5、写一个字节的函数:void writeByteDS18B20(unsigned char Data)。即将位写入的时序循环8次。 6、first和next函数流程图:

1、端口初始化子函数; 2、串口初始化; 3、串口发送一个字符函数:void USART_Putchar(unsigned char send_char) 4、串口发送数组函数:void UsartTransmit(unsigned char *data, unsigned char len) 5、串口发送字符串函数:void USART1_Putstr(char *s) 即通过字符串长度控制USART_Putchar函数的循环次数。6、串口发送字符串子程序(带有换行符): void USART1_Puts(char *s) 7、串口接收字符串函数:unsigned char getchar1(void) 8、串口接收中断子程序:void USART_RXT(void)流程图

1、 数据打包子函数:void Packet_Data(void) 2、

DS18B20温度检测

目录1引言1 2系统描述2 2.1系统功能2 2.2系统设计指标3 3系统的主要元件3 3.1单片机3 3.2温度传感元件4 3.3LCD显示屏7 4硬件电路8 4.1系统整体原理图8 4.2单片机晶振电路8 4.3温度传感器连接电路9 4.4LCD电路10 4.5报警和外部中断电路11

5结论12

温度监测系统硬件设计 摘要:利用DS18B20为代表的新型单总线数字式温度传感器实现温度的监测,可以 简化硬件电路,也可以实现单线的多点分布式温度监测,而不会浪费单片机接口,提供了单片机接口的利用率。同时提高了系统能够的抗干扰性,使系统更灵活、方 便。本系统主要实现温度的检测、显示以及高低温的报警。也可以通过单总线挂载 多个DS18B20实现多点温度的分布式监测。 关键词:DS18B20,单总线,温度,单片机 1引言 在科技广泛发展的今天,计算机的发展已经越来越快,它的应用已经越来越广泛。而单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自控等等)和民用家电各方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。 单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此被广泛应用。在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要测量参数。例如:在冶金工业、化工工业、电力工程、机械制造和食品加工等许多领域中,人们都需要对各类加热炉、热处理炉、反映炉和锅炉,尤其是热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中的温度进行测量,并经常会对其进行控制。传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D转换环节获得数字信号后才能够被单片机等微处理器接收处理,使得硬件电路结构复杂,制作成本较高。

温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器

摘要 此温湿度测量系统是基于单线式温度传感器DS18B20、电容式湿度传感器单片机STC89C52 对温度湿度分别测量并通过液晶显示屏1602经行显示。温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度数据,可读性高。HS1101是电容式空气湿度传感器,在不同的湿度环境下呈现出不同的电容值,0%~100%RH湿度范围内,电容从162PF变化到200PF,误差误差为2%RH。可见其精度非常高,为了反映出其电容的变化,本系统采用555多谐震荡电路产生不同的频率,用于检测湿度。单片机采集到两个传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。 关键词:温湿度测量系统精度高速度快体积小 Abstract: The temperature and humidity measurement system is based on singleline type temperature sensor DS18B20, capacitive moisture sensorSCM STC89C52 for temperature humidity measurement and respectively by LCD display. The line 1602 Temperature sensor DS18B20 is singleline type, volume super-small, hardware KaiXiao ultra-low, strong anti-jamming capability, high precision, additional features strong ideal single-chip microcomputer temperature sensor, real-time temperature data, depending on the directive given readable. HS1101 is capacitive sensor, air humidity in different humidity presents different capacitance, 0% ~ 100% RH humidity, within the scope of capacitance change to 200PF, from 162PF error for 2% RH error. e can see its precision is very high, in order to reflect the capacitance change, the system USES the 555 more harmonic concussion circuits produce different frequency, which is used to detect humidity. SCM acquisition to two sensor gives data processing and calculated, the current temperature and humidity and give the display on the LCD panel. This system has a readable, high stability, reaction speed, measured values exact characteristic. Keywords: temperature and humidity measurement system high precision speed small volume

温度传感器DS18B20工作原理以及引脚图

温度传感器: DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离 多点温度检测系统。 2 DS18B20的内部结构 DS18B20内部结构如图1所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源 接线方式时接地,见图4)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+

1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 图2DS18B20的管脚排列 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S 为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 温度值高字节 高低温报警触发器TH和TL、配置寄存器均由一个字节的

stm32制作ds18b20温度传感器

折腾了一晚上,才把DS18B20的驱动移植到STM32上来。以前在51上使用过单个和多个连接的DS18B20,有现成的程序了,以为很快就能弄好,结果还是被卡住了,下面说下几个关键点吧: 首先是延时的问题,STM32上若用软件延时的话不太好算时间,所以要么用定时器要么用SysTick这个定时器来完成延时的计算。相比之下用SysTick来的简单方便点。 接着是STM32 IO脚的配置问题,因为51是双向的IO,所以作为输入输出都比较方便。STM32的IO是准双向的IO,网上查了下资料,说将STM32的IO配置成开漏输出,然后外接上拉即可实现双向IO。于是我也按规定做了,但调了老半天都不成功,是因为DS18B20没有响应的信号。在烦躁之际只有试下将接DQ的IO分别拉低和拉高看能不能读入正确的信号。结果果然是读入数据不对,原来我将IO配成开漏输出后相当然的以为读数据是用GPIO_ReadOutputDataBit(),这正是问题所在,后来将读入的函数改为GPIO_ReadInputDataBit()就OK了。现在温度是现实出来了,但跟我家里那台德胜收音机上显示的温度相差2度,都不知道是哪个准了,改天再找个温度计验证下。 下面引用一段DS18B20的时序描述,写的很详细: DS18B20的控制流程 根据DS18B20的通信协议,DS18B20只能作为从机,而单片机系统作为主机,单片机控制DS18B20完成一次温度转换必须经过3个步骤:复位、发送ROM指令、发送RAM指令。每次对DS18B20的操作都要进行以上三个步骤。

复位过程为:单片机将数据线拉低至少480uS,然后释放数据线,等待15-60uS让DS18B20接收信号,DS18B20接收到信号后,会把数据线拉低60-240uS,主机检测到数据线被拉低后标识复位成功; 发送ROM指令:ROM指令表示主机对系统上所接的全部DS18B20进行寻址,以确定对那一个DS18B20进行操作,或者是读取某个DS18B20的ROM序列号。 发送RAM指令:RAM指令用于单片机对DS18B20内部RAM进行操作,如读取寄存器的值,或者设置寄存器的值。 具体的RAM和RAM指令请查阅DS18B20的数据手册。下面简单介绍: 1、ROM操作命令:DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。一旦总线检测到从属器件的存在,它便可以发出器件ROM操作指令,所有ROM 操作指令均为8位长度,主要提供以下功能命令: 1 )读ROM(指令码0X33H):当总线上只有一个节点(器件)时,读此节点的64位序列号。如果总线上存在多于一个的节点,则此指令不能使用。 2 )ROM匹配(指令码0X55H):此命令后跟64位的ROM序列号,总线上只有与此序列号相同的DS18B20才会做出反应;该指令用于选中某个DS18B20,然后对该DS18B20进行读写操作。 3 )搜索ROM(指令码0XF0H):用于确定接在总线上DS18B20的个数和

基于DS18B20的温度传感器设计报告

目录 一、概述 (2) 二、内容 (2) 1、课程设计题目 (2) 2、课程设计目的 (2) 3、设计任务和要求 (2) 4、正文 (3) (一)、方案选择与论证 (3) 三、系统的具体设计与实现 (5) (1)、系统的总体设计方案 (5) (2)、硬件电路设计 (5) a、单片机控制模块 (5) b、温度传感器模块 (5) 四、软件设计 (11) 1、主程序 (11) 2、读出温度子程序 (11) 3、温度转换命令子程序 (11) 4、计算温度子程序 (12) 五、完整程序如下: (12) 六、设计体会 (17) 七、参考文献 (17)

一、概述 单片机技术是一项运用广泛且极具发展潜力的技术。 2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。 本文主要介绍了一个基于89S52单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 二、内容 1、课程设计题目 基于DS18B20的温度传感器 2、课程设计目的 通过基于MCS-52系列单片机AT89C52和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。 3、设计任务和要求 以MCS-52系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为±0.5摄氏度。温度显示采用LCD1602显示,两位整数,一位小数。

DS18B20温度测量设计实验报告2

信息工程学院 成绩课程设计说明书(论文) 题目: 温度测量 课程名称: 单片机课程设计 专业: 电子信息工程 班级: 电信0901 学生姓名: 学号: 31 16 10 设计地点: 3#北603 指导教师: 设计起止时间:2012年5月2日至2012年5月22日

目录 一、设计功能要求: (3) 二、系统总体设计方案: (5) 1、基本设计思想: (5) 2、实施方案论述: (6) 三、系统分析与设计: (6) 1、程序流程图及说明 (6) 2、温度计的的电路设计 (9) 四、源码清单: (12) 五、改进意见与收获体会: (18) 六、主要参考资料: (19)

一、设计功能要求: 本次的设计主要是利用了数字温度传感器DS18B20测量温度信号,计算后可以在LCD数码管上显示相应的温度值。其温度测量范围为-55~125℃,精确到0.5℃。 本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。数字温度计所测量的温度采用数字显示,控制器使用单片机89C51,测温传感器使用DS18B20,用LCD1602实现温度显示。从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。 本次使用的单片机89C51和MCS-51是完全兼容的,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器。其主要特点如下: ?8位CPU。 ?工作频率最高为24M。 ?128B数据存储器。 ?4KB程序存储器。 ?程序存储器的寻址空间为64KB。 ?片外数据存储器的寻址空间为64KB。 ?128个用户位寻址空间。 ?21个字节特殊功能寄存器。 ?4个8位的并行I/O接口:P0、P1、P2、P3。 ?两个16位定时/计数器。 ?两个优先级别的5个中断源。 ?1个全双工的串行I/O接口,可多机通信。 ?111条指令,喊乘法指令和除法指令。 ?较强的位处理能力。 ?采用单一+5V电源。 对于89C52而言,不同之处在于:有256B的数据存储器、8K的程序存储器、全双工串行I/O接口、6个中断源、3个16位定时/计数器,工作频率可升直33Mhz。比51拥有更高的性能。

实验报告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为符号位。

基于51单片机及DS18B20温度传感器的数字温度计程序及详细注释

欢迎光临我的学习交流博客:https://www.wendangku.net/doc/9210441277.html, 上面有很多我个人的嵌入式开发经验总结、程序源码及详细注释。 邮箱:zpz2005@https://www.wendangku.net/doc/9210441277.html, 电路实物图如下图所示: 电路原理图如下图所示:

C语言程序如下所示: /******************************************************************** * 程序名; 基于DS18B20的测温系统 * 功能:实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;在调节上下限* 温度模式下,K2是实现加1功能,K1是实现减1功能,K3是用来设定上下限温* 度正负的。 * 编程者:ZPZ * 编程时间:2009/10/2 *********************************************************************/ #include #include #define uint unsigned int #define uchar unsigned char uchar max_int=0x00,max_dot=0x00,min_int=0x00,min_dot=0x00; bit s=0,s1=0; #include"ds18b20.h" #include"keyscan.h" #include"display.h" /***********************主函数************************/ void main() { beer=0;

DS18B20数字温度测量报警程序1

硬件电路: 软件设计: /****************************************************************** 程序名称:DS18B20温度测量、报警系统 简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度 可设置上限报警温度、下限报警温度 即高于上限值或者低于下限值时蜂鸣器报警 默认上限报警温度为38℃、默认下限报警温度为5℃ 报警值可设置范围:最低上限报警值等于当前下限报警值 最高下限报警值等于当前上限报警值 将下限报警值调为0时为关闭下限报警功能 编写:吴彦刚 ******************************************************************/ #include #include "DS18B20.h" #define uint unsigned int #define uchar unsigned char //宏定义 #define SET P3_1 //定义调整键 #define DEC P3_2 //定义减少键 #define ADD P3_3 //定义增加键

#define BEEP P3_7 //定义蜂鸣器 bit shanshuo_st; //闪烁间隔标志 bit beep_st; //蜂鸣器间隔标志 sbit DIAN = P2^7; //小数点 uchar x=0; //计数器 signed char m; //温度值全局变量 uchar n; //温度值全局变量 uchar set_st=0; //状态标志 signed char shangxian=38; //上限报警温度,默认值为38 signed char xiaxian=5; //下限报警温度,默认值为38 uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; /*****延时子程序*****/ void Delay(uint num) { while( --num ); } /*****初始化定时器0*****/ void InitTimer(void) { TMOD=0x1; TH0=0x3c; TL0=0xb0; //50ms(晶振12M) } /*****定时器0中断服务程序*****/ void timer0(void) interrupt 1 { TH0=0x3c; TL0=0xb0; x++; } /*****外部中断0服务程序*****/ void int0(void) interrupt 0 { EX0=0; //关外部中断0 if(DEC==0&&set_st==1) { shangxian--; if(shangxian

相关文档
相关文档 最新文档