欢迎来到天天文库
浏览记录
ID:38604959
大小:1.44 MB
页数:20页
时间:2019-06-16
《基于ds18b20的温度测量模块设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、温度测量模块温度测量模块设计目的设计任务设计原理程序设计流程设计目的掌握DS18B20数字温度传感器的工作原理及使用方法掌握对DS18B20转换数据进行处理的方法学习用数码管显示复杂数据的方法设计任务基本要求:用AT89C51控制DS18B20,读取数据对DS18B20转换后的数据进行处理,转换成实际温度值将符号位,整数值和小数值分别存放在特定的存储单元中.设计任务进阶要求:在数码管上显示DS18B20测出的温度,只要求显示出温度值的整数部分及符号位.设计任务高级要求:使用6位数码管显示测得的温度最高位为符号位,如
2、果温度值为正,不显示,如果温度为负,则显示负号第2—4位显示温度值的整数部分,并在第4位数据上显示小数点第5位显示一位小数最低位显示摄氏度符号“C”基于DS18B20的测温系统结构图DS18B20数字温度传感器概述只要求一个端口即可实现通信在DS18B20中的每个器件上都有独一无二的序列号实际应用中不需要外部任何元器件即可实现测温测量温度范围在-55℃到+125℃之间数字温度计的分辨率用户可以从9位到12位选择内部有温度上、下限告警设置DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/
3、输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20引脚结构图(底视图)DS18B20的内部结构DS18B20的温度/数据寄存器温度寄存器格式温度/数据的关系DS18B20的命令序列初始化:由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件
4、(如果有多个器件挂在总线上)与之进行通信。功能命令:主机通过功能命令对DS18B20的Scratchpad存储器进行读/写,或者启动温度转换。初始化ROM命令功能命令DS18B20的ROM命令命令描述协议此命令发出后1-Wire总线上的活动SEARCHROM识别总线上挂着的所有DS18B20的ROM码F0h所有DS18B20向主机传送ROM码READROM当只有一个DS18B20挂在总线上时,可用此命令来读取ROM码33hDS18B20向主机传送ROM码MATCHROM主机用ROM码来指定某一DS18B20,只有匹
5、配的DS18B20才会响应55h主机向总线传送一个ROM码SKIPROM用于指定总线上所有的器件CCh无ALARMSEARCH与SEARCHROM命令类似,但只有温度超出警报线的DS18B20才会响应ECh超出警报线的DS18B20向主机传送ROM码DS18B20的功能命令命令描述协议此命令发出后1-Wire总线上的活动温度转换命令ConvertT开始温度转换44hDS18B20向主机传送转换状态(寄生电源不适用)存储器命令ReadScratchpad读暂存器完整的数据BEhDS18B20向主机传送总共9字节的数据
6、WriteScratchpad向暂存器的2、3和4字节写入数据(TH,TL和精度)4Eh主机向DS18B20传送3个字节的数据CopyScratchpad将TH,TL和配置寄存器的数据复制到EEPROM48h无RecallE2将TH,TL和配置寄存器的数据从EEPROM中调到暂存器中B8hDS18B20向主机传送调用状态ReadPowerSupply向主机示意电源供电状态B4hDS18B20向主机传送供电状态DS18B20初始化脉冲DS18B20的读/写时序二进制小数与显示码的关系二进制小数位四位十进制小数保留一位
7、对应显示码(共阴)00000.000003FH00010.0625106H00100.1250106H00110.187525BH01000.250034FH01010.312534FH01100.3750466H01110.4375466H10000.500056DH10010.562567DH10100.625067DH10110.6875707H11000.750087FH11010.812587FH11100.875096FH11110.937596FH程序设计流程程序设计流程读温度值子程序DQ置1DS18
8、B20复位FLAG1=1发送0CCH命令,跳过ROM匹配发送温度转换命令44H延时750微秒以上DS18B20初始化跳过ROM匹配发送读温度命令0BEH调用读数据子程序返回写DS18B20命令子程序设R2=8进位标志位C清零短延时DQ置0ACC带进位右移1位将C值写入DQ短延时DQ置1已读8位DQ置1返回YNYN程序设计流程读温度值子程序设R1=31H设R4
此文档下载收益归作者所有