你好
对于18b20的速度来说个人感觉有两点值得考虑:
首先,750ms是在12位分辨率下的转换时间,也就是0.0625摄氏度,如果用不到高分辨率的话可以把分辨率设低,比如9位,这时的转换时间可减少到大约90ms左右,分辨率0.5摄氏度。一次完整的温度采集周期最少100ms左右。
其次,18b20对时序要求比较严格,大部分例程都采用delay()这样的延时方法来处理时序,这样也造成处理效率比较低下,特别是在系统负荷比较重的情况下。所以在设计中就采用定时器状态机的方法来处理时序。我在avr上用过这样的方法,效率很高,稳定性很好,mcu在处理温度时还可处理别的任务。这样可移植性也好也些,只需关心定时周期,而不用去算delay()在不同处理器时钟下到底多长,当然这种方法需要处理好中断响应和优先级的关系,最好将定时中断的优先级设为最高,或尽量减少其他中断的处理时间。
所以,0.1s的采集速度一般是够用了,如果需高速测温,如pid温控场合,记得有一种热电偶芯片max6675,spi接口的,速度很快,没用过,价格较贵。
也可用传统模拟传感器A/D高速采样,滤波处理。如pt100铂电阻。可查一下资料。精度要求不高的话不高也可用热敏电阻,1n4148二极管的结压降虽温度变化的特性来测温。