- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DS18B20在单片机AT89S52上实现的数字式温度计
功能要求
数字式温度计要求测温范围为-50~110℃,精度误差在0.1
?
方案论述
? 在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
?? 本数字温度设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最大分辩率可达0.0625
?
系统硬件电路的设计
温度计电路设计原理图如下图所示,控制器使用单片机AT89S52,温度传感器使用DS18B20,用4位共阴LED数码管以动态扫描法实现温度显示
基于DS18B20在单片机AT89S52上实现的数字式温度计
温度传感器工作原理
DS18B20功能特点
1.采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。
2.每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。
3.低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。
4.测温范围为-55℃~+125℃,在-10℃~85
5.可编辑数据为9~12位,转换12位温度时间为750ms(最大)
6.用户可自设定报警上下限温度
7.报警搜索命令可识别和寻址哪个器件的温度超出预定值。
8.DS18B20的分辩率由用户通过EEPROM设置为9~12位
9.DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。
?
DS18B20内部结构及功能
DS18B20的内部结构如下图所示,主要包括:寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分
?
温度和数字量的关系
ROM操作命令
指令
说明
读ROM命令(33H)
读18B20的序行号
搜索ROM命令(F0H)
识别总线上各器件的编码
匹配ROM命令(55H)
用于多个DS18B20的定位
跳过ROM命令(CCH)
此命令执行后,存储器操作将针对总线上的所有操作
报警搜索ROM命令(ECH)
仅温度超限的器件对此命令做出响应
RAM操作命令
指令
说明
温度转换(44H)
启动温度转换
读暂存器(BEH)
读全部暂存器内容,包括CRC字节
写暂存器(4EH)
写暂存器第2,3和4个字节的数据
复制暂存器(48EH)
将暂存器中的TH,TL和配置寄存器内容复制到EEPROM中
读EEPROM(B8H)
将TH,TL和配置寄存器内容从EEPROM中回读至暂存器
字节
ROM
RAM
0
产品代号
温度低8位
1
?
48位
器件
序列
号
温度高8位
2
TH
3
TL
4
配置寄存器
5
保留
6
保留
7
CRC
保留
8
?
CRC
温度配置寄存器的格式如下
0
R1
R2
1
1
1
1
1
分辩率设置如表
R1
R2
分辩率设置/位
测温精度/C
转换时间/ms
0
0
9
0.5
93.75
0
1
10
0.25
187.5
1
0
11
0.125
375
1
1
12(默认)
0.0625
750
DS18B20的通信协议
DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。
1.? 复位和应答脉冲时隙
每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。
2.? 写时隙
当主机将单总线DQ从逻辑高拉为逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。
3.? 读时隙
?? DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。
原创力文档


文档评论(0)