简易数字温度计课程设计课程设计草稿 联系客服

发布时间 : 星期五 文章简易数字温度计课程设计课程设计草稿更新完毕开始阅读aa1b4fb065ce05087632136c

2.1.1 方案一

由于本设计是测温电路,可以使用热敏电阻等器件利用其感温效应,在把随温度变化的电压或电流采集过来进行A/D转换之后,再利用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦,而且热敏电阻的线性度不高,测量精度。 方案一:

采用热敏电阻传感器。利用热敏电阻随温度变化而显著变化,能直接将温度的变化转换为能量的变化,进而制成温度计。但是其测温传感器比较复杂,而且不易通过编制程序来控制测温精度,增大系统设计的难度。 2.1.2 方案二

直接使用数字温度传感器来测温,可以使用“一线总线”数字化温度传感器DS18B20。此传感器可以直接读取被测温度值,只需进行简单转换,就可以得到所测环境的温度值。显示电路采用串口移位静态显示方式,采用串入并出移位芯片74LS164和数码管来实现温度的显示。 2.1.3 方案三

也是直接使用数字温度传感器DS18B20来测温,但显示电路采用动态扫描的方式来实现,电路简单,容易实现,节约成本。 、

第二种方案就是采用桥式电路,将一个热敏电阻作为电桥的桥臂。温度的改变会引起热敏电阻阻值的变化,从而引起电桥的输出电压的变化,通过AD0809对电桥的输出电压进行采样,将得到数值进行工程量变换,最终通过四位数码管进行显示。

引脚排列

内部结构框图

预置 斜率累加器 低温度系数振荡T1 Tx 计数器1 预置 比较 加1 高温度系数振荡=0 停止 计数器2 T2 DS18B20测温原理图

-0 温度寄存器

DS18B20的测温原理如图3.3.3所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应的一个基数值。

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其

输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。

另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将最低温所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在最低温所对应的一个基数值。 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。

DS18B20初始化子程序流程如图7所示:

图7 DS18B20初始化子程序流程

3. DS18B20写子程序流程图如图8所示: