ATC与DSB温度测量系统.doc

ATC与DSB温度测量系统.doc

ID:24684617

大小:971.40 KB

页数:10页

时间:2018-11-15

ATC与DSB温度测量系统.doc_第1页
ATC与DSB温度测量系统.doc_第2页
ATC与DSB温度测量系统.doc_第3页
ATC与DSB温度测量系统.doc_第4页
ATC与DSB温度测量系统.doc_第5页
资源描述:

《ATC与DSB温度测量系统.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于AT89C51与DS18B20的温度测量系统引言温度是一种最基本的环境参数,日常生活和工农业生产中经常要检测温度。传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,制作成木较高。近年来,美国DALLAS公司生产的DS18B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于工农业生产制造以及日常生活中。DS18B20集温度测量和A/D转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路

2、结构简单,与单片机接口几乎不需要外围元件。文章将介绍DS18B20的结构特征及控制方法,给出以此传感器和AT89C51单片机构成的最小温度测量报警系统。1数字温度计DS18B20介绍1.1DS18B20性能介绍温度传感器DS18B20独特的一线接口,只需要一条口线通信,简化了分布式温度传感应用,无需外部元件,可用数据总线供电,电压范围为3.0V至5.5V无需备用电源,测量温度范围为-55°C至+125,精度为±0.5°C。  温度传感器可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失

3、性温度报警设置,应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统。  DS18B20芯片出厂时默认为12位的转换精度。读取或写入DS18B20仅需要一根总线,要求外接一个约4.7kΩ的上拉电阻,当总线闲置时,其状态为高电平。此外DS18B20是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。1.2DSl8B20引脚结构DS18B20采用3脚TO-92封装或8脚的SOIC封装,如图1所示。各引脚的功能:GND为电压地;DQ为单数据总线;V为电源电压;NC为空引脚。图1DS18B20引脚图1.3DS1

4、8B20工作原理及应用DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解DS18B20的内部存储器资源。DS18B20共有二种形态的存储器资源,它们分别是:(1)ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后而48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。数据在出厂时设置不由用户修改。DS18B20共64位ROM(2)RAM数

5、据暂存器,用于内部计算和数据存取,数据在掉电后丢失DS18B20共9个字节RAM每个字节为8位。如图2所示。第1,2个字节是温度转换后的数据值信急,第3和第4字节是高温触发器TH和低温触发器TL的易失性拷贝,第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。以上字节内容每次上电复位时被刷新。配置寄存器字节各位的定义如图2所示。低5位是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户不要去改动;R1

6、和R0用来设置分辨率,决定温度转换的精度位数。如表1所示。图2DS18B20字节定义表1DS18B20温度转换时间2AT89C51与DS18B20组成的温度测量系统2.1电路工作原理分析与原理图2.1.1DS18B20与单片机的连接DS18B20的DQ单数据总线与单片机P1.7连接,GND电压地、V电源电压分别和电压地和5伏直流电源连接。本文设计的系统主机只对一个DS18B20进行操作,因此不需要读取ROM编码以及匹配ROM编码,只要跳过ROM命令,就可以进行如下温度转换和读取操作。(1)CCH—跳过ROM,直接向DS18

7、B20发送温度变换命令。(2)44H—读暂存器。读内部RAM中9字节的温度数据。(3)BEH—写暂存器。发出向内部RAM的第2、3字节写上、下限温度数据命令,紧跟该命令之后,再传送两字节数据。DS18B20在出厂时默认配置为12位,其中最高位为符号位,即温度值共11位,单片机在读取数据时,一次会读两字节共16位,读完后将低11位的二进制数转换为十进制后再乘以0.0625变为所测的温度值。另外,还需要判断温度的正负。前5个数字为符号位,这5位同时变化,我们只需判断11位就可以了。前5位为1时,读取的温度为负值,且测到的数值需

8、要取反再加一再乘以0.0625才可以得到实际的温度值。前5位为0时,读取的温度为正值,只要将测得的数值乘以0.0625即可得到实际温度值。由于提前给DS18B20赋了上限、下限值,所以当温度超过上限或者不足下限时,会伴有LED灯闪烁和蜂鸣器响作为警报。2.1.2数码管动态扫描LED采用动态扫描显示,通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。