51单片机-温度传感器DS18B20

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2010/09/27/5910469.aspx

温度传感器是各种传感器中最常用的一种,早期使用的是模拟温度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据某个公式就可以计算出当前环境温度。美国DALLAS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外部元件,直接将环境温度转化成数字信号,以数字码方式串行输出,从而大大简化了传感器与处理器的接口。

DS18B20的三种封装:

51单片机-温度传感器DS18B20

DS18B20的内部结构:

51单片机-温度传感器DS18B20

它采用单条信号线,既可传输时钟,又可传输数据,而且数据传输是双向的。如果要控制多个DS18B20进行温度采集,只要将所有的DS18B20的I/O口全部连接到一起就可以了。在具体操作时,通过读取每个DS18B20内部芯片的***来识别。64位光刻ROM中的***是出场前被光刻好的,他可以看做该DS18B20的地址序列码。

DS18B20的复位时序:

51单片机-温度传感器DS18B20

DS18B20复位,确定其存在:




DS18B20的写0和写1时序:

51单片机-温度传感器DS18B20

DS18B20的读数据时序:

51单片机-温度传感器DS18B20

读出光刻ROM中的ID号,在LCD上显示:









读出当前温度,在LCD上显示,温度超过一定时,报警。