搜索
bottom↓
回复: 18

请教各位高手DS18B20的9位分辨率如何设置啊?

[复制链接]

出0入0汤圆

发表于 2010-1-8 15:48:24 | 显示全部楼层 |阅读模式
帮忙的,路过的,有事的,没事的,各位大哥大姐们,小弟正在弄DS18B20的实验,实验要求我用DS18B20的9位分辨率进行温度测量,小弟费劲了千辛万苦,也没有达到实验效果,希望各位好心人能给小弟点帮助,让我能够从痛苦的挣扎中解脱出来,在此小弟先谢过了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-1-8 16:38:55 | 显示全部楼层
要达到什么效果啊?

出0入0汤圆

 楼主| 发表于 2010-1-11 10:26:03 | 显示全部楼层
回复【1楼】dudu_q
-----------------------------------------------------------------------
DS18b20默认的情况下是12位数据采集,可实在12位的情况下,速率很慢,我的实验要求就是把速率提上来,采用9位数据采集

出0入0汤圆

发表于 2010-1-11 15:54:56 | 显示全部楼层
一般情况下的温度值应为9 位(符号占1 位) , 但因符号位扩展成高8 位, 故以16 位补码形式读出。
哪里来的12位呢?

出0入0汤圆

发表于 2010-1-11 23:36:06 | 显示全部楼层
呵呵。我今天才做了。
步骤是:先写0x1f到配置寄存器,这就是9位,再保存到18B20EEPROM里面
再把第一步的程序注释掉,用你12位的程序读温度,你发现变成9位了。

出0入0汤圆

发表于 2010-1-11 23:36:51 | 显示全部楼层
还有一个方法就是取12位里面的9位。

出0入0汤圆

发表于 2010-1-11 23:37:41 | 显示全部楼层
速率的问题其是不大,你可以用定时的方式解决

出0入0汤圆

 楼主| 发表于 2010-1-12 10:12:27 | 显示全部楼层
回复【4楼】kaixinlaohe
-----------------------------------------------------------------------

呵呵,谢谢你啊。不过你说的我有点不懂啊,“把第一步的程序注释掉”是什么意思啊?

出0入0汤圆

 楼主| 发表于 2010-1-12 10:13:35 | 显示全部楼层
回复【3楼】dudu_q
-----------------------------------------------------------------------

DS18b20是9~12位可编程的

出0入0汤圆

发表于 2010-1-14 11:43:14 | 显示全部楼层
以前做的时候还真没细看
又翻了一下
设置分辨率是设置存储器里面的第九个字节冗余检验字节
修改里面的R1和R0就可以设定分辨率了。

出0入0汤圆

 楼主| 发表于 2010-1-14 17:57:59 | 显示全部楼层
回复【9楼】dudu_q
-----------------------------------------------------------------------

是啊,PDF里面说的轻松啊,实际操作起来好难啊!

出0入0汤圆

发表于 2010-1-14 18:03:06 | 显示全部楼层
enum ds18b20_bits {
   DS18B20_BITS_9   =   0x1F,
   DS18B20_BITS_10  =   0x3F,
   DS18B20_BITS_11  =   0x5F,
   DS18B20_BITS_12  =   0x7F,
   };
// 设置上下限温度和位数
void  DS18B20Config(unsigned char alarm_h,unsigned char alarm_l,unsigned char  bits)
{
        OWWriteByte(0x4E);
        OWWriteByte(alarm_h);
        OWWriteByte(alarm_l);
        OWWriteByte(bits);
}

点击此处下载 ourdev_526069.rar(文件大小:7K) (原文件名:atmega_ds18b20_api.rar)

出0入0汤圆

 楼主| 发表于 2010-1-14 18:14:00 | 显示全部楼层
哥们,先谢谢你了啊!回头试一下。

出0入0汤圆

发表于 2010-2-3 15:07:42 | 显示全部楼层
11楼的 资料下载不了

出0入0汤圆

发表于 2011-8-2 12:59:57 | 显示全部楼层
正需要呢,谢谢啊,回去我好好看看

出0入0汤圆

发表于 2011-8-24 08:48:25 | 显示全部楼层
18B20不显示采集温度是怎么回事啊,前几天还显示呢,
现在只是显示初始化温度0℃

出0入0汤圆

发表于 2012-10-28 09:01:37 | 显示全部楼层
我 也遇到这样的问题唉,

出0入0汤圆

发表于 2012-10-28 09:53:42 | 显示全部楼层
为什么我配置成12位与配置 成9位读出的数据是一样的

出0入0汤圆

发表于 2012-12-1 10:58:34 | 显示全部楼层
rauqwmourmhtkgn 发表于 2012-10-28 09:53
为什么我配置成12位与配置 成9位读出的数据是一样的

我也是啊!!!  怎么回事  我读出来 都已经是1F 的了,显示温度数据   还是12位的   !
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表