搜档网
当前位置:搜档网 › 基于MSP430G2553和ds18b20的测温系统

基于MSP430G2553和ds18b20的测温系统

基于MSP430G2553和ds18b20的测温系统
基于MSP430G2553和ds18b20的测温系统

嵌入式控制系统与应用

课程论文

题目: 基于MSP430G2553和ds18b20的测温系统

院系名称:

专业班级:

学生姓名:

学号:

摘要

为了在现实生活和工业生产及过程控制中准确测量温度,设计了一种基于低功耗

MSP430单片机的数字温度计,整个系统通过单片机MSP430控制DS18B20读取温度,采用LCD1602显示,温度传感器DS18B20与单片机之间通过串口进行数据传输,且外围的整合性高,DS18B20只需一个端口即可实现数据通信,连接方便,通过多次实验证明,该系统的测试结果与实际环境温度一致,除了具有接口电路简单,测量精度高,误差小,可靠性高等特点外,其成本低,功耗低的特点使其拥有更广阔的应用前景。

关键字:DS18B20 MSP430G2553单片机液晶显示

目录

1 引言 (1)

2 测温系统硬件构成 (1)

2.1 硬件设计 (1)

3 软件设计 (6)

3.1 总体设计流程图 (6)

3.2 初始化模块 (6)

4 实验展示 (7)

4.1 实物整体展示 (7)

4.2 报警显示和蜂鸣器报警 (8)

5设计心得 (10)

6本设计的不足和反思 (11)

参考文献 (12)

附录 (13)

附一:元器件及仪器明细表 (13)

附二:实验设计程序 (13)

1 引言

温度的测量和控制在储粮仓库、智能楼宇空调控制及其它的工农业生产和科学研究中应用广泛。温度检测的传统方法是使用诸如热电偶、热电阻、半导体PN结(如AD590)之类的模拟传感器,经信号取样电路、放大电路和模数转换电路处理,获取表示温度值的数字信号,再交由微处理器或DSP处理。被测温度信号从敏感元件接收的非电模拟量开始,到转换为微处理器可处理的数字信号之间,设计者须考虑的线路环节较多,相应测温装置中元器件数量难以下降,随之影响产品的可靠性及体积微小化。由此会造成整个检测系统有较大的偏差.稳定性和抗干扰性能都较差。本文设计一种基于数字温度传感器DSl8820的小型测温系统,主控芯片采用TI公司的MSP430单片机,数字温度传感器通过单总线与单片机连接,系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,可应用于仓库测温、楼宇空调控制和生产过程监控等领域。

2 测温系统硬件构成

2.1 硬件设计

2.1.1 系统硬件设计总方案

系统硬件设计总方案如图1所示:

图1 硬件设计方框图

电源系统由miniUSB输出5V以及芯片LE33组成,实现对MSP430G2553核心处理芯片、LCD1602液晶显示等硬件模块提供所需电源;显示部分由LCD1602液晶对温度进行实时显示;软件设计部分包括模拟串口对DS18B20数据进行读取以及LCD1602液晶的驱动和显示。

2.1.2 MSP430G2553引脚功能说明

本次设计需要用到MSP430单片机的1脚电源、16脚复位端、20脚接地端、配置P2.2口为待测信号输入端,P2.0为LCD片选信号端,P1为LCD并行数据输出端,如表1所示。图2所示为MSP430G2553单片机的最小系统图。

表1 MSP430G2553引脚及功能说明

图2 MSP430G2553最小系统

2.1.3 LCD1602引脚功能说明

LCD12864液晶显示屏用到电源接口线,脚背光电源接口线,脚并行接口选择。LCD1602引脚功能如表2所示。

表2 LCD1602引脚功能说明

2.1.4 DS18B20说明

DSl8820是美国DALLAS公司推出的单总线数字测温芯片。它具有独特的单线接口方式,将非电模拟量温度值转换为数字信号输出仅需占用1位/A)端口,能够直接读取被测物体的温度值,提高了抗干扰能力和测量精度。它体积小,电压适用范围宽(3.0V一5.5v),可以采用外部供电方式(如图1所示),也可以采用寄生电源方式.即从数据线上获得电源。用户还可以通过编程实现9一12位的温度读数,即具有可调的温度分辨率。因此它的实用性和可靠性比同类产品更高.DSl8820采用3脚TO一92封装,形如三极管:同时也有8脚SOIC封装。测

温范围为一55℃一+125。C,在一10℃一+85℃范围内,精度为±0.5℃。每一个DSl8820芯片的ROM中存放一个“位ID号:前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。又因其可采用寄生电源方式供电。因此,一条总线上可以同时挂接数个DSl8820,可方便的实现多点测温系统。另外用户还可根据实际情况自设定非易失性温度报警上下限值TH和TL(掉电后依然保存)。DSl8820检测到的温度值经转换为数字量后,自动存入存储器中,并与设定值TH或TL进行比较,当测量温度超出给定范围时,就输出报警信号,并自动识别是高温超限还是低温超限。

图3 DS18B20引脚连接

图4 DS18B20温度寄存器格式

图5 温度/数据关系

2.1.5UART转USB电路

图6 UART电路

PL2303 是Prolific 公司生产的一种高度集成的RS232-USB 接口转换器,可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利联接的解决方案。该器件内置USB功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART,只

需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备所以2000年左右开始经常推荐使用该款芯片;该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设;另一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计.

3 软件设计

3.1 总体设计流程图

系统软件设计包括测量初始化部分、显示部分、报警部分。系统软件整体流程图如图7所示。

图7 系统软件整体设计流程图

3.2 初始化模块

设备初始化包括关闭看门狗,I/O口输入/输出功能的配置,时钟初始化,端口初始化以及液晶初始化,其流程图如图8所示。

图8 系统初始化流程图

3.3 显示模块

首先根据LCD1602液晶的时序图写出液晶驱动函数,并调用驱动函数完成在指定位置处显示字符的功能函数,这样通过定时刷新液晶屏就可以显示温度值了。

4 实验展示

4.1 实物整体展示

图9 实物整体展示图

4.2 报警显示和蜂鸣器报警

当温度t>30℃时蜂鸣器报警,红灯闪亮模拟通风降温。LCD显示警告。

当温度t<27℃时蜂鸣器报警,黄灯闪亮模拟加热升温。LCD显示警告。

当温度27℃

图10 实物调试图

图11 实物调试图

5设计心得

通过嵌入式控制系统与应用这门课,通过这门课的学习,我对MSP430G2553有了较为深入的了解。这门课王老师通过分工合作,同学讲解,同学讨论,以及课后周记总结这样的方式来进行的,不仅提高了自己的自学能力和学习主动性,而且使自己得到了很多方面基本技能的训练。这次做的设计所需要的知识有很多在书本上是找不到的,而且这些知道并不是像以前一样由老师系统的详细的教授。所以,这就强迫我去图书馆和网上查阅资料,不过这也培养了我查阅资料的能力,让我受益颇多。

在第一节课上完之后觉得实在是无从下手,根本不知道干什么,对外电路和内电路都十分迷茫,可是后来通过同学之间的分工合作,而且我们先从非常简单的小实验入手,一点一点我就每次可都有了很多收获,通过同学讲解中断,定时器,计数器,捕捉,比较器,PWM,串口,ADC,低功耗,触屏等,我对这些知识能够拿来应用,并能实现基本功能要求,能够把程序弄明白,发现自己会的越来越多,一次课比一次课进步。

通过本次实验,让我对MSP430G2553芯片的输入与输出以及中断查询方式有了一定的了解。MSP430G2553不像我们之前接触的51单片机可以直接进行位操作,只能运用C语言逻辑运算。

实验虽然很简单,但也费了不少功夫。

首先,对CCS软件操作不熟练,Grace工程可以快速方便地帮助我们配置寄存器,但是自己还不太熟悉。设置断点和单步调试,是一种很好的找到问题的方法。

而且我学会了多文件编写软件,以后要尽量用多文件操作,把之前写好的程序做成头文件,方便以后调用。

其次,DS18B20是单总线的通讯。硬件连接较容易,但是时序要求很严格,软件编程一开始,读不出数据。千方百计地调整时序,精确延时,依旧没有读出温度数据。查阅大量资料发现,DS18B20的接法不通,会影响到时序问题。寄生模式和单独电源供电模式,他们的时序一定的区别。而且电源和地直接接不接10k电阻,时序也不一样的。这一块废了很大功夫。

最后,MSP430的IO口最大6mA,整个芯片最大电流总和不超过48mA。然而有

源蜂鸣器驱动需要130mA,所以就要加9012NPN三极管来获得大电流。9012的常温最大输出500mA电流。

6本设计的不足和反思

最为一个温度监控系统,应该加上按钮,当温度异常,蜂鸣器报警时,按下复位按钮,蜂鸣器停止报警,但是红灯继续闪烁。当故障排除后,红灯灭,系统恢复正常。如果一分钟后故障没有排除,蜂鸣器再次报警。

检测的实时温度应该通过UART上传到上位机,记录下来。

参考文献

[1] 胡大可. MSP430系列超低功耗16位单片机[M]. 北京航空航天大学出版社, 2001.

[2] 童诗白, 华成英. 模拟电子技术基础(第四版),清华大学出版社, 2006.

[3] MSP430G2553 Data Sheet.

[4] MSP430中文手册.

[5] Op37 Data Sheet.

[6] MSP430G2系列单片机原理与实践教程.

[7]MSP-EXP430G2系列单片机试验板使用指南.

附录

附一:元器件及仪器明细表

见另外excel文档。

附二:实验设计程序

/*

* main.c

*/

#include"msp430g2553.h"

#include"LCD1602.h"

#include"DS18b20.h"

int main( void )

{

// Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;

P1DIR =0XFF;

P2DIR = BIT0+BIT1+BIT2+BIT3+BIT4+BIT5;

// P2DIR=BIT3+BIT4+BIT5;

unsigned int t;

LCD1602_Init();

DS18b20_Init();

while(1)

{

P2OUT&=~BIT3;//红灯灭

P2OUT&=~BIT4;//绿灯灭

// P2OUT&=~BIT5;//蜂鸣器关

t=get_one_temperature();

if(t>=300)

{

P2OUT|=BIT3;//红灯亮

LCD1602_write_string(1,1,"warning!!!!!!!!");

LCD1602_write_string(2,0,"hig-");

LCD1602_display_temperature(2,4,t);

P2OUT|=BIT5;//蜂鸣器kai

}

if(t<=270)

{

P2OUT|=BIT4;//绿灯亮

LCD1602_write_string(1,1,"warning!!!!!!!!!");

LCD1602_write_string(2,0,"low-");

LCD1602_display_temperature(2,4,t);

P2OUT|=BIT5;//蜂鸣器kai

}

if(t<300&&t>270)

{

P2OUT&=~BIT5;//蜂鸣器关

LCD1602_write_string(1,1,"The temprature ");

LCD1602_write_string(2,0,"is ");

LCD1602_display_temperature(2,4,t);

}

}

}

/*

* DS18b20.H

*

* Created on: 2015-6-28

* Author: Administrator

*/

#ifndef DS18B20_H_

#define DS18B20_H_

#include"msp430g2553.h"

/*********************************

** 引脚定义 **

*********************************/

#define DQ_1 P2OUT |= BIT2

#define DQ_0 P2OUT &= ~BIT2

#define DQ_in P2DIR &= ~BIT2

#define DQ_out P2DIR |= BIT2

#define DQ_val (P2IN & BIT2)

/**********************************

**** 命令字符定义 *****

**********************************/

#define Read_ROM 0x33 //读ROM

#define Match_ROM 0x55 //匹配ROM

#define Skip_ROM 0xcc //跳过ROM

#define Search_ROM 0xf0 //搜索ROM

#define Alarm_Search 0xec //告警搜索

#define Convert_Temperature 0x44 //温度转换

#define Read_Scratchpad 0xbe //读暂存存储器9字节内容

#define Write_Scratchpad 0x4e //写暂存存储器,写的是TH and TL ,接着发送两位数据就

可以

/*********************************

** 定义变量 **

*********************************/

//extern unsigned int Check_val;//初始化检测变量

//extern unsigned int Temp;//存放温度

//extern unsigned int Temp_l;//存放温度低四位

//extern unsigned int Temp_h;//存放温度高四位

/************************************

**** 函数定义 ****

************************************/

extern void DS18b20_Port_Init(void);

extern unsigned int DS18b20_Init(void);

extern void DS18b20_write_byte(unsigned int dat);

extern unsigned int DS18b20_read_byte(void);

extern unsigned int get_one_temperature(void);

#endif/* DS18B20_H_ */

/*

* DS18B20.C

*

* Created on: 2015-6-28

* Author: Administrator

*/

#include"msp430g2553.h"

/***********************

**** DQ 接 p2.4 ***

***********************/

#include"DS18b20.h"

void DS18b20_Port_Init(void)

{

P2DIR = BIT2;

}

/***************************************************************************** **

DS18b20 操作时序:

1.DS18b20 初始化

2.对64位ROM进行操作

读ROM

搜索ROM

跳过ROM

告警搜索

3.对寄存器进行操作

包括读取温度……

4.精度默认的为0.0625 ,无法重新设定,没找到相应的指令

相对应的转换时间为750ms

****************************************************************************** *

****************************************************************************** *

DS18b20 初始化方法:

1 主机发送 480 - 960 us 的低电平,释放总线

2 等待 15 - 60 us

3 检测DQ上是否有低电平出现

有:复位成功,通常时间为 60-240 us

无:复位失败,继续等待

4 DQ上出现低电平后,低电平持续15us,然后DS18b20开始对单片机发送的数据进行采样

****************************************************************************** */

unsigned int DS18b20_Init(void)

{

unsigned Check_val;

DQ_out;

DQ_0;

__delay_cycles(600);

DQ_1;

__delay_cycles(60);

DQ_in;

_NOP();

if(DQ_val==1)

{

Check_val = 0; //初始化失败

}

if(DQ_val==0)

{

Check_val = 1; //初始化成功

}

__delay_cycles(10);

DQ_out;

DQ_1;

__delay_cycles(100);

return Check_val;

}

/***************************************************************************** **

DS18b20 写数据方法:

1 DS18b20 是?一位一位?的写‘0’和‘1’

2 每写一次‘1’或‘0’为一个周期,每个周期约为 45 - 60 us

3 DQ拉低 1 us ,表示写周期开始,释放总线,让DQ随写入的值变化

4 若写1: DQ拉高至少60us,保证在采样周期内采到的值均为高

5 若写0: DQ拉低至少60us,保证在采样周期内采到的值均为低

6 释放总线

****************************************************************************** *

* 单片机发送数据时,是从写的数据的最高位开始发送*/

void DS18b20_write_byte(unsigned int dat)

{

unsigned int i;

for(i = 0; i < 8;i++)

{

DQ_0;

__delay_cycles(2);

if(dat & 0X01)

DQ_1;

else

DQ_0;

__delay_cycles(60);

dat >>= 1;;

DQ_1;

__delay_cycles(10);

}

}

/***************************************************************************** *********************

DS18b20 读数据方法:

1 DS18b20 是?一位一位?的读‘0’和‘1’

2 每读一次‘1’或‘0’为一个周期,每个周期约为 45 - 60 us

3 DQ拉低 1 us ,表示读周期开始,释放总线,让DQ随DS18b20传送的值变化

4 若传1:则检测到高电平,持续时间为60us左右,所以检测一次后要延时60us,再检测下一位传送的数据

5 若传0:则检测到低电平,持续时间为60us左右

****************************************************************************** ********************

*DS18b20 传送数据是从最低位开始传*

*所以单片机在接受数据时,存储变量一共移动8次,将所有数据都接收并回到最高位*/

unsigned int DS18b20_read_byte(void)

{

unsigned i;

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

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

基于AT89C51单片机的测温系统

引言 本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。 .

一、设计要求 通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。 以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为0.5摄氏度。温度显示采用3位LED数码管显示,两位整数,一位小数。具有键盘输入上下限功能,超过上下限温度时,进行声音报警。 二、基本原理 原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越数字温度传感器的温度检测及显示的系统原理图如图DS1820限检测等。基于 图 2.1 基于DS1820的温度检测系统框图 三:主要器件介绍(时序图及各命令序列,温度如何计算等) 系统总体设计框图 由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 测温电路设计总体设计框图如图所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。 .. . 测温电路设计总体设计框图图3.11.控制模块 AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公

基于单片机的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的温度测量系统设计

课程设计(论文) 题目名称基于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的多点温度测量系统(毕业设计)

目录 中文摘要......................................................................................................... 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的温度测量系 统 组员:计佳辰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的测温原理

3.2.3 DS18B20的测温原理 DS18B20的测温原理如图3-2-2-6所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ℃ 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。 另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。各种操作的时序图与DS1820相同。 图3-2-3-1 DS18B20与处理器连接图 3.2.4 DS18B20与单片机的典型接口设计 以MCS51单片机为例,图3-2-3-1中采用寄生电源供电方式,P1 1口接

DS18B20中文资料

第一部分:DS18B20的封装和管脚定义 首先,我们来认识一下DS18B20这款芯片的外观和针脚定义,DS18B20芯片的常见封装为TO-92,也就是普通直插三极管的样子,当然也可以找到以SO(DS18B20Z)和μSOP(DS18B20U)形式封装的产品,下面为DS18B20各种封装的图示及引脚图。 了解了这些该芯片的封装形式,下面就要说到各个管脚的定义了,如下表即

为该芯片的管脚定义: 上面的表中提到了一个“奇怪”的词——“寄生电源”,那我有必要说明一下了,DS18B20芯片可以工作在“寄生电源模式”下,该模式允许DS18B20工作在无外部电源状态,当总线为高电平时,寄生电源由单总线通过VDD 引脚,此时DS18B20可以从总线“窃取”能量,并将“偷来”的能量储存到寄生电源储能电容(Cpp)中,当总线为低电平时释放能量供给器件工作使用。所以,当DS18B20工作在寄生电源模式时,VDD引脚必须接地。 第二部分:DS18B20的多种电路连接方式 如下面的两张图片所示,分别为外部供电模式下单只和多只DS18B20测温系统的典型电路连接图。 (1)外部供电模式下的单只DS18B20芯片的连接图

(2)外部供电模式下的多只DS18B20芯片的连接图 这里需要说明的是,DS18B20芯片通过达拉斯公司的单总线协议依靠一个单线端口通讯,当全部器件经由一个三态端口或者漏极开路端口与总线连接时,控制线需要连接一个弱上拉电阻。在多只DS18B20连接时,每个DS18B20都拥有一个全球唯一的64位序列号,在这个总线系统中,微处理器依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址,从而允许多只DS18B20同时连接在一条单线总线上,因此,可以很轻松地利用一个微处理器去控制很多分布在不同区域的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工作原理以及引脚图

温度传感器: 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、配置寄存器均由一个字节的

基于CC2430和DS18B20的无线测温系统设计

基于CC2430和DS18B20的无线测温系统设计 关键字: CC2430 DS18B20 无线测温系统 目前,很多场合的测温系统采用的还是有线测温设备,由温度传感器、分线器、测温机和监控机等组成,各部件之间采用电缆连接进行数据传输。这种系统布线复杂、维护困难、成本高,可采用无线方案解决这些问题。无线测温系统是一种集温度信号采集、大容量存储、无线射频发送、LED(或LCD)动态显示、控制与通信等功能于一体的新型系统。 本文从低功耗、小体积、使用简单等方面考虑,基于射频SoC CC2430和数字温度传感器DS18B20设计了一个无线测温系统,整个系统由多个无线节点和1个基站组成。无线节点工作在各个测温地点,进行温度数据采集和无线发送。基站与多个节点进行无线通信,并通过数码管将数据显示出来,同时可以通过RS-232串口将数据发送给PC。 CC2430简介 CC2430是TI/ChipconAs公司最新推出的符合2.4G IEEE802.15.4标准的射频收发器.利用此芯片开发的无线通信设备支持数据传输率高达250 kbit/s可以实现多点对多点的快速组网。CC2430的主要性能参数如下: (1)工作频带范围:2.400~2.483 5 GHz;(2)采用IEEE802.15.4规范要求的直接序列扩频方式; (3)数据速率达250 kbit/s码片速率达2 MChip/s; (4)采用o-QPSK调制方式; (5)超低电流消耗(RX:19.7mA,TX:17.4mA)高接收灵敏度(-99 dBm); (6)抗邻频道干扰能力强(39 dB); (7)内部集成有VCO、LNA、PA以及电源整流器采用低电压供电(2.1~3.6V); (8)输出功率编程可控; (9)IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、16bit CRC 校验、电源检测、完全自动MAC层安全保护(CTR,CBC-MAC,CCM); (10)与控制微处理器的接口配置容易(4总线SPI接口); (11)采用QLP-48封装,外形尺寸只有7×7mm。CC2430只需要极少的外围元器件,其典型应用电路如图2所示。它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路3个部分。

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 构成测温系统,测量的温度精度达到0.1 度,测量的温度的范围在-20度到+50度之间,用4位数码管显示出来。 [硬件电路图] [实验原理] DS18B20 数字温度计是DALLAS 公司生产的1-Wire,即单总线器件,具有线 路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。DS18B20 产品的特点(1)、只要求一个 I/O口即可实现通信。(2)、在DS18B20中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在-55。C到+125。C之间。(5)、数字温度计的分辨率用户可以从9位到12位选择。(6)、内部有温度上、下限告警设置。 DS18B20详细引脚功能描述1 GND地信号;2 DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;3 VDD可选择 的VDD引脚。当工作于寄生电源时,此引脚必须接地。 DS18B20的使用方法。由于DS18B20采用的是1-Wire总线协议方式,即在一根 数据线实现数据的双向传输,而对AT89S51单片机来说,我们必须采用软件的方 法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一 根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有 严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。

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

欢迎光临我的学习交流博客:https://www.sodocs.net/doc/db14679612.html, 上面有很多我个人的嵌入式开发经验总结、程序源码及详细注释。 邮箱:zpz2005@https://www.sodocs.net/doc/db14679612.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的智能温度检测系统

基于DS18B20的智能温度检测系统

电子系统综合设计 题目基于DS18B20的智能温度检测系统学号 姓名 所属系机械工程学院 专业电子信息工程 班级10级电信本一班 指导教师 摘要

DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。 在此次设计中,我们采用LED显示温度,实现并焊接制作一个具有多种I/O接口的综合性功能电路,温度的测量值要精确到小数点的后1位,并采用单片机编程的方式使其使用方便、精度高。另外还通过protues软件对设计的数字钟进行了有效的仿真,使得设计的电子产品更具有实用性,该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。 关键字:温度测量;LED;数字温度传感器;单片机

Abstract As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interfa ce .This paper introduces the application of DS18B20 with singl e chip processor. The system is constituted by two parts the temperature measure d part and displayed part. The temperature measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .Th is system is applied in such domains as warehouse detecting te mperature;air-conditioner controlling system in building and su pervisory productive process etc. Key words:temperature measure;LED;digital thermometer;si ngle chip processor

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

DS18B20温度测量显示实验

DS18B20温度测量显示实验 发布时间:2006年8月15日 19时10分 [实验要求] 用单片机控制实验板上的DS18B20数字温度传感器,读取当前环境温度,精度达0.1度,温度范围0-99度,并用数码管的前三位显示出来。同时实验板上的单片机还能把温度值通过串口线发送到计算机,在计算机上安装该目录下的.exe文件后,打开应用程序可看到温度值。 注意:DS18B20 数字温度传感器是DALLAS 公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。DS18B20 产品的特点(1)、只要求一个I/O 口即可实现通信。(2)、在DS18B20 中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在 -55 到+125摄氏度之间。(5)、数字温度计的分辨率用户可以从9 位到12 位选择。(6)、内部有温度上、下限告警设置。 DS18B20 详细引脚功能描述1、GND 地信号;2、DQ数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源;3、VDD可选择的VDD 引脚。当工作于寄生电源时,此引脚必须接地。DS18B20 的使用方法。由于DS18B20 采用的是1-Wire 总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52 单

片机来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 [实验目的] 学习单总线器件的读写方法,数值合成,数字类型变化等。 [硬件电路]

DS18B20温度传感器课程设计报告

单片机课程设计报告 设计题目: DS18B20温度传感器 班级: 09电信(2)班 姓名: xxx 学号: xxx 指导教师: xxx 调试地点: xxx

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

使用DS18B20温度传感器测温

第11章使用DS18B20温度传感器测温 11.1 概述 现实生产生活中,小到测量体温的温度计,大到航天飞机的温控系统,处处都离不开温度测量。工业生产中的三大指标(流量、压力、温度)之一就是温度,温度测量可以说是无处不在,遍布了我们生活生产的方方面面。 DS18B20温度传感器是美国DALLAS半导体公司生产的数字化温度传感器,它与以往模拟量温度传感器不同,数字化是其一大特点,它能将被测环境温度直接转化为数字量,并以串行数据流的形式传输给单片机等微处理器去处理。DS18B20温度传感器的另一个主要特点是它是单总线的,即它与单片机等微处理器连接时,只需占用一个I/O管脚,并且不再需要其它任何外部元器件,这大大简化了它与但单片机之间的接口电路。 11.2 DS18B20温度传感器介绍 目前,使用最普遍的DS18B20温度传感器是三脚TO-92直插式封装这一种,这种封装的DS18B20实物如图11-1所示。可以看到它体积很小,只有三只管脚,外形与一般的三极管极其相似。图11-2是其三脚TO-92直插式封装图,表11-1列出了DS18B20各个引脚的定义。 如图11-1 如图11-2 表11-1 DS18B20引脚定义。 1、DS18B20温度传感器特性简介 ◆独特的单总线(一条线)接口,与微处理器通信只需一个I/O管脚,且硬件连接无需其它外部元件; ◆测量结果直接输出数字量,可直接与微处理器通信; ◆供电电压范围3.0V~5.5V;在寄生电源方式下可有数据线供电; ◆测温范围-55℃~+125℃;在-10℃~+85℃范围内,测量精度可达±0.5℃; ◆可编程的9~12位测温分辨率,对应的可分辨温度值分别为0.5℃,0.25℃,0.125℃, 0.0625℃;12位分辨率时的温度测量转换最长时间(上限)只有750ms; ◆每一片DS18B20都有自己独一无二的芯片号码;多片DS18B20可以并联在一条数据总线上实现不同地点的多点组网; ◆应用范围包括温度调控,工业现场测温,消费类产品,温度计及热敏系统等。 2、DS18B20温度传感器测温工作原理 DS18B20的核心功能就是测量被测环境温度并直接转换成为数字量。我们使用DS18B20测温,就是要将DS18B20转换成的数字量温度值从DS18B20内部读出,送入单片机进行处理,所以了解DS18B20内部的存储器的结构和组成是必要的。另外,控制DS18B20测温和读取温度值的指令也是必不可少的。以下就从这两个方面逐个说明。 ⑴DS18B20内部的存储器 笼统而言,可以说DS18B20内部的存储器有三个。一个是64位光刻ROM;另一个是中间结果暂存RAM;第三个是E2RAM。 ①64位光刻ROM 前面已经提及,每一片DS18B20都有一个独一无二的号码,用于唯一标识当前这片DS18B20。这个号码是DS18B20的生产厂家DALLAS公司在生产该片DS18B20时固化在其内部ROM中的,共有64位,所以称为64位光刻ROM号码,其数据格式如图11-3所示。 图11-3 64位光刻ROM数据格式

相关主题