2024年2月6日发(作者:)

实验名称

温度传感器

1)复习掌握温度传感器DS18B20的特性以及工作过程;

实验目的

2)复习掌握keil软件的使用;

3)了解掌握DS18B20的工作原理以及编程方法;

4)了解其他温度传感器的特点及工作原理。

基于单片机开发板,编写程序实现DS18B20检测温度,实验内容

并通过4段8位数码管显示当下环境的温度,通过码制转换的方式输出10进制温度值。

实验仪器设备

组长

成员

指导教师

个人笔记本电脑、实验室台式机、keil软件、串口线、DS18B20。

组 别

实训日期

成绩

批阅

意见

指导老师:

日 期:

一、实验原理

DS18B20 测温原理如图 1.2 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器 1

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

图 1.1 测温原理图

二、测温系统硬件电路图

本测温系统选择体积小、成本低、内带2KEEPROM的89C2051作为控制芯片,晶振采用12MHZ,用74LS07驱动四个LED数码管和一个继电器线圈从而驱动电加热设备。P3.5口作为采集温度信号线,P1口作为显示数据线,与P3.3,P3.4组成显示的个位、十位及符号位,采用动态扫描显示。在本系统中测控一路温度

信号,DS18B20通过单总线方式连接在单片机的P3.5引脚上,可设定所需的温度测定值(包括上限值和下限值),P3.1引脚控制电热设备启动与停止,从而达到控制温度效果。整个系统的硬件原理图如图2.1所示:

图2.1 测温系统硬件原理图

二、实验过程记录

3.1 DS18B20控制过程

DS18B20的操作是通过执行操作命令实现的, 其中包含复位脉冲、响应脉冲、读、写时序,时序的具体要求如下:

(1) 复位脉冲:单片机发出一个宽为480—960μs的负脉冲之后再发出5—60μs的正脉冲,此时DS18B20会发出一个60—240μs的响应脉冲,复位时序结束。也就是呼应阶段。

(2) 写时间片:写一位二进制的信息,周期至少为61μS,其中含1μS的恢复时间,单片机启动写程序后15—60μs期间DS18B20自动采样数据线,低电

平为“0”,高电平为“1”。单片机写“0”时,要持续低电平60—120μs,写“1”时,要在启动后15μs之内使数据线变为高电平。

(3) 读时间片:读一位二进制数据,周期及恢复时间要求与写时间片相同。单片机启动读时序之后,至少保持1μs低电平,然后在接近启动后15μs之前读入数据。低电平为“0”,高电平为“1”。

DS18B20控制过程主要代码如下所示:

3.2 写一个字节数据

主要借助8位计数器实现主要功能,具体实现代码如下:

3.3 读一个字节数据

此处实现原理同写一个字节数据,具体实现代码如下:

三、实验结果

通过对DS18B20编程,成功读取到了环境的温度。

四、实验过程中遇到的问题及解决方案

问题:程序编写完成,读取到的温度值以镜像形式呈现。

原因:设置数码管显示温度过程中,没有注意到数码管各个引脚的具体位置。

解决方案:根据理想状态下温度的显示效果,调整代码中数码管的控制数。

五、实验总结

本次实验过程中,按照温度传感器DS18B20的控制原理以及ROM命令的执行原理,成功的编写了DS18B20获取温度的程序,通过多次测试,验证了此次编写的程序的准确性较高。

本次实验完成的测温系统,其工作流程大致如下:初始化——-获取序列号的ROM操作命令—>写存储器操作命令—>读转换数据—>处理数据—>显示温度—>启动控制设备。主程序功能是调用各功能子程序、控制电热设备开启与停止。子程序包括:对DS18B20初始化子程序、读子程序、写子程序、温度转换子程序、

数值计算子程序、显示子程序。主要功能是对温度检测控并实时显示温度值。此处需要注意温度传感器DS18B20时序复杂,其功能实现过程中对时序要求较高,在编程及运行中均须严格安照时序进行。

通过本次实验,使我对温度传感器的工作原理以及工作过程有了更深的理解与掌握。此外在根据电路原理图编写实验程序中,一定程度上增强了我对单片机硬件原理图的读写能力,能够较为轻松的看懂DS18B20的硬件原理图。传感器在生活中的应用很广泛,且个人感觉传感器这一门学科很新奇,我渴望学到更多知识,接触到更多稀奇的东西,希望通过自己的学习,能够与其他学科知识相结合学好传感器这一门学科,逐步提升自己的能力。