当前位置:文档之家› DS18B20多点测温(51C程序)

DS18B20多点测温(51C程序)

DS18B20多点测温(51C程序)
DS18B20多点测温(51C程序)

DS18B20多点测温

由于本人在前两天找DS18B20多点测温(51 C程序),网上下载了很多,但是都不是很理想,后来,自己总结前人的知识,重新写了这个程序。其中包括程序一:单个读序列号。程序二,匹配并且读两个DS18B20,当然,读多个与读两个基本原理一样,只要加上其序列号等即可。本程序所有显示都是用LCD1602显示。

程序一:度序列号,并用1602显示,1602从左到右分别是低到高位。

#include

#define uchar unsigned char

#define uint unsigned int

sbit DQ=P3^7;//ds18b20与单片机连接口

sbit RS=P3^0;

sbit RW=P3^1;

sbit EN=P3^2;

unsigned char code str1[]={" "};

unsigned char code str2[]={" "};

uchar fCode[8];

uchar data disdata[5];

uint tvalue;//温度值

uchar tflag;//温度正负标志

/*************************lcd1602程序**************************/

void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)

{unsigned int i,j;

for(i=0;i

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

}

void wr_com(unsigned char com)//写指令//

{ delay1ms(1);

RS=0;

RW=0;

EN=0;

P2=com;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

}

void wr_dat(unsigned char dat)//写数据//

{ delay1ms(1);;

RS=1;

RW=0;

EN=0;

P2=dat;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

}

void lcd_init()//初始化设置//

{delay1ms(15);

wr_com(0x38);delay1ms(5);

wr_com(0x08);delay1ms(5);

wr_com(0x01);delay1ms(5);

wr_com(0x06);delay1ms(5);

wr_com(0x0c);delay1ms(5);

}

void display(unsigned char *p)//显示//

{

while(*p!='\0')

{

wr_dat(*p);

p++;

delay1ms(1);

}

}

void init_play()//初始化显示

{ lcd_init();

wr_com(0x80);

display(str1);

wr_com(0xc0);

display(str2);

}

/******************************ds1820 *********************/ void delay_18B20(unsigned int i)//延时1微秒

{

while(i--);

}

void ds1820rst()/*ds1820复位*/

{ uchar x=0;

DQ = 1; //DQ复位

delay_18B20(4); //延时

DQ = 0; //DQ拉低

delay_18B20(100); //精确延时大于480us DQ = 1; //拉高

delay_18B20(40);

}

uchar ds1820rd()/*读数据*/

{ uchar i=0;

uchar dat = 0;

for (i=8;i>0;i--)

{ DQ = 0; //给脉冲信号

dat>>=1;

DQ = 1; //给脉冲信号

if(DQ)

dat|=0x80;

delay_18B20(10);

}

return(dat);

}

void ds1820wr(uchar wdata)/*写数据*/ {uchar i=0;

for (i=8; i>0; i--)

{ DQ = 0;

DQ = wdata&0x01;

delay_18B20(10);

DQ = 1;

wdata>>=1;

}

}

read_temp()/*读取温度值并转换*/ {uchar a,b;

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0x44);//*启动温度转换*/

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0xbe);//*读取温度*/

a=ds1820rd();

b=ds1820rd();

tvalue=b;

tvalue<<=8;

tvalue=tvalue|a;

if(tvalue<0x0fff)

tflag=0;

else

{tvalue=~tvalue+1;

tflag=1;

}

tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数

return(tvalue);

}

/*******************************************************************/ void ds1820disp()//温度值显示

{ uchar flagdat;

disdata[0]=tvalue/1000+0x30;//百位数

disdata[1]=tvalue%1000/100+0x30;//十位数

disdata[2]=tvalue%100/10+0x30;//个位数

disdata[3]=tvalue%10+0x30;//小数位

if(tflag==0)

flagdat=0x20;//正温度不显示符号

else

flagdat=0x2d;//负温度显示负号:-

if(disdata[0]==0x30)

{disdata[0]=0x20;//如果百位为0,不显示

if(disdata[1]==0x30)

{disdata[1]=0x20;//如果百位为0,十位为0也不显示

}

}

wr_com(0xc0);

wr_dat(flagdat);//显示符号位

wr_com(0xc1);

wr_dat(disdata[0]);//显示百位

wr_com(0xc2);

wr_dat(disdata[1]);//显示十位

wr_com(0xc3);

wr_dat(disdata[2]);//显示个位

wr_com(0xc4);

wr_dat(0x2e);//显示小数点

wr_com(0xc5);

wr_dat(disdata[3]);//显示小数位

}

void DispCode()

{

unsigned char i,temp;

ds1820rst();

ds1820wr(0x33);

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

{

fCode[i]=ds1820rd();

}

wr_com(0x80+0x40);

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

{

temp = fCode[i]>>4; //显示高四位

if (temp<10)

wr_dat(temp + 0x30);

else

wr_dat(temp + 0x37);

temp = fCode[i]&0x0f;//显示低四位

if (temp<10)

wr_dat(temp+ 0x30);

else

wr_dat(temp + 0x37);

}

}

/********************主程序***********************************/ void main()

{

init_play();//初始化显示

DispCode(); //系列号显示

delay1ms(1000);

while(1)

{//read_temp();//读取温度

// ds1820disp();//显示

;}

}

程序二:匹配序列号,并读温度。

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit RS=P3^0;

sbit RW=P3^1;

sbit EN=P3^2;

sbit DQ=P3^7;

uchar code str1[]={0x28,0x08,0xA7,0xBA,0x02,0x00,0x00,0x18}; //ROM 1

uchar code str2[]={0x28,0x0C,0xBA,0xBA,0x02,0x00,0x00,0x54}; //ROM2

uchar code table[8]={0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00}; // 摄氏温度符号uchar data disdata[5];

uint tvalue;//温度值

uchar tflag;//温度正负标志

/*************************lcd1602程序**************************/

void delay1ms(uint ms)//延时1毫秒(不够精确的)

{ uint i,j;

for(i=0;i

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

}

void wr_com(uchar com)//写指令//

{ delay1ms(1);

RS=0;

RW=0;

EN=0;

P2=com;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

}

void wr_dat(uchar dat)//写数据//

{ delay1ms(1);;

RS=1;

RW=0;

EN=0;

P2=dat;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

}

void wr_new() 、//写新字符

{

uchar i;

wr_com(0x40);

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

{

wr_dat(table[i]);

}

}

void lcd_init()//初始化设置//

{ delay1ms(15);

wr_com(0x38);delay1ms(5);

wr_com(0x08);delay1ms(5);

wr_com(0x01);delay1ms(5);

wr_com(0x06);delay1ms(5);

wr_com(0x0c);delay1ms(5);

wr_new();

wr_com(0x80);

wr_dat('A');

wr_com(0x81);

wr_dat(':');

wr_com(0x89);

wr_dat(0x00);

wr_com(0x8a);

wr_dat('C');

wr_com(0xc9);

wr_dat(0x00); 、、//摄氏温度字符

wr_com(0xca);

wr_dat('C');

wr_com(0xc0);

wr_dat('B');

wr_com(0xc1);

wr_dat(':');

}

/******************************ds1820程序***************************************/ void delay_18B20(uint i)//延时1微秒

{

while(i--);

}

void ds1820rst()/*ds1820复位*/

{ uchar x=0;

DQ = 1; //DQ复位

delay_18B20(4); //延时

DQ = 0; //DQ拉低

delay_18B20(100); //精确延时大于480us

DQ = 1; //拉高

delay_18B20(40);

}

uchar ds1820rd()/*读数据*/

{ uchar i=0;

uchar dat = 0;

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

{ DQ = 0; //给脉冲信号

dat>>=1;

DQ = 1; //给脉冲信号

if(DQ)

dat|=0x80;

delay_18B20(10);

}

return(dat);

}

void ds1820wr(uchar dat)/*写数据*/

{ uchar i=0;

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

{ DQ = 0;

DQ = dat&0x01;

delay_18B20(10);

DQ = 1;

dat>>=1;

}

}

void b20_Matchrom(uchar a) //匹配ROM

{

char j;

ds1820wr(0x55); //发送匹配ROM命令

if(a==1)

{

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

ds1820wr(str1[j]); //发送18B20的序列号,先发送低字节}

if(a==2)

{

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

ds1820wr(str2[j]); //发送18B20的序列号,先发送低字节}

}

read_temp(uchar z)/*读取温度值并转换*/

{ uchar a,b;

float tt;

ds1820rst();

ds1820wr(0xcc); 、//读序列号

ds1820rst();

if(z==1)

{

b20_Matchrom(1); //匹配ROM 1

}

if(z==2)

{

b20_Matchrom(2); //匹配ROM 2 }

ds1820wr(0x44);//*启动温度转换*/

delay1ms(5);

ds1820rst();

ds1820wr(0xcc); //读序列号

ds1820rst();

if(z==1)

{

b20_Matchrom(1); //匹配ROM 1 }

if(z==2)

{

b20_Matchrom(2); //匹配ROM 2 }

ds1820wr(0xbe);//*读取温度*/

a=ds1820rd();

b=ds1820rd();

tvalue=b;

tvalue<<=8;

tvalue=tvalue|a;

if(tvalue<0x0fff)

tflag=0;

else

{ tvalue=~tvalue+1;

tflag=1;

}

tt=tvalue*0.0625;

tvalue=tt*10;

return(tvalue);

}

/*****************显示函数******************************/ void ds1820disp(uchar z)//温度值显示

{ uchar flagdat;

disdata[0]=tvalue/1000+0x30;//百位数

disdata[1]=tvalue%1000/100+0x30;//十位数

disdata[2]=tvalue%100/10+0x30;//个位数

disdata[3]=tvalue%10+0x30;//小数位

if(tflag==0)

flagdat=0x20;//正温度不显示符号

else

flagdat=0x2d;//负温度显示负号:-

if(disdata[0]==0x30)

{disdata[0]=0x20;//如果百位为0,不显示

if(disdata[1]==0x30)

{disdata[1]=0x20;//如果百位为0,十位为0也不显示}

}

if(z==1)

{

wr_com(0x82);

wr_dat(flagdat);//显示符号位

wr_com(0x83);

wr_dat(disdata[0]);//显示百位

wr_com(0x84);

wr_dat(disdata[1]);//显示十位

wr_com(0x85);

wr_dat(disdata[2]);//显示个位

wr_com(0x86);

wr_dat(0x2e);//显示小数点

wr_com(0x87);

wr_dat(disdata[3]);//显示小数位

}

if(z==2)

{

wr_com(0xc2);

wr_dat(flagdat);//显示符号位

wr_com(0xc3);

wr_dat(disdata[0]);//显示百位

wr_com(0xc4);

wr_dat(disdata[1]);//显示十位

wr_com(0xc5);

wr_dat(disdata[2]);//显示个位

wr_com(0xc6);

wr_dat(0x2e);//显示小数点

wr_com(0xc7);

wr_dat(disdata[3]);//显示小数位

}

}

/********************主程序***********************************/ void main()

{

lcd_init();//初始化显示

while(1)

{

read_temp(1);//读取温度

ds1820disp(1);//显示

read_temp(2);//读取温度

ds1820disp(2);//显示

// delay1ms(10000);

}

}

基于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温度测量系统设计 课程名称单片机原理及应用 学生姓名尹彬涛 学号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的测温原理

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温度检测

目录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原理与分析 DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-BOARD)专利技术。全部传感器元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而经济的特点,使用户可轻松的组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小,更经济,更灵活。使你可以发挥“一线总线”的优点。 在传统的模拟信号远距离温度测量系统中,需要很好地解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器DS18B20体积小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 DS18B20的主要特征:(1)全数字温度转换及输出。(2)先进的单总线数据通信。(3)最高12位分辨率,精度可达土0.5摄氏度。(4) 12位分辨率时的最大工作周期为750毫秒。(5)可选择寄生工作方式。6)检测温度范围为–55°C ~+125°C (–67°F ~+257°F) (7)内置EEPROM,限温报警功能。 (8)64位光刻ROM,内置产品序列号,方便多机挂接。(9)多样封装形式,适应不同硬件系统。 DS18B20引脚定义: (1) DQ为数字信号输入/输出端;(2) GND为电源地; (3) VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

基于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 构成测温系统---论文篇

[实验任务] 用一片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有 严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。

基于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温度传感器课程设计报告

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

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

(完整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显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有如下优点:1、耗电省、2、使用寿命长、3、成本低、4、亮度高、5、视角大、6、可视距离远、7、规格品种多。 3.3控制器模块的设计及论证 单片机是指一个集成在一块电路芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:中央处理单元CPU、存储器/RAMROM和各种/IO接口,目前大部分还会具有外部存储扩展。采用STC89C52单片机。它是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8的微处理器。该器件采用ATMEL高密度非易失存储器技术制造,与工业标准51MCS指令集和输出管脚相兼容。属于51单片机系列,是C51单片机向下完全兼容51全部系列产品。该款单片机片内含8k Bytes ISP(I-system programmable)可反复擦写1000次的Flash只读存储器,可以通过串口进行程序的烧写,内带2k Bytes EEPROM存储空间,4个8位的可编程并行I/O口(P0口,P1口,P2口,P3口),一个全双工串口,5个中断源,2级中断优先权,3个16位的定时器/计数器),具有四种工作方式以及

温度传感器DS18B20测温系统的设计

课程设计报告 题目:温度传感器DS18B20测温系统的设计 姓名:李彬 专业:电子信息工程B 班级号:08212 学号:08212025 2010/12/1

目录 温度传感器DS18B20测温系统的设计 (3) 摘要 (3) 关键词 (3) 一. 引言 (3) 二.元器件资料 (4) 1.DS18B20 (4) 2. STC80C52单片机芯片引脚功能介绍 (6) 3. LCD1602 (7) 三. 方案论证 (10) 采用数字温度芯片DS18B20 (10) 四.总体设计 (10) 1.硬件设计 (10) 1设计思路 (10) 2总体设计方框图 (11) 3.原理图 (11) 2.软件设计 (12) 1主程序 (12) 2读出温度子程序 (13) 3温度转换命令子程序 (13) 4计算温度子程序 (14) 5显示数据刷新子程序 (14) 6 温度数据的计算处理方法 (14) 五.总结与体会 (14) 附录一:程序 (15) 附录二:实物图 (20)

温度传感器DS18B20测温系统的设计 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于 STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测 温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实 现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;温度检测;STC89C52;DS18B20; 一. 引言 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和 信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能集成温度传感器。 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,STC89C51单片机为控制器构成的数字温度 测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用STC公司的STC89C52

DS18B20测温教程

DS18B20 一、DS18B20背景介绍 美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(O N-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 二、DS18B20主要特性 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。因此,DS18B20具有以下特性: 1.适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电 2.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 3.DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 4.DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 5.温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃ 6.可编程的分辨率为9~12位,对应的可分辨温度分别为0.

5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温 7.在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快8.测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力9.负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 三、DS18B20的外形和内部结构 1、DS18B20的外形结构如下图所示: DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端。

基于DS18B20STC89C52单片机LCD1602液晶显示测温系统C程序完整版

基于ds18b20 STC89c52单片机测温系统LCD1602液晶显示 (C程序完整版) 温度传感器的种类众多,在应用与高精度、高可靠性的场合时 DALLAS (达拉斯)公司生产的 DS18B20 温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得 DS18B20 更受欢迎。对于我们普通的电子爱好者来说,DS18B20 的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽您对单片机开发的思路。如果要更全的资料请搜索“完整的ds18b20中文资料.pdf “。 DS18B20 的主要特征: …全数字温度转换及输出。 …先进的单总线数据通信。 …最高 12 位分辨率,精度可达土 0.5摄氏度。 … 12 位分辨率时的最大工作周期为 750 毫秒。 …可选择寄生工作方式。 …检测温度范围为–55°C ~+125°C (–67°F ~+257°F) …内置 EEPROM,限温报警功能。 … 64 位光刻 ROM,内置产品序列号,方便多机挂接。 …多样封装形式,适应不同硬件系统。

DS18B20 引脚功能: ·GND 电压地·DQ单数据总线·VDD电 源电压·NC空引脚 DS18B20 工作原理及应用: DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解 18B20的内部存储器资源。18B20 共有2种形态的存储器资源,它们分别是: 1> ROM 只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是19H),后面48 位是芯片唯一的序列号,最后 8位是以上 56的位的 CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。

DS18B20温度传感器设计报告

传感器课程设计 ---数字温度计专业:计算机控制技术 年级:2011 级 姓名:樊益明 学号: 20113042 指导教师:刘德春 阿坝师专电子信息工程系

1.引言 1.1.设计意义 在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。其缺点如下: ●硬件电路复杂; ●软件调试复杂; ●制作成本高。 本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。 DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。 2 设计要求 2.1基本要求 1) 用LCD12232实现实时温度显示温度和自己的学号。 2) 采用LED数码管直接读显示。 2.2扩展功能 温度报警,能任意设定温度范围实现铃声报警; 3资料准备 3.1单片机89C52模块 单片机89C52是本设计中的控制核心,是一个40管脚的集成芯片构成。引脚部分:单片机引脚基本电路部分与普通设计无异,40脚接Vcc+5V,20脚接地。X1,X2两脚接12MHZ的晶振,可得单片机机器周期为1微秒。RST脚外延一个RST复位键,一端通过10K电阻接Vcc,一端通过10K电阻接地。AT89S52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash 存储器。使

用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。P 0口接一个470的上拉电阻。P0口0~8脚接4位共阳数码管的段选,P2口0~4脚接4位共阳数码管的位选,P3.7接DS18B20采集信号。 3.2 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软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己 的经济的测温系统。3.3 温度传感器的工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉

DS18B20供电方式

5、DS18B20的应用电路 DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。下面就是DS18B20几个不同应用方式下的测温电路图: 5.1、DS18B20寄生电源供电方式电路图 如下面图4所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 独特的寄生电源方式有三个好处: 1)进行远距离测温时,无需本地电源 2)可以在没有常规电源的条件下读取ROM 3)电路更加简洁,仅用一根I/O口实现测温 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。 因此,图4电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 注:站长曾经就此电路做过实验,在实验中,降低电源电压VCC,当低于4.5V

时,测出的温度值比实际的温度高,误差较大。。。当电源电压降为4V时,温度误差有3℃之多,这就应该是因为寄生电源汲取能量不够造成的吧,因此,站长建议大家在开发测温系统时不要使用此电路。 图4 5.2、DS18B20寄生电源强上拉供电方式电路图 改进的寄生电源供电方式如下面图5所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET 把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。

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