基于DS18B20的度测量模块的设计03课件_第1页
基于DS18B20的度测量模块的设计03课件_第2页
基于DS18B20的度测量模块的设计03课件_第3页
基于DS18B20的度测量模块的设计03课件_第4页
基于DS18B20的度测量模块的设计03课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、温度测量模块温度测量模块 设计目的 设计任务 设计原理 程序设计流程设计目的 掌握掌握ds18b20ds18b20数字温度传感器的工作原理及使数字温度传感器的工作原理及使用方法用方法 掌握对掌握对ds18b20ds18b20转换数据进行处理的方法转换数据进行处理的方法 学习用数码管显示复杂数据的方法学习用数码管显示复杂数据的方法设计任务 基本要求基本要求: :用用at89c51at89c51控制控制ds18b20ds18b20,读取数据,读取数据对对ds18b20ds18b20转换后的数据进行处理,转换成转换后的数据进行处理,转换成实际温度值实际温度值将符号位将符号位, ,整数值和小数值分别存

2、放在特定整数值和小数值分别存放在特定的存储单元中的存储单元中. .设计任务 进阶要求进阶要求: :在数码管上显示在数码管上显示ds18b20ds18b20测出的温度测出的温度, ,只要只要求显示出温度值的整数部分及符号位求显示出温度值的整数部分及符号位. .设计任务 高级要求高级要求: :使用使用6 6位数码管显示测得的温度位数码管显示测得的温度最高位为符号位,如果温度值为正,不显示,最高位为符号位,如果温度值为正,不显示,如果温度为负,则显示负号如果温度为负,则显示负号第第2424位显示温度值的整数部分,并在第位显示温度值的整数部分,并在第4 4位数据上显示小数点位数据上显示小数点第第5 5

3、位显示一位小数位显示一位小数最低位显示摄氏度符号最低位显示摄氏度符号“c”c” 基于ds18b20的测温系统结构图 ds18b20数字温度传感器概述 只要求一个端口即可实现通信只要求一个端口即可实现通信 在在ds18b20ds18b20中的每个器件上都有独一无二的序列号中的每个器件上都有独一无二的序列号 实际应用中不需要外部任何元器件即可实现测温实际应用中不需要外部任何元器件即可实现测温 测量温度范围在测量温度范围在5555到到125 125 之间之间 数字温度计的分辨率用户可以从数字温度计的分辨率用户可以从9 9位到位到1212位选择位选择 内部有温度上、下限告警设置内部有温度上、下限告警设

4、置ds18b20详细引脚功能描述序号序号名称名称引脚功能描述引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。ds18b20引脚结构图(底视图)引脚结构图(底视图)ds18b20的内部结构ds18b20的温度/数据寄存器温度寄存器格式温度寄存器格式温度温度/数据的关系数据的关系ds18b20的命令序列 初始化:初始化:由主机发出的复位脉冲和跟在其后的由ds18b20发出的应答脉冲构成。当ds18b20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。

5、 rom命令:命令:rom命令通过每个器件64-bit的rom码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。 功能命令:功能命令:主机通过功能命令对ds18b20的scratchpad存储器进行读/写,或者启动温度转换。初始化初始化romrom命令命令功能命令功能命令ds18b20的rom命令 命令命令描述描述协议协议此命令发出后此命令发出后1-wire总线上的活动总线上的活动search rom识别总线上挂着的所有ds18b20的rom码f0h所有ds18b20向主机传送rom码read rom当只有一个ds18b20挂在总线上时,可用此命令来读取rom码33hds18

6、b20向主机传送rom码match rom主机用rom码来指定某一ds18b20,只有匹配的ds18b20才会响应55h主机向总线传送一个rom码skip rom用于指定总线上所有的器件cch无alarm search与search rom命令类似,但只有温度超出警报线的ds18b20才会响应ech超出警报线的ds18b20向主机传送rom码ds18b20的功能命令命令命令描述描述协议协议此命令发出后此命令发出后1-wire总线上的活动总线上的活动温温 度度 转转 换换 命命 令令convert t开始温度转换44hds18b20向主机传送转换状态(寄生电源不适用)存存 储储 器器 命命 令令

7、read scratchpad读暂存器完整的数据behds18b20向主机传送总共9字节的数据write scratchpad向暂存器的2、3和4字节写入数据(th, tl和精度)4eh主机向ds18b20传送3个字节的数据copy scratchpad将th, tl和配置寄存器的数据复制到eeprom48h无recall e2将th, tl和配置寄存器的数据从eeprom中调到暂存器中b8hds18b20向主机传送调用状态read power supply向主机示意电源供电状态b4hds18b20向主机传送供电状态ds18b20初始化脉冲ds18b20的读/写时序二进制小数与显示码的关系二进

8、制小数位二进制小数位四位十进制小数四位十进制小数保留一位保留一位对应显示码对应显示码(共阴共阴)00000.000003fh00010.0625106h00100.1250106h00110.187525bh01000.250034fh01010.312534fh01100.3750466h01110.4375466h10000.500056dh10010.562567dh10100.625067dh10110.6875707h11000.750087fh11010.812587fh11100.875096fh11110.937596fh程序设计流程程序设计流程读温度值子程序读温度值子程序dq

9、dq置置1 1ds18b20ds18b20复位复位flag1=1flag1=1发送发送0cch0cch命令,跳过命令,跳过romrom匹配匹配发送温度转换命令发送温度转换命令44h44h延时延时750750微秒以上微秒以上ds18b20ds18b20初始化初始化跳过跳过romrom匹配匹配发送读温度命令发送读温度命令0beh0beh调用读数据子程序调用读数据子程序返回返回写写ds18b20ds18b20命令子程序命令子程序设设r2=8r2=8进位标志位进位标志位c c清零清零短延时短延时dqdq置置0 0accacc带进位右移带进位右移1 1位位将将c c值写入值写入dqdq短延时短延时dqd

10、q置置1 1已读已读8 8位位dqdq置置1 1返回返回y yn ny yn n程序设计流程读温度值子程序读温度值子程序设设r1=31hr1=31h设设r4=2r4=2(2 2字节)字节)已读已读8 8位位返回返回数据处理子程序数据处理子程序c c清零清零设设r2=8r2=8(8 8位数据)位数据)进位标志位进位标志位c c清清0 0为为dqdq提供一个低脉冲提供一个低脉冲将将dqdq值读入值读入c caccacc带进位右移带进位右移1 1位位将将accacc中的值存入中的值存入r1r1r1=r1-1r1=r1-1读完读完2 2字节字节符号位符号位signsign清零清零将转换数据高字节最高将转换数据高字节最高位移入位移入c cc=1c=1c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论