DS18B20温度传感器实验报告Word格式.docx

上传人:b****2 文档编号:14947853 上传时间:2022-10-26 格式:DOCX 页数:12 大小:30.78KB
下载 相关 举报
DS18B20温度传感器实验报告Word格式.docx_第1页
第1页 / 共12页
DS18B20温度传感器实验报告Word格式.docx_第2页
第2页 / 共12页
DS18B20温度传感器实验报告Word格式.docx_第3页
第3页 / 共12页
DS18B20温度传感器实验报告Word格式.docx_第4页
第4页 / 共12页
DS18B20温度传感器实验报告Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

DS18B20温度传感器实验报告Word格式.docx

《DS18B20温度传感器实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《DS18B20温度传感器实验报告Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

DS18B20温度传感器实验报告Word格式.docx

2.DS18B20主要特性:

a.适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电

b.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

c.DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

d.DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

e.测温范围-55℃~+125℃,在-10~+85℃时精度为±

0.5℃

f.可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温

g.在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快

h.测量结果直接输出数字温度信号,以"

一线总线"

串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

i.负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

四、实验步骤

硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。

软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试。

本次实验采用C语言进行编写,keilC51进行编程调试。

五、实验程序

#include"

STC15F104E.h"

intrins.h"

stdio.h"

#defineuintunsignedint

#defineucharunsignedchar

sbitrs=P3^5;

sbitrw=P3^6;

sbiten=P3^7;

sbitDS=P3^2;

ucharn,m=0;

uchart;

uintROM_COAD[9];

uintlie[8];

ucharcodetable[]="

TEMP:

"

;

ucharcodetable1[]="

ERROR"

ucharcodetable3[]="

0123456789abcdef"

ucharcodecrc_array[256]={

0x00,0x5e,0xbc,0xe2,0x61,0x3f,0xdd,0x83,

0xc2,0x9c,0x7e,0x20,0xa3,0xfd,0x1f,0x41,

0x9d,0xc3,0x21,0x7f,0xfc,0xa2,0x40,0x1e,

0x5f,0x01,0xe3,0xbd,0x3e,0x60,0x82,0xdc,

0x23,0x7d,0x9f,0xc1,0x42,0x1c,0xfe,0xa0,

0xe1,0xbf,0x5d,0x03,0x80,0xde,0x3c,0x62,

0xbe,0xe0,0x02,0x5c,0xdf,0x81,0x63,0x3d,

0x7c,0x22,0xc0,0x9e,0x1d,0x43,0xa1,0xff,

0x46,0x18,0xfa,0xa4,0x27,0x79,0x9b,0xc5,

0x84,0xda,0x38,0x66,0xe5,0xbb,0x59,0x07,

0xdb,0x85,0x67,0x39,0xba,0xe4,0x06,0x58,

0x19,0x47,0xa5,0xfb,0x78,0x26,0xc4,0x9a,

0x65,0x3b,0xd9,0x87,0x04,0x5a,0xb8,0xe6,

0xa7,0xf9,0x1b,0x45,0xc6,0x98,0x7a,0x24,

0xf8,0xa6,0x44,0x1a,0x99,0xc7,0x25,0x7b,

0x3a,0x64,0x86,0xd8,0x5b,0x05,0xe7,0xb9,

0x8c,0xd2,0x30,0x6e,0xed,0xb3,0x51,0x0f,

0x4e,0x10,0xf2,0xac,0x2f,0x71,0x93,0xcd,

0x11,0x4f,0xad,0xf3,0x70,0x2e,0xcc,0x92,

0xd3,0x8d,0x6f,0x31,0xb2,0xec,0x0e,0x50,

0xaf,0xf1,0x13,0x4d,0xce,0x90,0x72,0x2c,

0x6d,0x33,0xd1,0x8f,0x0c,0x52,0xb0,0xee,

0x32,0x6c,0x8e,0xd0,0x53,0x0d,0xef,0xb1,

0xf0,0xae,0x4c,0x12,0x91,0xcf,0x2d,0x73,

0xca,0x94,0x76,0x28,0xab,0xf5,0x17,0x49,

0x08,0x56,0xb4,0xea,0x69,0x37,0xd5,0x8b,

0x57,0x09,0xeb,0xb5,0x36,0x68,0x8a,0xd4,

0x95,0xcb,0x29,0x77,0xf4,0xaa,0x48,0x16,

0xe9,0xb7,0x55,0x0b,0x88,0xd6,0x34,0x6a,

0x2b,0x75,0x97,0xc9,0x4a,0x14,0xf6,0xa8,

0x74,0x2a,0xc8,0x96,0x15,0x4b,0xa9,0xf7,

0xb6,0xe8,0x0a,0x54,0xd7,0x89,0x6b,0x35,

};

voiddelay(uintn)//延时函数

{

uintx,y;

for(x=n;

x>

0;

x--)

for(y=50;

y>

y--);

}

voidDelay1us()//@12.000MHz

{

_nop_();

}

voidDelay60us()//@12.000MHz

unsignedchari,j;

i=1;

j=176;

do

{

while(--j);

}while(--i);

voidDelay750us()//@12.000MHz

i=9;

j=190;

voidDelay1ms()//@12.000MHz

i=12;

j=169;

voidDelay200us()//@12.000MHz

i=3;

j=82;

voidDelay35us()//@12.000MHz

unsignedchari;

i=102;

while(--i);

voidlcd_wcom(ucharcom)//1602写命令函数

{

rs=0;

rw=0;

//选择写

P1=com;

//把命令字送入P1

delay(10);

//延时一小会儿,让1602准备接收数据

en=1;

//使能线电平变化,命令送入1602的8位数据口

en=0;

}

voidlcd_wdat(uchardat)//1602写数据函数

rs=1;

//选择数据寄存器

rw=0;

P1=dat;

//把要显示的数据送入P1

en=1;

//使能线电平变化,数据送入1602的8位数据口

en=0;

}

voidlcd_init()//1602初始化函数

lcd_wcom(0x38);

//8位数据,双列,5*7字形

lcd_wcom(0x0c);

//开启显示屏,关光标,光标不闪烁

lcd_wcom(0x06);

//显示地址递增,即写一个数据后,显示位置右移一位

lcd_wcom(0x01);

//清屏

voidinit_tempr()//DS18B20初始化

DS=1;

Delay1us();

DS=0;

Delay750us();

Delay1ms();

ucharread_byte(void)

uchari,value;

_nop_();

for(i=0;

i<

8;

i++)

value>

>

=1;

if(DS)value|=0x80;

Delay200us();

returnvalue;

voidwrite_byte(uchardat)

uchari;

DS=dat&

0x01;

Delay60us(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1