看看18b20的数据表,你就明白了。不好意思,我在stm32上移植了ucos,STM32读18B20怎么样?stm32控制大功率电阻的温度到50度,现在需要用DS18B20的采集温度来驱动程序内部使用自己的延时!与DS18B20只能测量温度相比,DHT11可以同时检测温度和湿度,但DHT11的精度和测量范围低于DS18B20,其测温范围为0~50℃,误差为±2℃,湿度的测量范围为20%~90%RH(相对湿度是指空气中水蒸气压力与饱和水蒸气压力的百分比),误差为±5% RH。

1、DHT11详细介绍(内含基于51和STM32平台的驱动代码

DHT11数字温湿度传感器是一种带校准数字信号输出的温湿度复合传感器。一个8位微控制器控制一个电阻式湿度传感器和一个NTC温度传感器。虽然DHT11也采用单总线协议,但和DS18B20的单总线协议略有不同。与DS18B20只能测量温度相比,DHT11可以同时检测温度和湿度,但DHT11的精度和测量范围低于DS18B20,其测温范围为0~50℃,误差为±2℃。湿度的测量范围为20%~90%RH(相对湿度是指空气中水蒸气压力与饱和水蒸气压力的百分比),误差为±5% RH。

2、 stm32控制大功率电阻温度为50度,PID算法,求 程序和硬件电路思路,最好...

我能为您效劳吗?谢谢你。希望能给点指导,比如用什么设备或者什么知识。有点帮不上忙。第一次做东西,不知道怎么下手,硬件建不起来,第一次接触PID。第一:你的DS18B20需要绑定这个电阻,而且要包的很紧。第二:你是DC电压吗?即PWM波形来控制,占空比越小,电压越低,电阻发热越小,反之越大。第三:比如你的频率设置为80hz,然后电阻导通电压的时间可以通过这个80hZ的频率来调整,通过获取DS18B20的温度来相应调整占空比。

3、关于STM32读18B20的问题?

看看18b20的数据表,你就明白了。18b20是单条数据线传输的,所以需要逐位接收,低位先接收,所以每次接收数据都会和数据的最高位进行“或”运算(这样不会修改其他位的数据)。接收一位后,需要将数据data右移一位,使数据的最高位空闲,可以继续接收。这样的循环,比如00000000B收到1,运算1000000b后右移,01000000B收到1或运算11000000B。这样的循环或运算可以很好地进行比特运算,而不影响其他比特,因为低位先接收,所以选择右移,同样,如果内聚是高位接收,则使用左移。

4、请问我在 stm32上移植了ucos,现在需要使用到DS18B20采集温度

DS18B20驱动程序内部还是自己写延时吧!任务之间的延迟使用UCOS的延迟函数。第一,读18b20时关闭任务切换,不调度任务;第二,通过任务通信互斥或邮箱暂停其他任务;第三,关闭中断;第四,如果将操作18B20的任务优先级设置在高点或者在操作过程中延迟任务优先级,可以使用ucos的延迟功能或者自己编写,但是最好使用ucos。


文章TAG:stm32  ds18b20  程序  stm32程序ds18b20  
下一篇