资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
温度测量模块温度测量模块 设计目的 设计任务 设计原理 程序设计流程设计目的 掌握DS18B20数字温度传感器的工作原理及使 用方法 掌握对DS18B20转换数据进行处理的方法 学习用数码管显示复杂数据的方法设计任务 基本要求:用AT89C51控制DS18B20,读取数据对DS18B20转换后的数据进行处理,转换成 实际温度值将符号位,整数值和小数值分别存放在特定 的存储单元中.设计任务 进阶要求:在数码管上显示DS18B20测出的温度,只要 求显示出温度值的整数部分及符号位.设计任务 高级要求:使用6位数码管显示测得的温度最高位为符号位,如果温度值为正,不显示 ,如果温度为负,则显示负号第24位显示温度值的整数部分,并在第4 位数据上显示小数点第5位显示一位小数最低位显示摄氏度符号“C” 基于DS18B20的测温系统结构图 DS18B20数字温度传感器概述 只要求一个端口即可实现通信 在DS18B20中的每个器件上都有独一无二的序列号 实际应用中不需要外部任何元器件即可实现测温 测量温度范围在55到125 之间 数字温度计的分辨率用户可以从9位到12位选择 内部有温度上、下限告警设置DS18B20详细引脚功能描述序号名称引脚功能描述 1GND地信号 2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用 着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚 必须接地。DS18B20引脚结结构图图(底视图视图 )DS18B20的内部结构DS18B20的温度/数据寄存器温度寄存器格式温度/数据的关系DS18B20的命令序列 初始化:由主机发出的复位脉冲和跟在其后的由DS18B20发 出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时 ,即向主机表明它已处在总线 上并且准备工作。 ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机 指定某一特定器件(如果有多个器件挂在总线 上)与之进行 通信。 功能命令:主机通过功能命令对DS18B20的Scratchpad存储 器进行读/写,或者启动温度转换 。初始化ROM命令功能命令DS18B20的ROM命令命令描述协议此命令发出后1-Wire 总线上的活动 SEARCH ROM识别总线上挂着的所有 DS18B20的ROM码F0h所有DS18B20向主机 传送ROM码 READ ROM当只有一个DS18B20挂在总线 上时,可用此命令来读取 ROM码33hDS18B20向主机传送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向主机传送转换状态( 寄生电源不适用) 存 储 器 命 令 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的读/写时序二进制小数与显示码的关系二进制小数位四位十进制小数保留一位对应显示码(共阴) 00000.000003FH 00010.0625106H 00100.1250106H 00110.187525BH 01000.250034FH 01010.312534FH 01100.3750466H 01110.4375466H 10000.500056DH 10010.562567DH 10100.625067DH 10110.6875707H 11000.750087FH 11010.812587FH 11100.875096FH 11110.937596FH程序设计流程程序设计流程读温度值子程序DQ置1DS18B20复位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=2(2字节)已读8位返回数据处理子程序C清零设R2=8(8位数据)进位标志位C清0为DQ提供一个低脉冲将DQ值读入CACC带进位右移1位将ACC中的值存入R1R1=R1-1读完2字节符号位SIGN清零将转换数据高字节最高 位移入CC=1C清零SIGN置1,表示负数将转换数据低字节逐位 取反再加1转换数据高字节加进 位C分离整数与小数,整数存入 INTEG,小数存入DECIM返回YNYNYN
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号