datasheet真的是得看看啊,比如DS18B20,不然程序都不好写,美国DALLAS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅需要一个IO口,无需任何外部原件,直接将温度转换为数字信号,以数字码方式串行输出,从而大大简化了传感器与微处理器的接口。

  DS18B20在寄生电源方式下可由数据线供电,在使用中不需要任何外围元件,全部传感原件及转换电路集成在形如一只三极管的集成电路上。

  目前常用的单片机与外设之间进行数据传输的串行总线主要有IIC,SPI和SCI总线,期中IIC总线以同步串行二线方式进行通信(一条时钟总线,一条数据总线),SPI总线则以同步串行三线方式进行通信(一条时钟总线,一条数据输入总线,一条数据输出总线),而SPI总线以异步串行方式进行通信(一条数据输入总线,一条数据输出总线)。而DS18B20不同,单总线适用于单主机系统,能够控制一个或者多个从机设备。

  DS18B20的工作原理是最重要的拉,它对时序有很严格的要求,要根据DS18B20的指令来写,如下面的ROM FUNCTIONS FLOW CHART

INITIALIZATION        工作原理
All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence
consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the
slave(s).
The presence pulse lets the bus master know that the DS18B20 is on the bus and is ready to operate. For
more details, see the “1-Wire Signaling” section.

一,Read ROM [33h]

二,Match ROM [55h]

三,Skip ROM [CCh]

四,Search ROM [F0h]

五,Alarm Search [ECh]

而最重要的就是时序图了,

一,初始化

1,将数据线置高电平1

2,延时(要求不高,尽可能短)

3,数据线拉到低电平0

4,延时750us,(该时间范围可在480~960us)

5,数据线拉到高电平1

6,延时等待。如果初始化成功则在15~60ms之间产生一个由DS18B20返回的低电平0,据该状态可以确定它的存在。但是应该注意不能无限延时,其延时的时间从发出高电平算起(第5步骤)最少要480us。

二,DS18B20写数据

1,数据总线先置低电平为0

2,延时确定的时间为15us

3,按从低位到高位的顺序发送数据(一次只能发送一位)

4,延时时间为45us

5,将数据线拉到高电平为1

6,重复1~5的步骤

7,最后将数据线拉高到1

三,DS18B20读数据

1,将数据总线拉高到1

2,延时2us

3,将数据总线拉低到0

4,延时6us

5,将数据总线拉高到1

6,延时4us

7,读数据线的状态得到一个状态位,并进行数据处理

8,重复1~7,直到读取完最后一个字节。

  关于如何使用DS18B20简述概括一下,但是写程序还是得注意很多东西呀,,先这样啦。。。

使用DS18B20设计温控系统的更多相关文章

  1. 10、ERP设计之系统基础管理(BS)- 平台化设计

    ShareERP 2013-09-03 ERP业务平台化是每个软件提供商必须要进行的趋势,传统定制化路线已死,不能走定制化的老路了.以往最大问的题是不能累积和沉淀技术及提升项目业务管理能力,其次是管理 ...

  2. 架构设计:系统存储(24)——数据一致性与Paxos算法(中)

    (接上文<架构设计:系统存储(23)--数据一致性与Paxos算法(上)>) 2-1-1. Prapare准备阶段 首先须要介绍几个在Acceptor角色上须要被持久化保存的数据属性: P ...

  3. 架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

    (接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ce ...

  4. 架构设计:系统间通信(20)——MQ:消息协议(下)

    (接上文<架构设计:系统间通信(19)--MQ:消息协议(上)>) 上篇文章中我们重点讨论了"协议"的重要性.并为各位读者介绍了Stomp协议和XMPP协议. 这两种协 ...

  5. ERP设计之系统基础管理(BS)-日志模块设计(转载)

    原文地址:8.ERP设计之系统基础管理(BS)-日志模块设计作者:ShareERP 日志模块基本要素包括: 用户会话.登录.注销.模块加载/卸载.数据操作(增/删/改/审/弃/关等等).数据恢复.日志 ...

  6. 架构设计:系统间通信(34)——被神化的ESB(上)

    1.概述 从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词.我们还将在其中为读者阐述什么情况下应该使用ESB技术.接下来,为了加深读 ...

  7. Java生鲜电商平台-电商促销业务分析设计与系统架构

    Java生鲜电商平台-电商促销业务分析设计与系统架构 说明:Java开源生鲜电商平台-电商促销业务分析设计与系统架构,列举的是常见的促销场景与源代码下载 左侧为享受促销的资格,常见为这三种: 首单 大 ...

  8. Redis系列六 - 浅谈如何设计秒杀系统

    前言 设计一个系统之前,我们肯定要先确认系统业务场景是怎样的,下面就以某电商平台上的秒杀活动为场景,一起来探讨一个秒杀系统改如何去设计. 场景 我们现在要卖100件纸尿布,按照系统的用户量及以往经验来 ...

  9. 【python】Leetcode每日一题-设计停车系统

    [python]Leetcode每日一题-设计停车系统 [题目描述] 请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 Parki ...

随机推荐

  1. 【原】Storm基本概念

    Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Topologies Streams Spouts Bolts Stream groupings Reli ...

  2. Java面试题:n=2\n1*2*5*6\n--3*4\n\nn=3\n1*2*3*10*11*12\n--4*5*8*9\n----6*7\n如何实现如上结构的数据

    今天学长在面试的时候遇到了一道题,然后让大家做一做. 在不看下面的答案之前,悠闲的朋友们一起来抖动一下大脑吧! 以下是我的想法: import java.util.Scanner;public cla ...

  3. 【转】ExcelHelper类,用npoi读取Excel文档

    //------------------------------------------------------------------------------------- // All Right ...

  4. 怎么解决div覆盖内容却没覆盖的问题?

    一.在上下结构的div布局中,可能出现div覆盖div,但是内容却没有出现覆盖的现象.看看一个示例 1: <!DOCTYPE html> 2: <html> 3: <he ...

  5. NOIP2007 字符串展开

    .字符串的展开 (expand.pas/c/cpp) [问题描述] 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子 ...

  6. python包管理工具

    pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...

  7. Spark的部署方式

    1.Spark的应用程序部署 2.Spark的集群部署

  8. UITableView性能优化

    关于UITableView的性能优化,网络上也有一些总结.在这里就介绍下我们项目中遇到的问题以及对应的解决方法.相信我们遇到的问题也有一定的普适性,能够作为其他问题的优化方案. Instruments ...

  9. .NET通用基本权限系统

    DEMO下载地址: http://download.csdn.net/detail/shecixiong/5372895 一.开发技术:B/S(.NET C# ) 1.Windows XP以上 (支援 ...

  10. 在idea中如何添加log日志

    1.首先下载log4的jar包,官方路径为:http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip 2.下 ...