17.3 C51单总线温度传感器实例

前面以数字温度传感器DS18S20为例,介绍了单总线接口以及C51模拟单总线的子函数。由于应用最为广泛的51系列单片机没有集成单总线控制器,因此,这里采用C51软件模拟的方法来实现DS18S20单总线接口的操作。

17.3.1 电路设计

系统电路原理图,如图17.7所示。该电路中所使用的元器件列表,如表17.2所示。

17.3 C51单总线温度传感器实例 - 图1

图 17.7 电路图

17.3 C51单总线温度传感器实例 - 图2

系统中采用AT89S52单片机,R3为P0端口的上拉排阻,外接11.0592MHz的晶振。S1为单片机复位开关。AT89S52的P2.0引脚作为单总线接口。从图中可以看出,整个电路只占用了单片机的一个I/O引脚,大大节省了单片机的引脚资源。

在实际应用中,DS18S20可以采用两种供电方式,即外部供电方式和寄生电源供电方式。这里采用的是外部供电方式。

如果采用外部供电方式,如图17.8所示。此时DS18S20可以外接3.3V或者5V的电源,而GND引脚必须接地。

如果采用寄生电源供电方式,如图17.9所示。此时,DS18S20的VIDD引脚必须接地。另外为了得到足够的工作电流,应给1-Wire线提供一个强上拉,一般可以使用一个场效应管将I/O线直接拉到电源上。DS18S20从1-Wire单总线上汲取能量,在信号线DQ处于高电平期间把能量存储在内部电容里,在信号线DQ处于低电平期间消耗电容上的电量工作,直到高电平到来,再给DS18S20内部的寄生电源充电。

注意在使用DS18S20时需要注意,如果温度高于100˚C,则不推荐使用寄生电源供电方式,而应采用外部电源供电方式。

17.3 C51单总线温度传感器实例 - 图3

图 17.8 DS18S20的外部供电方式

17.3 C51单总线温度传感器实例 - 图4

图 17.9 DS18S20的寄生电源供电方式