当前位置:文档之家› DS18B20温度传感器,蜂鸣器实验

DS18B20温度传感器,蜂鸣器实验

DS18B20温度传感器,蜂鸣器实验
DS18B20温度传感器,蜂鸣器实验

学年论文

(课程论文、课程设计)

题目:DS18B20温度传感器,蜂鸣器实验姓名

学号:

所在学院:

专业年级:

2015年 9月 21日

目录

1 绪论 ...........................................

1.1本论文的目的...................................................

1.2 关于AT89C52单片机基本概念....................................

1.3 使用的软件介绍................................................

1.4本论文的主要内容...............................................

2 基于单片机的DS18B20温度传感器用数码管显示温度.....

2.1DS18B20传感器介绍

2.2数码管显示数字的基本原理

2.3电路的连接方法.................................................

2.4系统功能方框图.................................................

2.5系统的程序 ....................................................

3 单片机蜂鸣器实验 ..................................................

3.1蜂鸣器介绍.....................................................

3.2系统功能图

3.3电路的连接方法.................................................

3.4系统的基本设计方法.............................................

3.5系统C程序..................................................... 4.总结 ...........................................

1.绪论

1.1 本论文的背景

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温度计就是一个典型的例子。

数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。

1.2 关于AT89C52单片机基本概念

1)、何谓单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。

2)、MCS51单片机和8051、8031、89C51等的关系我们平常老是讲8051,又有什么8031,现在又有89C51,它们之间究竟是什么关系? MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。

1.3 使用的软件介绍

单片机的程序设计需要在特定的编译器中进行。编译器完成对程序的编译、连接等工作并且最终生成可执行文件(.hex 文件)。对单片机程序的开发,一般采用Keil 公司的μVision 系列的集成开发环境。μVision 开发工具当前的最高版本是μ

Vision4,它支持汇编语言以及C51 语言的程序设计。本章主要介绍μVision4 集成开发环境,以及如何运用Vision4 集成开发环境进行单片机程序设计与仿真。

Keil μVision 系列是非常优秀的编译器,受到广大单片机设计者的广泛使用。其特点如下:

●☆支持汇编语言、C 语言等多种单片机设计语言;

●☆可视化的文件管理,界面友好;

●☆支持丰富的产品线,除了51 以及兼容的单片机内核外,还增加了对ARM 核产品的支持;

●☆具有完备的编译连接工具;

●☆具备丰富的仿真调试功能,可以仿真并口、串口、定时/计数器、中断、D/A 和A/D 资源;

●☆内嵌RTX-51 实时多任务操作系统;

●☆支持在一个工作空间中进行多项目的程序设计;

●☆支持多极代码优化

1.4 本论文的主要内容

基于单片机的DS18B20数字温度计设计。

单片机蜂鸣器设计。

更理解单片机怎样设计电路,理解单片机怎样用,为毕业设计建立了一个基础。

2 基于单片机的DS18B20温度传感器用数码管显示温度

2.1 DS18B20传感器介绍

~独特的单线接口仅需一个端口引脚进行通信

~简单的多点分布应用

~无需外部器件

~可通过数据线供电

~测温范围-55~+125℃,以0.5℃递增

~可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、

0.125℃和0.0625℃

~应用包括温度控制、工业系统、消费品、温度计和任何热感测系统

~负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作2.2. DS18B20外形及引脚说明

图3 DS18B20外形及引脚

GND:地

DQ:单线运用的数据输入/输出引脚

VD:可选的电源引脚

2.2数码管显示数字的工作原理介绍

数码管是一种常用数字显示原件,其内部是由多个并联的Led 灯构成。按照连接led 的公共端的不同可以分为:共阴极数码管、共阳极数码管两种。数码管按照顺序依次排列,有数学里个位、十位、百位、千位……,对应与每一位数码管就有数码管的为选概念,共阳极数码管高电平选通,共阴极数码管低电平选通;对于单个的数码管每一个笔划,国际上有统一的规范,按顺时针顺序排列:a、b、c、d、e、f、g、h 是数码管的段信号。由此差别就晓得数码管的单片机控制方法了。图4.13 数码管示意图

首先使用Proteus 绘制数码管显示电路,先添加数码管原件,此处绘制电路选用共阴极数码管。单机键盘P的快捷键调出原件对话框,输入7seg 就可以看到:6 位的数码管单个数码管的形状如上图所示:内部由8 个LED 灯构成,其中HGFEDCBA为段码,由高到低的顺序排列。由于我们使用的是共阴数码管,把段码相应的位置2,同时把公共端(又称位选端)置0,相应的数码管发光。如上显示数字“6”,这相应的段码为0x7d,即二进制01111101.共阴数码管段码显示0~F 列举如下:

0x3f,0x06,0x5b,0x4f,0x66,//0~4

0x6d,0x7d,0x07,0x7f,0x6f,//5~9

0x77,0x7c,0x39,0x5e,0x79,//A~E

2.3电路的连接方法

VCC链接到单片机的VCC端口,把GND端口链接到GND端口,然后DQ端口链接到单片机的P0.5端口。然后把单片机是上面的P0口链接到数码管,按循序链接到别的。

2.4 系统功能方框图

本方案设计的系统由单片机系统、温度传感器、数码管显示模块、其总体架构如下图:

图1 系统总体方框图

5系统的程序

DS18B20单片机测温度系统程序

#include "reg52.h"

#include "intrins.h"

#define SkipRom 0xcc

#define ConvertTemperature 0x44

#define ReadScratchpad 0xbe

sbit DQ=P2^7;

unsigned int buffer[6];

unsigned char code buff[12]={0X3f,0X06,0X5b,0X4f,0X66,

0X6d,0X7d,0X07,0X7f,0X6f,0x40,0x00

};//数字0~9及"EP=OC"共阴数码管代码

//**************延时**********************

//函数名称:void One_Wire_Delay(unsigned char delay_time)

//函数功能:延时

//函数参数:delay_time

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

void One_Wire_Delay(unsigned char delay_time)

{

while(delay_time)delay_time--;//延时时间:=(8+delay_time*6)us; }

//*********初始化***************************

//函数名称:void init_ds18b20(void)

//函数功能:初始化DS18B20

//函数参数:无

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

void init_ds18b20(void)

{

DQ=0;//复位信号

One_Wire_Delay(50);//延时600us

DQ=1;

One_Wire_Delay(4);//延时30us

while(DQ==1);

One_Wire_Delay(52);//延时300us

DQ=1;

_nop_();

}

//***********写一个字节************************* //函数名称:void wr_byte(unsigned int wdata)

//函数功能:DS18B20写一个字节

//函数参数:wdata

//******************************************* void wr_byte(unsigned int wdata)

{

unsigned int n;

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

{

DQ=0;

_nop_();

if(wdata&0x01==1)

DQ=1;

One_Wire_Delay(20);//延时128us

wdata=wdata>>1;

DQ=1;

_nop_();

}

One_Wire_Delay(5);//延时128us

}

//***************读一个字节*********************

//函数名称:unsigned int rd_byte(void)

//函数功能:DS18B20读一个字节

//函数参数:wdata

//******************************************* unsigned int rd_byte(void)

{

unsigned int m,bb=0;

bit b;

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

{

DQ=0;

_nop_();

DQ=1;

b=DQ;

One_Wire_Delay(12);//延时70us

if(b)

bb|=0x01<

DQ=1;

_nop_();

}

One_Wire_Delay(10);//延时128us

return(bb);

//***************读ds18b20********************* //函数名称:void rd_ds18b20(void)

//函数功能:读DS18B20

//函数参数:无

//******************************************* void rd_ds18b20(void)

{

unsigned int msb=0,lsb=0;

unsigned char t1=0;

unsigned int t2=0;

unsigned int flag_1;

init_ds18b20();

wr_byte(SkipRom);

_nop_();

wr_byte(ConvertTemperature);

One_Wire_Delay(5);//延时40us

init_ds18b20();

wr_byte(SkipRom);

wr_byte(ReadScratchpad);//准备读温度数据

lsb=rd_byte();

msb=rd_byte();

//One_Wire_Delay(120);//延时1ms

if((msb&0xf0)>1)

flag_1=1;

else flag_1=0;

if(flag_1)

{

msb=~msb;

lsb=~lsb+1;

}

t1=(msb<<4)|(lsb>>4);//整数部分 t2=(lsb&0x0f)*0.0625*10000;

//if(flag)

//{

// t1=~t1;

// t2=~t2+1;

//}

//t2=t2*0.06*100;

if(flag_1)

{buffer[0]=10;}//负数

else {buffer[0]=11;}

buffer[1]=t1/100;

buffer[2]=(t1/10)%10;

buffer[3]=t1%10;

buffer[4]=t2/1000;

buffer[5]=(t2%1000)/100;

//buffer[6]=(t2%100)/10;

//buffer[7]=t2%10;

}

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

//***************ds18b20显示********************* //函数名称:void display(void)

//函数功能:DS18B20显示

//函数参数:无

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

void display(void)

{

unsigned int j,b=0xdf,k;

for(j=0;j<6;j++)

{

P1=b;

if(j==3)

{P0=buff[buffer[j]]|0x80;}

else

{ P0=buff[buffer[j]];}

b=(b>>1)|0x80;

for(k=0;k<5;k++)

{

One_Wire_Delay(60);//延时20us }

}

}

void main(void)

{

while(1)

{

rd_ds18b20();

display() ;

}

}

3 单片机蜂鸣器实验

3.1 蜂鸣器介绍

51单片机的一个I/O口控制speaker发声,演唱祝你平安歌曲。

主要器件以及电路图

单片机——AT89C51,蜂鸣器——speaker。

3.2 系统功能图

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,

3.3电路的连接方法

原理图见下面图

GND链接到实验班上面的GND端口,VCC连接到板子上面的VCC端口,然后把DQ段连

接的到P0.4口。然后启动电路下载就可以了。

3.4 系统的基本设计方法

蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.7脚的电平来使蜂鸣器发出声音和关闭。

程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。

3.5 系统C程序

#include

#define uchar unsigned char

sbit beep=P0^4;

uchar timer0h,timer0l,time;

code uchar sszymmh[]={6,2,3,5,2,1,3,2,2,1,3,2,6,2,1

,5,2,1,6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,6,1,1,5,2,1,3,2,1,2,2,

4,2,2,3,3,2,1,

5,2,2,5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,

2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0};

code uchar FREQH[]={0xf2,0xf3,0xf5,0xf6,0xf7,0xf8, 0xf9,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,0xfc,0xfc,0xfd,

0xfd,0xfd,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff};

code uchar FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,

0xEE,0x44,0x6B,0xB4,0xF4,0x2D,

0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16};

void delay(uchar t)

{

uchar t1;

unsigned long t2;

for(t1=0;t1

{

for(t2=0;t2<8000;t2++);

}

TR0=0;

}

void song()

{

TH0=timer0h;

TL0=timer0l;

TR0=1;

delay(time);

}

void main (void)

{

uchar k,i;

TMOD=1;

EA=1;ET0=1;

while(1)

{

i=0;

while(i<100)

{

k=sszymmh[i]+7*sszymmh[i+1]-1; timer0h=FREQH[k];

timer0l=FREQL[k];

time=sszymmh[i+2];

i=i+3;

song();

}

}

}

void t0int()interrupt 1

{

TR0=0;

beep=!beep;

TH0=timer0h; TL0=timer0l; TR0=1;

}

温度传感器实验

实验二(2)温度传感器实验 实验时间 2017.01.12 实验编号 无 同组同学 邓奡 一、实验目的 1、了解各种温度传感器(热电偶、铂热电阻、PN 结温敏二极管、半导体热敏电阻、集成温度传感器)的测温原理; 2、掌握热电偶的冷端补偿原理; 3、掌握热电偶的标定过程; 4、了解各种温度传感器的性能特点并比较上述几种传感器的性能。 二、实验原理 1、热电偶测温原理 由两根不同质的导体熔接而成的,其形成的闭合回路叫做热电回路,当 两端处于不同温度时回路产生一定的电流,这表明电路中有电势产生,此电势即为热电势。 试验中使用两种热电偶:镍铬—镍硅(K 分度)、镍铬—铜镍(E 分度)。图2.3.5所示为热电偶的工作原理,图中:T 为热端,0T 为冷端,热电势为)()(0T E T E E AB AB t -=。 热电偶冷端温度不为0℃时(下式中的1T ),需对所测热电势进行修正,修正公式为:),(),(),(0110T T E T T E T T E +=,即: 实际电动势+测量所得电动势+温度修正电势 对热电偶进行标定时,以K 分度热电偶作为标准热电偶来校准E 分度热 电偶。 2、铂热电阻 铂热电阻的阻值与温度的关系近似线性,当温度在C 650T C 0?≤≤?时,

)1(20BT AT R R T ++=, 式中:T R ——铂热电阻在T ℃时的电阻值 0R ——铂热电阻在0℃时的电阻值 A ——系数(=C ??/103.96847-31) B ——系数(= C ??/105.847--71) 3、PN 结温敏二极管 半导体PN 结具有良好的温度线性,PN 结特性表达公式为: γln be e kT U =?, 式中,γ为与PN 结结构相关的常数; k 为波尔兹曼常数,K J /1038.1k 23-?=; e 为电子电荷量,C 1910602.1e -?=; T 为被测物体的热力学温度(K )。 当一个PN 结制成后,当其正向电流保持不变时,PN 结正向压降随温度 的变化近似于线性,大约以2mV/℃的斜率随温度下降,利用PN 结的这一特性可以进行温度的测量。 4、热敏电阻 热敏电阻是利用半导体的电阻值随温度升高而急剧下降这一特性制成的 热敏元件,灵敏度高,可以测量小于0.01℃的温差变化。 热敏电阻分为正温度系数热敏电阻PTC 、负温度系数热敏电阻NTC 和在 某一特定温度下电阻值发生突然变化的临界温度电阻器CTR 。 实验中使用NTC ,热敏电阻的阻值与温度的关系近似符合指数规律,为:)11(00e T T B t R R -=。式中: T 为被测温度(K),16.273t +=T 0T 为参考温度(K),16.27300+=t T T R 为温度T 时热敏电阻的阻值 0R 为温度0T 时热敏电阻的阻值 B 为热敏电阻的材料常数,由实验获得,一般为2000~6000K 5、集成温度传感器 用集成工艺制成的双端电流型温度传感器,在一定温度范围内按1uA/K 的恒定比值输出与温度成正比的电流,通过对电流的测量即可知道温度值(K 氏温度),经K 氏-摄氏转换电路直接得到摄氏温度值。

DS18B20 数字温度传感器

应用指引:在MC430F14板上是标配了DS18B20数字温度传感器器,同时希望用户通过以下DS18B20的讲解能够了解更多1线 MC430F14实物图如下: >>关于MC430F14开发板详情>> 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。 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软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 一、DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

嵌入式- 蜂鸣器控制实验

实验二蜂鸣器控制实验 实验目的:1 了解ARM处理器PWM接口的处理机制 2 掌握在S3C2440A平台下进行PWM接口应用编程实验器材:Sinosys-EA2440实验箱PC机 实验原理:脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。即通过改变方波的占空比表示不同的模拟信号的电平。 在ARM嵌入式实验中,其实是通过微处理器中的计数器,对经过频率变换的输出频率周期进行计数,在PWM中,是通过两个寄存器(TCNTBn和TCMPBn)对输出信号的占空比进行调制,TCNTBn可以设置为TCMPBn+X,当TCNTBn在TCMPBn和TCMPBn+X 之间计数时,TOUTn(即输出信号)输出低电平,当TCNTBn计数下降到TCMPBn时,TOUTn电平反转,变为高电平,直到TCNTBn计数减到0,如果此时开启了重载,则又把预定的值重新装入TCNTBn和TCMPBn中,重复以上过程。 在ARM嵌入式PWM中,会提供一个基准时钟作为输入时钟,PWM调制会对输入的时钟进行分频等操作进入计时器逻辑,其电路图2.1如下:

图2.1 PWM计时器框图 如图2.1,输入的时钟PCLK经过一个8bit预置器和一个分频器,将得到的时钟进入计数器逻辑板块作为驱动时钟,而输出的TOUT则作为蜂鸣器(蜂鸣器控制电路如图2.2)的驱动信号。 图2.2 蜂鸣器控制电路

实验总结:实验的主函数首先设置时钟,端口初始化,并捕捉进入测试函数的指令,与实验一大致相同,在此不在赘述,重点分析测试函数。测试函数如下: void Beep(int freq,int ms) { int div,i rGPBCON&=~0x3; //将GPB0作为输入口rGPBCON|=0X2; // 接入TIMER0 rTCFG0&=~0XFF; // 设置prescaler为32 rTCFG0|=0XF; rTCFG1&=~0XF; //选择mux=1/16 rTCFG1|=0X3; div=plck/32/16/freq 计算TCNTB0的值rTCNTB0=div; rTCMPB0=rTCNTB0>>2; 占空比为4:1 rTCON&=~0X1F; 设置死区自动重载反转人工载入开始rTCON|=0XB; 关闭死区开启重载关反转开人工载入开始rTCON&=~2; 关闭人工载入 for(i=1,i

温度传感器实验设计概要

成都理工大学工程 技术学院 单片机课程设计报告 数字温度计设计

摘要 在这个信息化高速发展的时代,单片机作为一种最经典的微控制器,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,作为自动化专业的学生,我们学习了单片机,就应该把它熟练应用到生活之中来。本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。 关键词:单片机,数字控制,数码管显示,温度计,DS18B20,AT89S52。

目录 1概述 (4) 1.1设计目的 (4) 1.2设计原理 (4) 1.3设计难点 (4) 2 系统总体方案及硬件设计...................................................... 错误!未定义书签。 2.1数字温度计设计方案论证 (4) 2.2.1 主控制器 (5) 2.4 系统整体硬件电路设计 (7) 3系统软件设计 (8) 3.1初始化程序 (8) 3.2读出温度子程序 (9) 3.3读、写时序子程序 (10) 3.4 温度处理子程序 (11) 3.5 显示程序 (12) 4 Proteus软件仿真 (13) 5硬件实物 (14) 6课程设计体会 (15) 附录1: (14) 附录2: (21)

1概述 1.1设计目的 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,可广泛用于食品库、冷库、粮库、温室大棚等需要控制温度的地方。目前,该产品已在温控系统中得到广泛的应用。 1.2设计原理 本系统是一个基于单片机AT89S52的数字温度计的设计,用来测量环境温度,测量范围为-50℃—110℃度。整个设计系统分为4部分:单片机控制、温度传感器、数码显示以及键盘控制电路。整个设计是以AT89S52为核心,通过数字温度传感器DS18B20来实现环境温度的采集和A/D转换,同时因其输出为数字形式,且为串行输出,这就方便了单片机进行数据处理,但同时也对编程提出了更高的要求。单片机把采集到的温度进行相应的转换后,使之能够方便地在数码管上输出。LED采用三位一体共阳的数码管。 1.3设计难点此设计的重点在于编程,程序要实现温度的采集、转换、显示和上下限温度报警,其外围电路所用器件较少,相对简单,实现容易。 2 系统总体方案及硬件设计 2.1数字温度计设计方案论证 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 2.2总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,用3位共阴LED数码管以串口传送数据实现温度显示。

DS18b20温度传感器

最小的温度显示程序-c51 (2010-12-07 00:45:27) 转载 分类:51单片机 标签: 杂谈 #include #include sbit DQ=P2^0; bit presence; unsigned char templ,temph; char array[10]={0x7e,0x48,0x3d,0x6d,0x4b,0x67,0x73,0x4c,0x7f,0x4f}; void Delay(unsigned int num)//可定义延时 { while( --num ); } bit Init_DS18B20(void) { DQ = 1; //DQ复位 Delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay(90); //精确延时大于 480us DQ = 1; //拉高总线 Delay(8); presence = DQ; //如果=0则初始化成功 =1则初始化失败 Delay(100); DQ = 1; return(presence); //返回信号,0=presence,1= no presence } unsigned int ReadOneChar(void) { unsigned char i = 0; unsigned char dat = 0;

for (i = 8; i > 0; i--) { DQ = 0; // 给脉冲信号 dat >>= 1; //位右移 DQ = 1; // 给脉冲信号等待传感器返回脉冲 if(DQ) dat |= 0x80; Delay(4); } return (dat); } void WriteOneChar(unsigned char dat) { unsigned char i = 0; for (i = 8; i > 0; i--) { DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat>>=1; } } void Read_Temperature(void) { Init_DS18B20(); WriteOneChar(0xcc); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 templ = ReadOneChar(); //温度低8位 temph = ReadOneChar(); //温度高8位 }

DS18B20温度传感器实验

DS18B20温度传感器实验Proteus仿真原理图: DS18B20内部结构:

/************************* 源程序 ****************************/ #include #include #define uint unsigned int #define uchar unsigned char #define delayNOP() {_nop_();_nop_();_nop_();_nop_();} sbit DQ = P3^3; sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; uchar code Temp_Disp_Title[]={"Current Temp : "}; uchar Current_Temp_Display_Buffer[]={" TEMP: "}; uchar code Temperature_Char[8] = { 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x0 0 }; uchar code df_Table[]= { 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9 }; uchar CurrentT = 0; uchar Temp_Value[]={0x00,0x00}; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_IS_OK = 1; void DelayXus(uint x) { uchar i; while(x--) { for(i=0;i<200;i++); } } bit LCD_Busy_Check(){ bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN=0; return result; } void Write_LCD_Command(uchar cmd) { while(LCD_Busy_Check()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; }

DS18B20温度传感器使用方法以及代码

第7章 DS18B20温度传感器 7.1 温度传感器概述 温度传感器是各种传感器中最常用的一种,早起使用的是模拟温 度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据某个公式就可以计算出当前环境温度。随着科技的进步,现代的温度传感器已经走向数字化,外形小,接口简单,广泛应用在生产实践的各个领域,为我们的生活提供便利。随着现代仪器的发展,微型化、集成化、数字化、正成为传感器发展的一个重要方向。美国DALLS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即单片机接口仅需占用一个 I/O端口,无需任何外部元件,直接将环境温度转化为数字信号,以数码方式串行输出,从而大大简化了传感器与微处理器的接口。 7.2 DS18B20温度传感器介绍 DS18B20是美国DALLAS^导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9?12位的数字 值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入 DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。因而使用

DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 1. DS18B20温度传感器的特性 ①独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口 线即可实现微处理器与DS18B20勺双向通讯。 ②在使用中不需要任何外围元件。 ③可用数据线供电,电压范围:+3.0~ +5.5 V。 ④测温范围:-55 ~+125 C。固有测温分辨率为0.5 C。 ⑤通过编程可实现9~12位的数字读数方式。 ⑥用户可自设定非易失性的报警上下限值。 ⑦支持多点组网功能,多个 DS18B20可以并联在惟一的三线上,实现多点测温。 ⑧负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2. 引脚介绍 DS18B20有两种封装:三脚TO-92直插式(用的最多、最普遍的封装)和八脚SOIC贴片式。下图为实验板上直插式 DS18B20的原理图。 3. 工作原理 单片机需要怎样工作才能将DS18B2 0中的温度数据独取出来呢?F面将给出详细分析

大学物理实验-温度传感器实验报告

关于温度传感器特性的实验研究 摘要:温度传感器在人们的生活中有重要应用,是现代社会必不可少的东西。本文通过控制变量法,具体研究了三种温度传感器关于温度的特性,发现NTC电阻随温度升高而减小;PTC电阻随温度升高而增大;但两者的线性性都不好。热电偶的温差电动势关于温度有很好的线性性质。PN节作为常用的测温元件,线性性质也较好。本实验还利用PN节测出了波 尔兹曼常量和禁带宽度,与标准值符合的较好。 关键词:定标转化拟合数学软件 EXPERIMENTAL RESEARCH ON THE NATURE OF TEMPERATURE SENSOR 1.引言 温度是一个历史很长的物理量,为了测量它,人们发明了许多方法。温度传感器通过测温元件将温度转化为电学量进行测量,具有反应时间快、可连续测量等优点,因此有必要对其进行一定的研究。作者对三类测温元件进行了研究,分别得出了电阻率、电动势、正向压降随温度变化的关系。 2.热电阻的特性 2.1实验原理 2.1.1Pt100铂电阻的测温原理 和其他金属一样,铂(Pt)的电阻值随温度变化而变化,并且具有很好的重现性和稳定性。利用铂的此种物理特性制成的传感器称为铂电阻温度传感器,通常使用的铂电阻温度传感器零度阻值为100Ω(即Pt100)。铂电阻温度传感器精度高,应用温度范围广,是中低温区(-200℃~650℃)最常用的一种温度检测器,本实验即采用这种铂电阻作为标准测温器件来定标其他温度传感器的温度特性曲线,为此,首先要对铂电阻本身进行定标。 按IEC751国际标准,铂电阻温度系数TCR定义如下: TCR=(R100-R0)/(R0×100) (1.1) 其中R100和R0分别是100℃和0℃时标准电阻值(R100=138.51Ω,R0=100.00Ω),代入上式可得到Pt100的TCR为0.003851。 Pt100铂电阻的阻值随温度变化的计算公式如下: Rt=R0[1+At+B t2+C(t-100)t3] (-200℃

单片机实验报告-蜂鸣器驱动实验

本科实验报告 课程名称:单片机原理与接口技术实验项目:蜂鸣器驱动实验 实验地点:电机馆 专业班级:学号: 学生姓名: 指导教师: 2015年 6 月9 日

蜂鸣器驱动实验 一、实验目的 1、学习输入/输出端口控制方法 2、了解音频发声原理 二、实验说明 本实验是利用89C51端口定时器输出控制端口,驱动扬声器发声,声音的频率高低由延时快慢控制。本实验是利用单片机唱歌的声音控制程序,请用户思考如何修改程序,可以让蜂鸣器发出不同频率,不同长短的声音。 三、实验原理 1、通过单片机控制驱动信号使蜂鸣器发出不同音调的声音,驱动方波的频率越高,音调就越高;驱动方波频率越低,音调越低。由此,我们可以根据驱动方波的频率使蜂鸣器凑出各种音调的声音。 2、由于单片机I/O口的输出电流较小,因此需要三极管放大电路驱动蜂鸣器。 四、主要仪器设备 单片机仿真试验箱,THKL-C51型单片机仿真器,计算机 五、实验内容及步骤 INT1输出音频信号接音频驱动电路,使蜂鸣器的发声。 1、使用单片机最小应用系统和蜂鸣器模块。蜂鸣器模块的短路帽J1插到VCC方向,用导线将INT1接到蜂鸣器输入端。 2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“MUSIC.ASM”源程序,进行编译,直到编译无误。 4、全速运行程序,扬声器周期性的发出“八月桂花开”歌曲。(添加“MUSIC1.ASM”程序为“祝你平安”歌曲) 5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)

温度传感器实验

DH-SJ5温度传感器设计性实验装置 使 用 说 明 书 杭州大华科教仪器研究所 杭州大华仪器制造有限公司

一、温度传感器概述 温度是表征物体冷热程度的物理量。温度只能通过物体随温度变化的某些特性来间接测量。测温传感器就是将温度信息转换成易于传递和处理的电信号的传感器。 一、测温传感器的分类 1.1电阻式传感器 热电阻式传感器是利用导电物体的电阻率随温度而变化的效应制成的传感器。热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。它分为金属热电阻和半导体热电阻两大类。金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即 R t =R t0[1+α (t-t 0)] 式中,R t 为温度t 时的阻值;R t0为温度t 0(通常t 0=0℃)时对应电阻值;α为温度系数。 半导体热敏电阻的阻值和温度关系为 t B t Ae R = 式中R t 为温度为t 时的阻值;A 、B 取决于半导体材料的结构的常数。 常用的热电阻有铂热电阻、热敏电阻和铜热电阻。其中铂电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。 金属铂具有电阻温度系数大,感应灵敏;电阻率高,元件尺寸小;电阻值随温度变化而变化基本呈线性关系;在测温范围内,物理、化学性能稳定,长期复现性好,测量精度高,是目前公认制造热电阻的最好材料。但铂在高温下,易受还原性介质的污染,使铂丝变脆并改变电阻与温度之间的线性关系,因此使用时应装在保护套管中。用铂的此种物理特性制成的传感器称为铂电阻温度传感器,利用铂的此种物理特性制成的传感器称为铂电阻温度传感器,通常使用的铂电阻温度传感器零度阻值为100Ω,电阻变化率为0.3851Ω/℃,TCR=(R 100-R 0)/(R 0×100) ,R 0为0℃的阻值,R 100为100℃的阻值,按IEC751国际标准,温度系数TCR=0.003851,Pt100(R 0=100Ω)、Pt1000(R 0=1000Ω)为统一设计型铂电阻。铂热电阻的特点是物理化学性能稳定。尤其是耐氧化能力强、测量精度高、应用温度范围广,有很好的重现性,是中低温区(-200℃~650℃)最常用的一种温度检测器。 热敏电阻(Thermally Sensitive Resistor,简称为Thermistor),是对温度敏感的电阻的总称,是一种电阻元件,即电阻值随温度变化的电阻。一般分为两种基本类型:负温度系数热敏电阻NTC (Negative Temperature Coefficient )和正温度系数热敏电阻PTC (Positive Temperature Coefficient )。NTC 热敏电阻表现为随温度的上升,其电阻值下降;而PTC 热敏电阻正好相反。 NTC 热敏热电阻大多数是由Mn(锰)、Ni(镍)、Co(钴)、Fe(铁)、Cu(铜)等金属的氧化物经过烧结而成的半导体材料制成。因此,不能在太高的温度场合下使用。不竟然,其使用范围有的也可以达到了-200℃~700℃,但一般的情况下,其通常的使用范围在-100℃~300℃。 NTC 热敏热电阻热响应时间一般跟封装形式、阻值、材料常数(热敏指数)、热时间常数有关。材料常数(热敏指数)B 值反映了两个温度之间的电阻变化,热敏电阻的特性就是由它的大小决定的,B 值(K )被定义为:2 12 1212111lg lg 3026.211ln ln T T R R T T R R B --?=--= ; R T1:温度 T 1(K )时的零功率电阻值;R T2 :温度 T 2(K )时的零功率电阻值;T 1,T 2 :

中断定时蜂鸣器实验

中断定时蜂鸣器实验 一.实验目的 1.掌握ARM2131开发环境ADS,熟悉开发环境的常用工具以及相应功能。 2.学习建立ADS的工程文件、编译连接设置、调试操作等。 3.学习对中断向量VTC、GPIO口的设置。 4.学习定时器中断的应用 二.实验设备 PC兼容机一台,操作系统WINDOWS 2000,安装ADS1.2(ARM Developer Suite 的成熟版本) 三.实验原理 随着信息技术技术的飞速发展,ARM技术方案架构作为一种具备低功耗、高性能、以及小体积等特性的32位嵌入式微处理器,得到了众多的知识产权授权用户,其中包括世界顶级的半导体和系统公司。目前已被广泛的用于各类电子产品,汽车、消费娱乐、影像、工业控制、海量存储、网络、安保和无线等领域。被业界人士认为,基于ARM的技术方案是最具市场前景和市场优势的解决方案。LPC2131 Philips LPC2131 是基于ARM7TDMI-S 的高性能32 位RISC 微控制器,它一方面具有ARM处理器的所有优点:低功耗、高性能;同时又具有较为丰富的片上资源,非常适合嵌入式产品的开发。其特点如下: ·集成了Thumb 扩展指令集。 ·32KB可在系统中编程(ISP)的片内Flash和可在应用中编程(IAP)的8KB RAM,具有向量中断控制器。 ·2个UART,2个I2C 串行接口,2 个SPI串行接口,2 个定时器(7 个捕获/ 比较通道),PWM单元可提供多达6个PWM输出,8通道10位ADC,实时时钟RTC,看门狗定时器WDT,48 个通用I/O引脚。 ·CPU时钟高达60MHz,具有片内晶体振荡器和片内PLL。 GPIO:(General Purpose Input Output) GPIO是用来进行输入输出的,那么肯定有寄存器进行控制。对于输入的话,可以通过读取寄存器来确定引脚的高电平还是低电平;对于输出的话,可以通过写某个寄存器来让这个引脚输出高低电平.GPxCON,GPACON每一位对应着一根引脚(23根)0:代表输出;1:相应的引脚为地址线或用于地址控制对于PORT B-PORT J的话,GPxCON中每两位控制一根引脚00:输入;01:输出;10:特殊功能;11:保留。GPxDA T用于读或者写。GPxUP,1:不使用内部的上拉电阻;0:使用内部上拉电阻。 向量控制寄存器VICVectCntl0-15记录了各个通道号及其使能位。 当中断发生时,VICVectAddr0-15中的一个值会被copy到VICVectAddr. 如果是非向量中断则VICdefaultAddr被copy到VICVectAddr. 程序跳转到VICVectorAddr指向的地址。 中断返回时,写0x00到VICVectAddr. 非向量中断是指那些虽然已经打开(允许),但是没有在相应的VICVectorCntl0~15 和VICVectorAddr0~15中设置的中断。 关于中断设置: 1、首先,硬复位后所有的Special Function Registor都有默认值。不必考虑设置的顺序问题。可以先设置好中断,再开通模块功能。

温度传感器实验

温度传感器实验 传感器是将非电信号转换为电信号的装置,因为电信号容易传递和处理。温度是物体冷热程度的标志,温度传感器就是将温度转换成电信号的传感器。 一.测温传感器的分类 电阻式传感器。常用的有铂热电阻、热敏电阻和铜热电阻。其中铂电阻(Pt100)精确度最高,重现性和稳定性很好,不仅应用广泛,而且被制成标准的基准仪。热敏电阻(Thermally Sensitive Resistor,简称Thermistor),是温度敏感的电阻的总称,是属于热电阻的一部分,一般分为负温度系数热敏电阻NTC(Negative Temperature Coefficient)和正温度系数热敏电阻PTC(Positive Temperature Coefficient)。NTC的电阻值随温度的上升而下降;PTC正好相反。 其它传感器。半导体PN结温度传感器,晶体温度传感器,非接触型温度传感器,热电偶温度传感器,光纤温度传感器,液压温度传感器,智能温度传感器。 二.DH-SJ5温度传感器实验装置 DH-SJ5型温度传感实验装置以九孔板为实验平台,包括铂电阻Pt100、热敏电阻(NTC 和PTC)、铜电阻Cu50、铜-康铜热电偶、PN结、AD590和LM35等分离的温度传感器探头,各种电子元件。能提供了多种测温电路和方法。 本装置采用Pt100铂电阻测温,智能温度控制器控温,控温精度高、范围广、可自由设定所需的温度,数字显示;用低电压恒流加热、安全可靠、无污染,加热电流连续可调;分离的温度传感器,形象直观,组合方便,可比较不同传感器的温度特性;降温实验可采用风扇快速降温;整体结构设计新颖,紧凑合理,外型美观大方。 主要技术指标:电源:AC220V±10%(50/60Hz),工作温度0~40℃,相对湿度<80%,无腐蚀性场合,控温范围:室温~120℃,控温精度:±0.2℃,分辨率:0.1℃。 温控仪与恒温炉的连线如图1,Pt100的插头与温控仪上的插座颜色应当对应连接。 图1DH-SJ5温度传感器实验装置 恒温炉上方有六个插孔,可以插一个测温的Pt100和五个待测量的温度传感器。 警告:在做实验中或做完实验后,禁止手触传感器的钢护套,防止烫伤!

温度传感器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的目的。 图1 DS18B20的内部结构

图2DS18B20的管脚排列 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 温度值高字节 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: R1、R0决定温度转换的精度位数:R1R0=“00”,9位精度,最大转换时间为93.75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。 3 DS18B20的工作时序 DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序,如图3(a)(b)(c)所示。

MSP430内部温度传感器测试程序

MSP430内部温度传感器测试程序 //MSP430基础实验开发组件 - ADC12内部模块演示程序之内部温度传感器 //时钟设置: ////ACLK = n/a, MCLK = SMCLK = default DCO ~ 800kHz, ADC12CLK = ADC12OSC //当前演示程序功能描述: ////利用MSP430F14X内部的温度传感器,通过ADC12的通道10进行AD转换 ////计算取得摄氏温度和华氏温度,通过断点在View->Watch中观察温度值 ////由于定标问题, 可能会存在温度的误差 #include unsigned int long temp; unsigned int long TemperF; //华氏温度 unsigned int long TemperC; //摄氏温度 void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭系统看门狗 ADC12CTL0 = SHT0_8 + REFON + ADC12ON; //内部1.5V参考电压,打开ADC12模块,设置采样保持定时器 ADC12CTL1 = SHP; //采使用采样定时器 ADC12MCTL0 = SREF_1 + INCH_10; //参考电压和通道选择 ADC12IE = BIT0; //ADC12MEM0 ADC12CTL0 |= ENC; //允许转换 _BIS_SR(GIE); //开启系统中断 while(1) { ADC12CTL0 |= ADC12SC; //开始采样并AD转换 //oF = ((x/4096)*1500mV)-923mV)*1/1.97mV = x*761/4096 - 468 //IntDegF = (ADC12MEM0 - 2519)* 761/4096 TemperF = (temp - 2519) * 761; TemperF = TemperF / 4096; //简化的华氏温度转换公式

DS18B20温度传感器工作原理及其应用电路图

DS18B20温度传感器工作原理及其应用电路图 时间:2012-02-16 14:16:04 来源:赛微电子网作者: 前言 温度与工农业生产密切相关,对温度的测量和控制是提高生产效率、保证产品质量以及保障生产安全和节约能源的保障。随着工业的不断发展,由于温度测量的普遍性,温度传感器的市场份额大大增加,居传感器首位。数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。现在,新一代的DS18B20温度传感器体积更小、更经济、更灵活。DS18B20温度传感器测量温度范围为-55℃~+125℃。在-10℃~+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。基于DS18B20温度传感器的重要性,小编整理出DS18B20温度传感器工作原理及其应用电路图供大家参考。 一、DS18B20温度传感器工作原理(热电阻工作原理) DS18B20温度传感器工作原理框图如图所示: DS18B20温度传感器工作原理框图 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 二、DS18B20温度传感器的应用电路 1.DS18B20温度传感器寄生电源供电方式电路图 寄生电源方式特点: (1)进行远距离测温时,无须本地电源。 (2)可以在没有常规电源的条件下读取ROM。 (3)电路更加简洁,仅用一根I/O口实现测温。 (4)只适应于单一温度传感器测温情况下使用,不适于采用电池供电系统中。

温度传感器报告

温度传感器是指能感受温度并能转换成可用输出信号的传感器。温度是和人类生活环境有着密切关系的一个物理量,是工业过程三大参量(流量、压力、温度)之一,也是国际单位制(SI)中七个基本物理量之一。温度测量是一个经典而又古老的话题,很久以来,这方面己有多种测温元件和传感器得到普及,但是直到今天,为了适应各工业部门、科学研究、医疗、家用电器等方面的广泛要求,仍在不断研发新型测温元件和传感器、新的测温方法、新的测温材料、新的市场应用。要准确地测量温度也非易事,如测温元件选择不当、测量方法不宜,均不能得到满意结果。 据有关部门统计,2009年我国传感器的销售额为327亿元人民币,其中温度传感器占整个传感器市场的14%,主要应用于通信电子产品、家用电器、楼宇自动化、医疗设备、仪器仪表、汽车电子等领域。 温度传感器的特点 作为一个理想的温度传感器,应该具备以下要求:测量围广、精度高、可靠性好、时漂小、重量轻、响应快、价格低、能批量生产等。但同时满足上述条件的温度传感器是不存在的,应根据应用现场灵活使用各种温度传感器。这是因为不同的温度传感器具有不同的特点。 ● 不同的温度传感器测量围和特点是不同的。 几种重要类型的温度传感器的温度测量围和特点,如表1所示。 ● 测温的准确度与测量方法有关。 根据温度传感器的使用方法,通常分为接触测量和非接触测量两类,两种测量方法的特点如 ● 不同的测温元件应采用不同的测量电路。 通常采用的测量电路有三种。“电阻式测温元件测量电路”,该测量电路要考虑消除非线性误差和热电阻导线对测量准确度的影响。“电势型测温元件测量电路”,该电路需考虑线性化和冷端补偿,信号处理电路较热电阻的复杂。“电流型测温元件测量电路”,半导体集成温度传感器是最典型的电流型温度测量元件,当电源电压变化、外接导线变化时,该电路输出电流基本不受影响,非常适合远距离测温。 温度测量的最新进展 ● 研制适应各种工业应用的测温元件和温度传感器。 铂薄膜温度传感器膜厚1μm,可置于极小的测量空间,作温度场分布测量,响应时间不超过1ms,偶丝最小直径25μm,热偶体积小于1×10-4mm3,质量小于1μg。 多色比色温度传感器能实时求出被测物体发射率的近似值,提高辐射测温的精

相关主题
文本预览
相关文档 最新文档