数字温度传感器DSB应用实例PPT资料.ppt

上传人:b****1 文档编号:14647138 上传时间:2022-10-23 格式:PPT 页数:19 大小:313KB
下载 相关 举报
数字温度传感器DSB应用实例PPT资料.ppt_第1页
第1页 / 共19页
数字温度传感器DSB应用实例PPT资料.ppt_第2页
第2页 / 共19页
数字温度传感器DSB应用实例PPT资料.ppt_第3页
第3页 / 共19页
数字温度传感器DSB应用实例PPT资料.ppt_第4页
第4页 / 共19页
数字温度传感器DSB应用实例PPT资料.ppt_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数字温度传感器DSB应用实例PPT资料.ppt

《数字温度传感器DSB应用实例PPT资料.ppt》由会员分享,可在线阅读,更多相关《数字温度传感器DSB应用实例PPT资料.ppt(19页珍藏版)》请在冰豆网上搜索。

数字温度传感器DSB应用实例PPT资料.ppt

见表3-1所示。

其中,第0、1字节是温度转换有效位,第0字节的低3位存放了温度的高位,高5位存放温度的正负值;

第1字节的高4位存放温度的低位,后4位存放温度的小数部分;

第2和第3个字节是DS18B20的与内部E2PROM的有关的TH和TL,用来存储温度上限和下限,可以通过程序设计把温度的上下限从单片机中读到TH和TL中,并通过程序再复制到DS18B20内部E2PROM中,同时TH和TL在器件加电后复制E2PROM的内容;

第4个字节是配置寄存器,第4个字节的数字也可以更新;

第5,6,7三个字节是保留的。

表3-1-3高速寄存器RAM,3.1.2硬件连接,DS18B20可以作为单片机外设,单片机为主器件,DS18B20为从器件。

上图接法是单片机与一个DS18B20通信,单片机只需要一个I/O口就可以控制DS18B20,为了增加单片机I/O口驱动的可靠性,总线上接有上拉电阻。

如果要控制多个DS18B20进行温度采集,只要将所有DS18B20的DQ全部连接到总线上就可以了,在操作时,通过读取每个DS18B20内部芯片的序列号来识别。

3.2单总线数据传输原理,单总线协议规定一条数据线传输串行数据,时序有严格的控制,对于DS18B20的程序设计,必须遵守单总线协议。

DS18B20操作主要分初始化、写数据、读数据。

下面分别介绍操作步骤。

一、初始化时序,对DS18B20初始化的不得是:

单片机感知DS18B20存在并为下一步操作做准备,同时启动DS18B20,程序设计依据时序进行。

设P1.0口与DS18B20的数据DQ连接,初始化过程如下:

(1)先将数据线置高电平1,然后延时(可有可无);

(2)数据线拉到低电平0。

然后延时750s(该时间范围可以在480960s),调用延时函数决定。

(3)数据线拉到高电平1。

如果单片机P1.0接DS18B20的DQ引脚,则P1.0此时设置高电平,称为单片机对总线电平管理权释放。

此时,P1.0的电平高低由DS18B20的DQ输出决定;

(4)延时等待。

如果初始化成功则在1560ms总线上产生一个由DS18B20返回的低电平0,据该状态可以确定它的存在。

但是应注意,不能无限地等待,不然会使程序进入死循环,所以要进行超时判断。

(5)若单片机读到数据线上的低电平0后,说明DS18B20存在并相应,还要进行延时,其延时的时间从发出高电平算起(第步的时间算起)最少要480s。

(6)将数据线再次拉到高电平1,结束初始化步骤。

过程,对应程序,Init_DS18B20(voiducharx=255;

DQ=1;

delay(10);

/稍做延时DQ=0;

delay(80);

delay(20);

while(DQ,二、对DS18B20写1字节数据,

(1)数据线先置低电平0,发送的起始信号。

(2)延时确定的时间为15s;

(3)按低位到高位顺序发送数据(一次只发送一位)。

(4)延时时间为45s,等待DS18B20接收;

(5)将数据线拉到高电平1,单片机释放总线;

(6)重复步骤,直到发送完整个字节;

(7)最后将数据线拉高,单片机释放总线。

过程,voidwrite_OneChar(uchardat)uchari=0;

for(i=8;

I0;

i-)DQ=0;

delay(5);

DQ=dat,对应程序,三、对DS18B20读1字节数据,

(1)将数据线拉高,时序图见图3-1-5所示;

(2)延时2s,(3)将数据线拉低到0,(4)延时6s,延时时比写数据时间短;

(5)将数据线拉高到1,释放总线(6)延时4s(7)读数据线的状态得到一个状态位,并进行数据处理。

(8)延时30s。

(9)重复步骤,直到读取完一个字节。

过程,对应程序,ucharread_OneChar(void)uchari=0;

uchardat=0;

i0;

/给脉冲信号dat=1;

/给脉冲信号if(DQ)dat|=0x80;

delay(4);

return(dat);

3.3DS18B20的指令集,DS18B20指令主要有ROM操作指令、温度操作指令两类。

每一个DS18B20都有自己独立的编号,存放在DS18B20内部64位ROM中,ROM操作指令主要对其内部64位的编号操作。

内部编号由厂家生产过程中固化,器件编号唯一。

格式见表3-2所示。

表3-2,33H读ROM。

读DS18B20温度传感器ROM中的编码(即64位地址)55H匹配ROM。

发出此命令之后,接着发出64位ROM编码,访问单总线上,与该编码相对应的DS18B20并使之做出响应,为下一步对该DS18B20的读/写做准备F0H搜索ROM。

用于确定挂接在同一总线上DS18B20的个数,识别64位ROM地址,为操作各器件做好准备CCH跳过ROM。

忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于一个从机工作。

ECH告警搜索命令。

执行后只有温度超过设定值上限或下限的芯片才做出响应,一、ROM操作指令(5个),二、温度操作指令(4个),温度操主要对高速寄存器操作,指令共六个,见下表,图3-3DS18B20硬件连接图,3.3实验任务,电路如图所示,请你设计程序,利用三位数码管显示温度,小数点1位。

要求先仿真,最后下载实现。

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

当前位置:首页 > 考试认证 > IT认证

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

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