ds18b20默认上下限是多少,DS18B20温度计89s52
来源:整理 编辑:亚灵电子网 2023-05-17 01:12:47
1,DS18B20温度计89s52
我博客上有参考程序,你只要加一点功能就符合你的要求了。当然,我也可以给你做一个模型,你看懂了,再照着做一个。

2,DS18B20怎么设置上下限
首先对DS18B20进行初始化:ds18b20Check()这一步同时也是检测是否有DS18B20挂接在总线上;其次对DS18B20写ROM指令:ds18b20Write(0xcc)这一步是跳过ROM匹配,只适合总线挂载单个DS18B20的情况;接着对DS18B20写存储器指令:ds18b20Write(0x4e)这一步是向DS18B20发出写RAM第3、4字节的指令,第3个字节是上限温度寄存器,第4个字节是下限温度寄存器;再接着传2个字节给DS18B20:ds18b20Write(0x1e); ds18b20Write(0x1c);其中0x1e就是你要设置的上限温度,0x1c就是你要设置的下限温度,可以自己更改!!这样就设置成功了,代码如下:# define uchar unsigned charsbit CWY=P3^3; //CWY是DS18B20总线在单片机上的控制位,我的是P3^3bit ds18b20Check() bit flag; uchar i; CWY=1; _nop_(); CWY=0; for(i=0;i<200;++i) //延迟600us ; CWY=1; //将总线拉高,控制权交给从器件 for(i=0;i<30;++i) ; flag=CWY; for(i=0;i<80;++i) //这步很重要,必须等待时序结束后 ; return !flag;}void ds18b20Write(uchar dat) uchar i,time; for(i=0;i<8;++i) CWY=1; _nop_(); CWY=0; CWY=dat&0x01; for(time=0;time<30;++time) ; for(time=0;time<1;++time) //两个写时序间的恢复时间 ; dat>>=1; }}//上面是函数定义,下面是主要的操作过程,开头已经说明了 ds18b20Check(); ds18b20Write(0xcc); ds18b20Write(0x4e); ds18b20Write(0x1e); ds18b20Write(0x1c);//END

3,我在学习DS18B20温度传感器不知道温度上限TH跟下限TL的数值应该怎么设
我这两天也在学习使用这个芯片,温度上下限TH/TL是用来设定报警功能的,如果温度超过上限或者低于下限就会发出报警信号,如果你不使用温度报警功能的话应该可以不用专门设置这两个寄存器。至于数值代表的温度,我觉得应该是结合当前设定的温度分辨率。但是这样有一个问题,因为TH和TL都只有一个字节,就存在一个表示范围问题。我查了芯片的英文版pdf,里面好像也没专门解释这个问题。个人理解,我再看看,共同学习 补充:下面这段话是DS18B20pdf手册里面的,说明我之前的理解是对的,嘻嘻。确实存在表示范围的问题。至于这个问题的解决,可能就要如书生说的,读完之后处理、因为芯片的设计要兼顾功能和复杂性各个方面,不大可能设计的太完美。OPERATION - ALARM SIGNALINGAfter the DS18B20 has performed a temperature conversion, the temperature value is compared to the trigger values stored in TH and TL. Since these registers are 8-bit only, bits 9-12 are ignored for comparison. The most significant bit of TH or TL directly corresponds to the sign bit of the 16-bit temperature register. If the result of a temperature measurement is higher than TH or lower than TL, an alarm flag inside the device is set. This flag is updated with every temperature measurement. As long as the alarm flag is set, the DS18B20 will respond to the alarm search command. This allows manyDS18B20s to be connected in parallel doing simultaneous temperature measurements. If somewhere the temperature exceeds the limits, the alarming device(s) can be identified and read immediately without having to read non-alarming devices.

文章TAG:
ds18b20默认上下限是多少默认 上下 上下限