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的硬件原理图。传感器在生活中的应用很广泛,且个人感觉传感器这一门学科很新奇,我渴望学到更多知识,接触到更多稀奇的东西,希望通过自己的学习,能够与其他学科知识相结合学好传感器这一门学科,逐步提升自己的能力。


发布评论