DS18B20的测温原理:元件中低温度系数的晶体振荡器的振荡频率受温度的影响较小,可产生固定频率的脉冲信号送到减法计数器1;高温度系数的则随温度变化其振荡频率明显有所改变,产生的信号则可作为减法计数器2的脉冲输入。器件中有一个计数门,当其打开时,DS18B20对低温度系数的振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间则是由高温度系数的振荡器来决定的,每次测量前,先将-55℃对应的一个基数分别置入到温度寄存器和减法计数器1中,计数器1和温度寄存器被预置成-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将会被重新装入,减法计数器1重新开始对低温度系数晶振所产生的脉冲信号进行计数,一直如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测的温度值。一些典型温度的二进制及十优尔进制对照表如表4所示。
表4 典型温度的二进制及十优尔进制对照表
温度/℃ 二进制表示 十优尔进制表示
+125 0000 0111 1101 0000 04D0
+85 0000 0101 0101 0000 0550
+25.0625 0000 0001 1001 0001 0191
+10.125 0000 0000 1010 0010 00A2
+0.5 0000 0000 0000 1000 0008
0 0000 0000 0000 0000 0000
-0.5 1111 1111 1111 1000 FFF8
-10.125 1111 1111 0101 1110 FF5E
-25.0625 1111 1110 0110 1111 FE6F
-55 1111 1100 1001 0000 FC90
因DS18B20有传输距离远、控制功能强、抗干扰能力强等特点,非常适合于微型、低功耗的温度测量器件[9]。所以本设计选用DS18B20能很好的配合单片机完成设计要求。
3. 硬件电路的设计
本设计共包括了温度采集模块、显示模块、按键电路、报警电路和串口通信模块五个部分。各部分的元器件是按照设计低功耗的思想进行选择的,电路设计尽可能的简化,使得整体的功耗降低,达到设计的要求。
3.1 温度采集电路的设计
温度传感器选用DS18B20,将被测温度转化为数字信号。它的VDD管脚接5V电压,DQ管脚与单片机相连,同时还得接一个4.7k的上拉电阻,使数据线在空闲状态下能够自动上拉为高电平。温度采集电路图如图5所示。
图5 温度采集电路图
3.2 按键电路的设计
本设计一共有五个按键:复位键、输入/确定键、温度和时间显示切换键、加1键、减1键。按键电路的主要功能是:复位,日历时钟的修改,按键唤醒。
按键电路和复位电路图分别如图6、图7所示。
图6 按键电路图 图7 复位电路图
首先,在MSP430F单片机中有一 复位管脚,它与非屏蔽终端输入端NMI管脚复用,可由软件选择其功能,只要有低电平输入,系统复位。其次是时间显示。SWAP键用于温度显示和时间显示之间的切换。切换到时间显示功能,按下输入/确定键,时间模块暂停,进入时间的修改界面,然后按下加减键修改。修改完成后按输入/确定键。 MSP430F413单片机低功耗温度计的设计+源代码+电路图(5):http://www.youerw.com/zidonghua/lunwen_727.html