基于单片机ds18b20的温度测控课程设计内容摘要:

度,可编程为 9位~ 12 位转换精度,测温分辨率可达 摄氏度,分辨率设定参数以及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。 被测温度用符号扩展的 16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个 DS18B20可以并联到 3 根或 2 根线上, CPU只需一 根端口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 DS18B20 的性能特点如下: ● 独特的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯 ● DS18B20支持多点组网功能,多个 DS18B20可以并联在唯一的三线上,实现组网多点测温 ● DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三 极管的集成电路内 ● 适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 ● 温范围- 55℃ ~+ 125℃ ,在 10~ +85℃ 时精度为 177。 ℃ ●零待机功耗 ● 可编程的分辨率为 9~ 12位,对应的可分辨温度分别为 ℃ 、 ℃ 、 ℃和 ℃ ,可实现高精度测温 ● 在 9位分辨率时最多在 , 12位分辨率时最多在 750ms内把温度值转换为数字,速度更快 ●用户可定义报警设置 ●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 ● 测量 结果直接输出数字温度信号,以 一线总线 串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力 ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 以上特点使 DS18B20非常适用与多点、远距离温度检测系统。 DS18B20内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。 DS18B20的管脚排列、各种封装形式如图 , DQ 为课程设计 (论文 ) 7 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源 ; GND为 地信号 ; VDD为 可选择的 VDD引脚。 当工作于寄生电源时,此引脚必须接地。 其电路图 .。 图 图 DS18B20 注意事项 DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: ● DS18B20 从测温结束到将温度值转换成数字量需要一定的转换时间,这是必 须保证的,不然会出现转换错误的现象,使温度输出总是显示 85。 ●在实际使用中发现,应使电源电压保持在 5V 左右,若电源电压过低,会使所测得的温度精度降低。 ● 效果。 在使用 PL/M、 C等高级语言进行的硬件开销需要相对复杂的软件进行补偿,由于 DS1820与微处理器间采用串行数据传送,因此,在对 DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结系统程序设计时,对 DS1820操作部分最好采用汇编语言实现。 课程设计 (论文 ) 8 ●在 DS18B20的有关资料中均未提及单总线上所挂 DS18B20 数量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此,当单总线上所挂 DS18B20 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 ●在 DS18B20测温程序设计中,向 DS18B20 发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个 DS18B20 接触不好或断线,当程序读该 DS18B20 时,将没有返回信号,程序进入死循环,这一点在进行 DS18B20硬件连接和软件设计时也要给予一定的重视。 DS18B20 内部结 图为 DS1820 的内 部框图,它主要包括寄生电源、温度传感器、 64 位激光 ROM 单线接口、存放中间数据的高速暂存器(内含便笺式 RAM),用于存储用户设定的温度上下限值的 TH 和 TL触发器存储与控制逻辑、 8 位循环冗余校验码( CRC)发生器等七部分。 DS18B20采用 3脚 PR- 35 封装或 8脚 SOIC封装,其内部结构框图如图 6 4位R O M和单线接口存 储 器 与 控 制 逻 辑高速缓存温 度 传 感 器高 温 触 发 器 T H低 温 触 发 器 T L配 置 寄 存 器8 位 C R C 发 生 器V d dC 图 DS18B20内部结构框图 课程设计 (论文 ) 9 64 b 闪速 ROM 的结构如下: 8 b i t 检 验 C R C 4 8 b i t 序 列 号 8 b i t 工 厂 代 码 ( 1 0 H )M S B L S BM S BL S B M S B L S B 开 始 8位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。 温度报警触发器 TH和 TL,可通过软件写入户报警上下限。 主机操作 ROM的命令有五种,如表 表 DS18B20温度传感器的内部存储器还包括一个高速暂存 RAM和一个非易失性的可电擦除的 EERAM。 高速暂存 RAM的结构为 8字节的存储器,结构如图。 T H 高 温 寄 存 器 T L 低 温 寄 存 器配 位 寄 存 器预 留 ( F F H )预 留 ( O C H )预 留 ( I O H )循 环 冗 余 码 效 验 ( C R C )T H 高 温 寄 存 器T L 低 温 寄 存 器配 位 寄 存 器温 度 测 量 值 L S B ( 5 0 H )温 度 测 量 值 M S B ( 5 0 H )E2P R O M便 笺 是 存 储 器 ( 上 电 状 态 )B y t e 0B y t e 1B y t e 2B y t e 3B y t e 4B y t e 5B y t e 6B y t e 7B y t e 8} ( 8 5 ℃ ) 图 高速暂存 RAM结构图 指 令 说 明 读 ROM( 33H) 读 DS1820的序列号 匹配 ROM( 55H) 继读完 64位序列号的一个命令,用于多 个 DS1820时定位 跳过 ROM( CCH) 此命令执行后的存储器操作将针对在线的所有 DS1820 搜 ROM( F0H) 识别总线上各器件的编码,为操作各器件作好准备 报警搜索( ECH) 仅温度越限的器件对此命令作出响应 课程设计 (论文 ) 10 前 2 个字节包含测得的温度信息,第 3和第 4字节 TH和 TL的拷贝,是易失的,每次上电复位时被刷新。 第 5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 温度低位 温度高位 TH TL 配置 保留 保留 保留 8 位 CRC LSB MSB 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以 16位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1, 2 字节。 单片 机 可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以 5 ℃ /LSB 形式表示。 温度值格式如下: 2322 21202 12 22 32 4 s s s s s 262524M S BL S BM S B L S B 这是 12 位转化后得到的 12位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 即可得到实际温度。 图中, S表示位。 对应的温度计算:当符号位 S=0 时,表示测得的温度植为正值,直接将二进制位转换为十进制;当 S=1 时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。 例如 +125℃的数字输出为 07D0H,+℃的数字输出为 0191H, ℃的数字输出为 FF6FH, 55℃的数字输出为FC90H。 DS18B20 温度传感器主要用于 对温度进行测量,数据可用 16 位符号扩展的二进制补码读数形式提供,并以 ℃/ LSB 形式表示。 表 是部分温度值对应的二进制温度表示数据。 表 部分温度值 温度 /℃ 二进制表示 十六进制表示 +125 00000111 11010000 07D0H + 00000001 10010001 0191H + 00000000 00001000 0008H 0 00000000 00000000 0000H 课程设计 (论文 ) 11 11111111 11111000 FFF8H 11111110 01101111 FE6FH 55 11111100 10010000 FC90H DS18B20 完成温度转换后,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。