您的位置 首页 嵌入式

单片机·DS18B20温度传感器

一、DS18B20的特点1一线总线数字化温度传感器。(一线掌握好时序,比较简单)23~5V宽电压工作范围3分辨9-12位可调二、DS18B20的正确

一、DS18B20的特色

1.“一线总线”数字化温度传感器。(一线把握好时序,比较简单)
2. 3~5V宽电压工作范围
3. 分辩9-12位可调
二、DS18B20的正确接线

面对着扁平的那一面,左负右正,一旦接反就有或许焚毁,也是温度显现85°C的原因。

且只要一根I/O线,留意读写时序 。
三、DS18B20时序介绍
1)复位

输入
t0-t1时间:复位脉冲 480-960us ;
t1-t2时间:开释总线 15-60us ;
检测
t2-t3时间:虚线部分由DS18B20操控,60-240us低电平则表明复位成功,不然失利 ;
t3-t4时间:开释总线
2)写操作

写0时序
输入
t0-15us:坚持低电平,输入0;
检测
15-60us:检测i/o是否为低电平 ;
输入距离>1us
写1时序
输入
t0-15us:拉高电平,输入1;
检测
15-60us:检测i/o是否为高电平
输入距离>1us
3)读操作

t0-t1:坚持4us低电平
t1-15us:DS18B20或许上拉电阻起作用,低电平或许高电平读出
15us-60us:开释总线
三、DS18B20的温度
1.DS18B20的温度格局表
一共是16位,咱们用前5位表明符号位,后11位表明数值
2.DS18B20的温度数据表

125℃/2000 = 0.0625

当符号位为0时,表明正数,0.0625*hex得到温度的值 ;
当符号位为1时,表明负数,将所得到的(数值取反+1)*0.0625得到温度的值;
四、程序
1.发动温度转化
1)复位DS18B20;
2)宣布Skip Rom指令(CCH)【仅适用于只要一个DS18B20】 ;
3)宣布convert指令(44H)
2.读取温度
1)复位DS18B20;
2)宣布Skip Rom指令(CCH);
3)宣布convert指令(BEH);
4)读2字节的温度 ;
5)温度格局转化 ;
程序
main.h
# ifndef _MAIN_H_
# define _MAIN_H_
# include
# include
sbit DQ = P3^2 ;
sbit RS = P1^0 ;
sbit RW = P1^1 ;
sbit EN = P1^5 ;
sbit BUSY = P0^7;
typedef unsigned char uint8 ;
typedef unsigned int uint16 ;
typedef int int16 ;
#define nops() {_nop_();_nop_();_nop_();_nop_();}
#endif
main.c
# include “main.h”
void delay(uint16 n)
{
while(n–) ;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/260620.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部