| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 51单片机读取DS18B20(单总线) -> 正文阅读 |
|
[嵌入式]51单片机读取DS18B20(单总线) |
一、DS18B20简介 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点
DS18B20器件框图 ? 图中: 1. 64-BT ROM:作为器件地址。用于总线通信的寻址。每个DS18B02都有一个ID号,用来寻址,相当于一个大门,当只有一个单总线设备时,可以选择跳过这个大门; 2. SCRATHPAD,属于RAM, (暂存器)公用于总线的数据交互 3. EEPROM用于保存温度触发阚值和配置参数 4. MEMORY CONTROL LOGIC 内存控制逻辑,相当于管家,操作底下的暂存器; 5. TEMPERATURE SENSOR 是温度传感器,直接将数据处理好放在暂存器中; 6. 最后两个都是设置阈值的,用于报警; 7. 第四个是配置寄存器,设置分辨率,默认最高分辨率0.0625,可以设置为0.5的分辨率,使得运算的更快一些; 8. 第五个是校验寄存器; 下图为DS18B20内部存储器结构 ?无法通过写数据直接给EEPROM写数据,只能写入到暂存器中,通过发送指令,再让暂存器中的数据复制到EEPROM。 ?二、单总线介绍
设备的DQ均要配置成开漏输出模式 ? 1. 初始化 主机将总线拉低至少480us,然后释放总线,等待15~60us后, 存在的从机会拉低总线60~ 240us以响应主机,之后从机将释放总线 2.发送一位数据 主机将总线拉低60~120us,然后释放总线,表示发送0;主机将总线拉低1~ 15us, 然后释放总线,表示发送1。从机将在总线拉低30us后(典型值)读取电平,整个时间片应大于60us? 3.接收一位数据 主机将总线拉低1~15us,然后释放总线,并在拉低后15us内读取总线电平(尽量贴近15us的末尾),读取为低电平则为接收0,读取为高电平则为接收1?,整个时间片应大于60us? ? 4. 发送一个字节 ? 5.接收一个字节 ? 6.DS18B20操作流程
?7.DS18B20数据帧 8.DS18B20数据存储格式 ?其中低四位表示小数,高五位表示符号,中间是整数部分 ? ? ?9.温度操作
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:50:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |