使用DS18B20设计温控系统
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设计温控系统的更多相关文章
- 10、ERP设计之系统基础管理(BS)- 平台化设计
ShareERP 2013-09-03 ERP业务平台化是每个软件提供商必须要进行的趋势,传统定制化路线已死,不能走定制化的老路了.以往最大问的题是不能累积和沉淀技术及提升项目业务管理能力,其次是管理 ...
- 架构设计:系统存储(24)——数据一致性与Paxos算法(中)
(接上文<架构设计:系统存储(23)--数据一致性与Paxos算法(上)>) 2-1-1. Prapare准备阶段 首先须要介绍几个在Acceptor角色上须要被持久化保存的数据属性: P ...
- 架构设计:系统存储(28)——分布式文件系统Ceph(挂载)
(接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ce ...
- 架构设计:系统间通信(20)——MQ:消息协议(下)
(接上文<架构设计:系统间通信(19)--MQ:消息协议(上)>) 上篇文章中我们重点讨论了"协议"的重要性.并为各位读者介绍了Stomp协议和XMPP协议. 这两种协 ...
- ERP设计之系统基础管理(BS)-日志模块设计(转载)
原文地址:8.ERP设计之系统基础管理(BS)-日志模块设计作者:ShareERP 日志模块基本要素包括: 用户会话.登录.注销.模块加载/卸载.数据操作(增/删/改/审/弃/关等等).数据恢复.日志 ...
- 架构设计:系统间通信(34)——被神化的ESB(上)
1.概述 从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词.我们还将在其中为读者阐述什么情况下应该使用ESB技术.接下来,为了加深读 ...
- Java生鲜电商平台-电商促销业务分析设计与系统架构
Java生鲜电商平台-电商促销业务分析设计与系统架构 说明:Java开源生鲜电商平台-电商促销业务分析设计与系统架构,列举的是常见的促销场景与源代码下载 左侧为享受促销的资格,常见为这三种: 首单 大 ...
- Redis系列六 - 浅谈如何设计秒杀系统
前言 设计一个系统之前,我们肯定要先确认系统业务场景是怎样的,下面就以某电商平台上的秒杀活动为场景,一起来探讨一个秒杀系统改如何去设计. 场景 我们现在要卖100件纸尿布,按照系统的用户量及以往经验来 ...
- 【python】Leetcode每日一题-设计停车系统
[python]Leetcode每日一题-设计停车系统 [题目描述] 请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 Parki ...
随机推荐
- 面向对象(class0420)
测试 交换两个变量的值 int num1 = 5;int num2=6; 通过程序交换让num1 = 6,num2=5; 求两个数的最大值 (求三个数最大值) 求1-100之间所有奇数的和 找胖子,{ ...
- 稀疏表示(sparse representation)和字典学习
近十几年来,稀疏(sparsity)已经成为信号处理及其应用领域中处于第一位的概念之一.近来,研究人员又致力于过完备(overcomplete)信号表示的研究.这种表示不同于许多传统的表示.因为它能提 ...
- linux set
linux set 命令 功能说明:设置shell. 语 法:set [+-abCdefhHklmnpPtuvx] 补充说明:用set 命令可以设置各种shell选项或者列 出shell变量.单个选 ...
- 不适用临时空间,交换变量a和b
方法1: a = a + b; b = a - b; a = a - b; 方法2: a ^= b; b ^= a; a ^= b; 方法3: a = a * b; b = a / b; a = a ...
- hadoop面试题答案
Hadoop 面试题,看看书找答案,看看你能答对多少(2) 1. 下面哪个程序负责 HDFS 数据存储.a)NameNode b)Jobtracker c)Datanode d)secondary ...
- OC/Swift第三方添加出错解决方法
(未经同意,不得转载!) ------------------------华丽分割线-----------------------
- Android 常用的快捷键(随时更新)
android studio 是google出的一款好用不贵的ide,好像是powerd by idea的那个公司,反正风格上差不多.下面是android studio常用的快捷键设置,记录一下自己用 ...
- 检查class排座位
在写这篇文章之前,xxx已经写过了几篇关于改检查class主题的文章,想要了解的朋友可以去翻一下之前的文章 每日一道理 灯,带有一种明亮的光,每当深夜来临,是它陪伴着你,如此默默无闻.它是平凡 ...
- PHP strlen() 函数
定义和用法 strlen() 函数返回字符串的长度. 语法 strlen(string) 参数 描述 string 必需.规定要检查的字符串. 例子 <?php echo strlen(&quo ...
- web工作方式,浏览网页,打开浏览器,输入网址按下回车键,然后会显示出内容,这个过程是怎样的呢?
以下内容摘自<Go Web编程>,介绍的通俗易懂. 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什 ...