基于DS18B20的温控系统实习报告.docx
《基于DS18B20的温控系统实习报告.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的温控系统实习报告.docx(11页珍藏版)》请在冰豆网上搜索。
![基于DS18B20的温控系统实习报告.docx](https://file1.bdocx.com/fileroot1/2022-11/16/84fcdd47-78e6-4cd4-b7cf-1ed56e438afd/84fcdd47-78e6-4cd4-b7cf-1ed56e438afd1.gif)
基于DS18B20的温控系统实习报告
河南农业大学
《智能仪器设计实习》
设计说明书
题目:
基于DS18B20的温控系统
学院:
理学院
专业:
电子信息科学与技术
班级:
07电科4班
学号:
0708101099
姓名:
徐亚利
指导教师:
成绩:
时间:
2010年11月29日至2010年12月13日
智能仪器设计实习
设计任务书
题目基于DS18B20的温控系统
专业、班级07电科4班学号0708101099姓名
主要内容、基本要求、主要参考资料等:
主要内容:
功能要求:
完成温控制系统的设计
1)在设置模式下,用户可以通过按键设置允许最高温度TH、允许最低温度TL及转换精度。
2)在测温模式下,实时测出当前温度并显示。
(可采用LED显示或LCD显示,显示结果精度不得低于0.1°C)。
3)在测温模式下,实时比较当前温度与报警温度,当高于高温报警TH时,系统红灯亮,声音警报响,同时启动冷却电路开始制冷(冷却电路的启动用继电器控制);当在高温报警TH与低温报警TL之间时,系统绿灯亮。
上述内容为基本要求,可按照自己的理解增加功能使之更完善。
基本要求:
●明确设计任务,复习与查阅有关资料。
设计所用硬件芯片按给定使用。
●按要求对设计进行简要说明,总体设计方案,各部分的详细设计。
●写出体会和总结。
要求全部使用A4纸打印稿,不少于5000字。
主要参考资料:
●李朝青编.《单片机原理及接口技术》(简明修订版).北京航空航天大学出版社,1998
●冯克.《MCS-51单片机实用子程序及其应用实例》.黑龙江科学技术出版社,1990
●杨欣荣等.《智能仪器原理、设计与发展》.中南大学出版社,2003
●孙传友等.《感测技术基础》.电子工业出版社,2001
●王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999
●科技期刊:
《单片机与嵌入式系统应用》、《实用测试技术》、《自动化仪表》、《传感器世界》、《测控技术》、《电子技术应用》等2001年以后各期。
完成期限:
2010年12月13日
指导教师签名:
一、背景及意义
随着电子技术的发展,人们的生活日趋数字化,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的AT89S52为控制器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。
二、系统分析
美国达拉斯(D.ALLAS)公司生产的单总线数字式温度传感器,由于具有结构简单、不需要外接电路、可用一根I/O数据线既供电又传输数据、可由用户设置温度报警界限等特点,近年来广泛用于各个需要测量和控制温度的地方。
前些年,集成式数字温度传感器DS18B20的出现开辟了温度传感器技术的新领域,它利用单总线的特点可以方便的实现多点温度的测量。
而可组网数字式温度传感器DS18B20则是DS1820的更新产品,利用它,用户可以方便的构建适合自己的测温系统,同时,DS18B20可以提高系统的抗干扰性,使系统的设计更灵活、方便,而且适合在恶劣的环境下进行温度测量。
DS18B20的内部结构 DS18B20内部结构如图1所示,主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
图1DS18B20的内部结构
图2DS18B20的管脚排列
DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
I/O
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
DS18B20温度/数字对应关系如下表1所示:
表1实测温度和数字输出的对应关系:
Table1Relationshipbetweenmeasuredtemperaturesanddigitaloutput
温度/ºC
数字输出(二进制)
数字输出(十六进制)
+125
+85
+25.0625
+20.125
+0.5
0
-0.5
-20.125
-25.0625
-55
0000011111010000
0000010101010000
0000000110010001
0000000010100010
0000000000001000
0000000000000000
111111*********00
111111*********10
111111*********1
111111*********0
07D0H
0550H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FF6FH
F000H
DS18B20内部暂存存储器的第5个字节是结构寄存器,它主要用于确定温度值的数字转换分辨率,字节结构如下
0
R
R
1
1
1
1
1
其中R1,R2用于设置分辨率,如下表2所示
表2DS18B20分辨率设置表
R
R
温度分辨
最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
三、系统硬件设计
DS18B20与单片机的典型接口设计
图3以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。
图3(a)中DS18B20采用寄生电源方式,其VDD和GND端均接地,图3(b)中DS18B20采用外接电源方式,其VDD端用3V~5.5V电源供电。
图3(a)寄生电源工作方式
图3(b)外接电源工作方式
四、系统软件设计
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括初始化时序、写时序和读时序
初始化时序
写时序
读时序
3个子程序:
INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。
INI11:
CLRDAT
DJNZR2,INI11;主机发复位脉冲持续3μs×200=600μs
SETBDAT;主机释放总线,口线改为输入
MOVR2,#30
IN12:
DJNZR2,INI12;DS18B20等待2μs×30=60μs
CLRC
ORLC,DAT;DS18B20数据线变低(存在脉冲)吗?
JCINI10;DS18B20未准备好,重新初始化
MOVR6,#80
INI13:
ORLC,DAT
JCINI14;DS18B20数据线变高,初始化成功
DJNZR6,INI13;数据线低电平可持续3μs×80=240μs
SJMPINI10;初始化失败,重来
INI14:
MOVR2,#240
IN15:
DJNZR2,INI15;DS18B20应答最少2μs×240=480μs
RET
;------------------------
WRITE:
CLREA
MOVR3,#8;循环8次,写一个字节
WR11:
SETBDAT
MOVR4,#8
RRCA;写入位从A中移到CY
CLRDAT
WR12:
DJNZR4,WR12
;等待16μs
MOVDAT,C;命令字按位依次送给DS18B20
MOVR4,#20
WR13:
DJNZR4,WR13
;保证写过程持续60μs
DJNZR3,WR11
;未送完一个字节继续
SETBDAT
RET
;------------------------
READ:
CLREA
MOVR6,#8;循环8次,读一个字节
RD11:
CLRDAT
MOVR4,#4
NOP;低电平持续2μs
SETBDAT;口线设为输入
RD12:
DJNZR4,RD12
;等待8μs
MOVC,DAT
;主机按位依次读入DS18B20的数据
RRCA;读取的数据移入A
MOVR5,#30
RD13:
DJNZR5,RD13
;保证读过程持续60μs
DJNZR6,RD11
;读完一个字节的数据,存入A中
SETBDAT
RET
;------------------------
主机控制DS18B20完成温度转换必须经过三个步骤:
初始化、ROM操作指令、存储器操作指令。
必须先启动DS18B20开始转换,再读出温度转换值。
假设一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序GETWD。
GETWD:
LCALLINIT
MOVA,#0CCH
LCALLWRITE;发跳过ROM命令
MOVA,#44H
LCALLWRITE;发启动转换命令
LCALLINIT
MOVA,#0CCH;发跳过ROM命令
LCALLWRITE
MOVA,#0BEH;发读存储器命令
LCALLWRITE
LCALLREAD
MOVWDLSB,A
;温度值低位字节送WDLSB
LCALLREAD
MOVWDMSB,A
;温度值高位字节送WDMSB
RET
……
子程序GETWD读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
五、结束语
DS18B20是目前最流行的单总线温度传感器之一。
它的接口电路简单、可靠,因此咋温度检测系统以及测控网络中将会有广泛的应用前景。
【参考文献】
1.李广弟等.《单片机基础》修订本.北京航空航天大学出版社,2001
2.李朝青编.《单片机原理及接口技术》(简明修订版).北京航空航天大学出版社,1998
3.公茂法等.《单片机人机接口实例》.北京航空航天大学出版社,1998
4.冯克.《MCS-51单片机实用子程序及其应用实例》.黑龙江科学技术出版社,1990
5.王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999
6.徐仁贵等.《单片