花了一天多时间弄电子温度计,关键问题还是出现在延时不准确,导致不能正常工作。没有严格按照时序中要求的时序,也让我吃了不少苦头。在这里,简单向大家介绍下常用的温度芯片DS18B20。

一、硬件部分

1>引脚

这是常用的DS18b20温度芯片,有引脚三根。

GND:地点

VD:电源线

DQ:数据线

DS18B20使用的一线接口控制,当没有外部电源时,这根线同时作为芯片电源线,也就是寄生电源,在本篇中仅就使用外部电源且总线只挂1个DS18B20进行说明。

2>温度数据存储格式

对应的温度表如下:

从图可知,温度高字节的高5位是表示正负的,全0为正,全1为负。

****************************************************************************************************************

详情请咨询:                                                 http://shop108408772.taobao.com/

**************************************************************************************************************

3>暂存寄存器

有9个字节的暂存寄存器,左表是读取时的寄存器,右表是写入的配置寄存器。

左表第5个字节是配置寄存器,其格式如下:

其中R0、R1用来设置转换精度,具体如下:

默认R0=1,R1=1

****************************************************************************************************************

详情请咨询:                                                 http://shop108408772.taobao.com/

**************************************************************************************************************

4>DS18B20操作流程

第一步,初始化

第二步,ROM命令写入

第三步,暂存器命令写入

第四步,数据的出入

5>初始化

任何命令是以初始化开始的,初始化后,DS18B20在总线上发出存在脉冲,通知主机总线上有温度芯片待操作。

6>ROM命令

作为在总线上只有一个DS18B20的系统,可以使用该指令跳过读ROM码来节省时间。

****************************************************************************************************************

详情请咨询:                                                 http://shop108408772.taobao.com/

**************************************************************************************************************

7>暂存器命令

以上是常用的暂存器指令,44h指令通知DS18B20开始准换温度。BEh指令时开始读暂存器指令,写完该指令后,开始读取总线上9个字节的数据,可以使用初始化指令来停止后面数据的接收。4Eh用来配置DS18B20,不配置时按默认配置进行工作。

8>时序图、

这是初始化时序图

以下是读写时序

****************************************************************************************************************

详情请咨询:                                                 http://shop108408772.taobao.com/

**************************************************************************************************************

对于写操作,要注意每写一位需要至少用60us时间,DS18B20在DQ下降沿开始后15~60us完成数据采样。每一位写之间至少隔1us

对于读操作,注意每读一位需要至少用60us时间。主机至少将DQ拉低1us然后释放总线,之后开始进行采样,在DQ下降沿开始15us之内主机必须将数据读走。每一位读之间至少隔1us。

二、软件部分

下篇继续》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

****************************************************************************************************************

详情请咨询:                                                 http://shop108408772.taobao.com/

**************************************************************************************************************

单片机控制DS18B20自制简易电子温度计(测试通过)(一)相关推荐

  1. 单片机控制DS18B20自制简易电子温度计(测试通过)(二)

    二.软件部分 #include <reg51.h> #include <intrins.h> // 此表为 LED 的字模(共阴极)      0 1     2     3 ...

  2. 单片机18b20c语言程序,AVR单片机控制DS18B20的示例C程序

    原标题:AVR单片机控制DS18B20的示例C程序 #include #include #include #include unsigned char data_H, data_L,wendu; un ...

  3. 使用STM8单片机+NTC热敏电阻自制简易温度巡检仪

      最近在测试设备的时候需要监测设备的温度,平常测试时都是通过红外热成像仪测试,然后手动记录数据.这样测试的话工作量比较大,需要几分钟就记录一次数据.于是想着能不能用单片机做一个测试温度的装置,用电脑 ...

  4. arduino uno r3单片机封装图_单片机控制的OLED简易电子表原型

    在多年以前,我刚开始学单片机的时候,就想着要用51单片机加上0.96英寸的OLED DIY一个电子表,但是可惜当时水平有限,没能实现.现在我早已玩转了STM32,准备向ARM9进发,突然想到了当年的想 ...

  5. 单片机控制雷达测距模块HC-SR04测量距离(通过测试)

    雷达测距模块在小车防撞中应用比较不错,在这篇文章中简单介绍下雷达测距模块HC-SR04的使用. 一.硬件介绍 引脚四个,分别为VCC.TRIG.ECHO.GND 单片机控制引脚TRIG:用于给出促发测 ...

  6. 51单片机温度传感器DS18B20

    51单片机温度传感器DS18B20 实现功能 插上DS18B20温度传感器,数码管显示检测的温度值 单片机型号:STC89C52 DS18B20介绍 1.DS18B20简介 DS18B20 是由 DA ...

  7. 【Proteus仿真】数字温度计,利用 Mega16 控制 DS18B20 ,若温度达到设定阈值,即可报警提醒(用串口控制停止报警、用键盘输入改变报警阈值)

    (代码在文末) 工程文件和代码下载链接如下(求求下载前点个赞支持一下吧QAQ,博主自己做出来这个也hin累的) 链接: https://pan.baidu.com/s/1-aRZjyRZodzLcw8 ...

  8. 51单片机控制SG90舵机、MG90S舵机

    舵机的控制信号为周期是20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化.也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应 ...

  9. 基于51单片机的DS18B20温度控制加热降温系统设计

    基于51单片机的DS18B20温度控制加热降温系统设计 1 开发环境 2 功能说明介绍 3 仿真图 4 程序 5 原理图 6 视频讲解 7 设计报告 7.1 设计目的 7.2 概述 7.3 国内外研究 ...

最新文章

  1. [黑金原创教程] FPGA那些事儿《数学篇》- CORDIC 算法
  2. MySQL基础之控制台常用命令
  3. linux简单使用命令发送邮件
  4. LeetCode 2116. 判断一个括号字符串是否有效(栈)
  5. 国际空间站20年花掉超千亿美金,一些人开始觉得它“没啥用”了
  6. findler mac 隐藏文件_Fiddler配合Proxifier抓包PC客户端HTTPS明文数据
  7. pom.xml文件中nonFilteredFileExtension标签
  8. 凯撒密码(凯撒移位)
  9. 如何进行网站挂马检测与清除
  10. equal 源码剖析
  11. [docker]九、compose是什么?有什么用?以及用compose启动web、redis和wordpress
  12. java线程之可重入锁
  13. CODING 携手 Thoughtworks 助力老百姓大药房打造”自治、自决、自动”的敏捷文化
  14. [HDF5] HDF5安装,编译及使用中的各种问题解决方法(Windows)
  15. 基于AIE平台的决策树算法的黔东南州水稻提取
  16. 1.8寸TFT屏幕显示汉字 PcToLCD2002完美版配置
  17. 【codeforces 821E】Okabe and El Psy Kongroo
  18. Python——几个常用的数学函数
  19. 中国电信开启移动互联网“全”时代
  20. 邀好友赢大奖!快来抽取你的 2019 新年上上签!

热门文章

  1. 2D激光SLAM算法汇总
  2. 6大B2C购物系统比较 1
  3. 中国石油大学《CAD制图》第二阶段在线作业
  4. 智能管家App kotlin版(7)——美女图片加载
  5. 一个手机只能连接一个热点吗_一个手机能登两个微信吗
  6. oa是什么意思?oa系统哪个好用?
  7. RSRP/RSRQ/RSSI/RS-SINR/RS-CINR/RSCP
  8. 【特写】后生可畏,大三学生自主研发毫米级五自由度机械手臂
  9. 一文搞懂:FT、DTFT、DFT、IDFT
  10. 用java编写的爱情红心_如何用java实现每天给对象发情话