基于DS18B20传感器温度测量课程设计报告_第1页
基于DS18B20传感器温度测量课程设计报告_第2页
基于DS18B20传感器温度测量课程设计报告_第3页
基于DS18B20传感器温度测量课程设计报告_第4页
基于DS18B20传感器温度测量课程设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录涉及.1内容1.设计主题.32.设计目标.33.设计任务和要求.34.文本.35.设计经验,谢谢.166.参考.167.附录.171.设计主题基于DS18B20传感器温度测量2.课程设计的目的温度检测采用基于单片机AT89C51和DS18B20的温度传感器,熟悉芯片的使用、温度传感器的功能、数码管的使用和汇编语言的设计;此外,还掌握数字和模拟电子技术、检测技术、单片机应用等知识。我们今年所学的,与实践相结合,从课题分析、电路设计与调试、编程与调试到传感器选型的整个实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,独立解决实际问题,从而提高学生的综合能力、实践能力和文献参考能力,

2、为毕业设计和今后的工作打下良好的基础。3.设计任务和要求以MCS-51系列单片机为核心器件,组成数字温度计,用数字温度传感器DS18B20作为检测装置,检测单点温度,检测精度为0.5摄氏度。温度显示采用三位数字发光二极管数码管,有两个整数和一个小数。它具有通过键盘输入上限和下限的功能,当温度超过上限和下限时发出声音报警。4.文本一、方案选择和论证根据设计任务的总体要求,系统可分为以下基本模块。根据各模块的功能要求,有如下几种不同的设计方案:1.温度传感器模块方案一:采用热敏电阻,精度、重复性和可靠性差,不适合检测1摄氏度的信号,也不能满足测量范围。在温度测量系统中,通常使用单片温度传感器,如A

3、D590和LM35。然而,这些芯片的输出信号都是模拟信号,只有经过模数转换后才能发送给计算机,这使得温度测量系统的硬件结构更加复杂。此外,该测温系统难以实现多点测温,并且需要复杂的算法,这在一定程度上增加了软件实现的难度。方案二:采用单总线数字温度传感器DS18B20测量温度并直接输出数字信号。便于单片机处理和控制,节省硬件电路。此外,芯片的物理化学性质非常稳定,元件的线性性能良好,在0-100摄氏度时最大线性偏差小于1摄氏度。DS18B20最大的特点之一是采用单总线数据传输。它是由数字温度计DS18B20和单片机AT89C51组成的温度装置,直接向单片机输出温度数字信号。每个DS18B20都

4、有一个唯一的不可更改的64位序列号,根据该序列号可以访问不同的设备。这样,可以将多个DS18B20传感器连接到一条总线上,从而可以实现多点温度测量并轻松构建传感器网络。总而言之,我们选择第二种方案。2.显示组件方案一:采用8位数码管,单片机采集的数据通过数码管显示。该方案简单易行,但需要的组件多,操作不容易,可读性差。设置后,很难添加其他功能,并且显示格式有限,消耗大量电能,因此不适合使用电池为系统供电。方案二:采用液晶显示装置,液晶显示稳定、节能、美观,更容易满足主题要求,与后续园艺有很高的兼容性。只需修改软件,可操作性强,易于阅读。使用RT1602显示,两行十六字,可以同时显示日期、时间、

5、星期和温度等其他信息。总而言之,我们采用了第二种方案。3.微控制器模块方案一:该方案由AT89C51八位单片机实现。它有一个小内存,只有4K字节的闪存,128字节的内部随机存取存储器,32个输入/输出端口,两个16位定时器/计数器,一个5矢量两级中断结构,一个全双工串行通信端口,没有在线下载编程功能或在线模拟功能。带后缀的文件。十六进制只能由程序员编写。方案二:该方案由AT89S52八位单片机实现。它有一个大的内存与8K字节的闪存,这是4K超过AT89C51。它可以在线编程和在线模拟,方便调试。单片机软件具有很大的编程自由度,可以通过编程实现各种运算算法和逻辑控制。而且体积小,硬件实现简单,安

6、装方便。总之,我们采用了第二种方案,即AT89S52。二、系统的具体设计与实现1、系统的总体设计以AT89S52单片机为控制核心,控制温度传感器DS18B20,对温度信号进行读取、计算和处理,送到液晶显示器RT1602显示。根据系统设计功能的要求,系统由三个模块组成:主控制器、测温电路和显示电路。数字温度计的整体电路结构框图如图5所示。图5电路结构框图2.硬件电路设计(1)、单片机控制模块该模块由AT89S52单片机组成。在设计中,AT89S52的EA连接到高电平,其外围电路提供晶体脉冲和复位按钮使其工作。四个输入/输出系统被连接到8个单排IP座,以便于与外围设备的连接。当AT89S52芯片接

7、收到温度传感器的信号时,其内部程序会根据信号类型进行处理,并将处理结果发送给显示模块,并发送控制信号来控制各个模块。该模块的硬件电路如下(2)温度传感器模块与DS18B20相关的数据1.DS18B20的原理及分析DS18B20是美国达拉斯半导体公司继DS1820之后推出的一种改进型智能温度传感器。与传统热敏电阻相比,它能直接读取被测温度,并能根据实际需要通过简单编程读取9 12位数字值。9位和12位数字量可分别在93.75 ms和750 ms内完成,从DS18B20读取或写入的信息只需一条端口线(单线接口)即可读写。温度转换电源来自数据总线,总线本身无需额外电源即可为连接的DS18B20供电。

8、因此,使用DS18B20可以使系统结构更简单、更可靠。与DS1820相比,它在测温精度、转换时间、传输距离和分辨率等方面都有了很大的提高,给用户带来了更方便的使用和更满意的结果。以下是DS18B20的特性:(1)独特的单线接口方式:当DS18B20与微处理器连接时,只需要一条端口线就可以实现微处理器与DS18B20之间的双向通信。(2)使用时不需要外围组件。(3)可由数据线供电,电压范围为3.0 5.5 V(4)温度测量范围:-55-125。固有温度测量分辨率为0.5。(5)可通过编程读取9-12位数字。(6)用户可以设置非挥发性报警的上限和下限。(7)支持多点联网功能,多条DS18B20可以

9、在三条线路上并联,实现多点测温。(8)负压特性。当电源极性颠倒时,温度计不会因受热而燃烧,但不会正常工作。2.DS18B20的温度测量原理DS18B20的测温原理如上图所示。图中,低温系数晶体振荡器的振荡频率受温度影响很小,用来产生一个固定频率的脉冲信号,并送至减法器1。高温度系数晶体振荡器的振荡频率随温度的变化而明显变化,产生的信号作为减法器2的脉冲输入。图中还隐藏着一个计数门。当计数门打开时,DS18B20对低温度系数振荡器产生的时钟脉冲进行计数,然后完成温度测量。计数门的开启时间由高温系数振荡器决定。在每次测量之前,对应于-55的基数分别被放入减法器1和温度寄存器中,并且减法器1和温度寄

10、存器被预设为对应于-55的基值。减法器1减去由低温系数晶体振荡器产生的脉冲信号。当减法器1的预设值减小到0时,温度寄存器的值将增加1,减法器1的预设值将被重新加载,并且减法器1将再次开始计数由低温度系数晶体振荡器产生的脉冲信号。这个周期将停止温度寄存器值的累积,直到减法器2计数到0。此时,温度寄存器中的值就是测得的温度。图中的斜率累加器用于补偿和校正温度测量过程中的非线性,其输出用于校正减法计数器的预设值。只要计数门没有关闭,上述过程就重复进行,直到温度寄存器的值达到测量的温度值,这是DS18B20的温度测量原理。另外,由于DS18B20的单线通信功能是分时的,所以它有严格的时隙概念,所以读写

11、时序非常重要。系统在DS18B20上的各种操作必须按照协议执行。操作协议为:初始化DS18B20(发送复位脉冲)发送只读存储器功能命令发送存储器操作命令处理数据。DS18B20的工作过程一般遵循以下协议:初始化操作命令存储器操作命令数据处理初始化单个总线上的所有处理都从初始化序列开始。初始化序列包括总线主机发送的复位脉冲,以及从设备发送的存在脉冲。有一个脉冲可以让总线控制器知道,DS1820已经在总线上并准备好运行。只读存储器操作命令一旦总线主控器检测到从属设备的存在,它可以发出一个设备只读存储器操作命令。所有只读存储器操作命令都是8位长。下面列出了这些命令:读取只读存储器33h该命令允许总线

12、主机读取DS18B20的8位产品系列代码、唯一的48位序列号和8位CRC。该命令只能在总线上只有一个DS18B20时使用。如果总线上有多个从设备,当所有从芯片试图同时发送时,将发生数据冲突(开漏将导致线路和的结果)。匹配只读存储器(符合只读存储器)55h该命令之后是64位只读存储器数据序列,允许总线主机对多点总线上的特定DS18B20进行寻址。只有严格符合64位只读存储器序列的DS18B20才能响应后续的存储器操作命令。所有不符合64位只读存储器序列的从机将等待复位脉冲。当总线上有单个或多个设备时,可以使用此命令。跳过只读存储器CCH在单点总线系统中,该命令通过允许总线主控器在不提供64位只读

13、存储器编码的情况下访问存储器操作来节省时间。如果总线上有一个以上的从设备,并且读命令是在跳过只读存储器命令之后发出的,则总线上将发生数据冲突,因为多个从芯片同时发送数据(开漏下拉将产生线和效应)。搜索只读存储器当系统开始工作时,总线主设备可能不知道单线总线上的设备数量或其64位只读存储器编码。搜索只读存储器命令允许总线控制器通过排除来识别总线上所有从机的64位代码。警报搜索该命令的流程与搜索只读存储器命令相同。然而,DS18B20仅在最后一次温度测量中出现警报时响应该命令。报警条件定义为温度高于th或低于TL。DS18B20一通电,报警条件就保持在设定状态,直到另一次温度测量显示非报警值或改变

14、TH或TL的设定,从而使测量值再次处于允许范围内。存储在EEPROM中的触发值用于报警。记忆操作命令写便笺4Eh该命令从地址2开始,将数据写入DS18B20的寄存器。接下来写入的两个字节将存储在寄存器的地址位置2和3。可以随时发出复位命令来暂停写入。读取暂存区(读取暂存存储器)BEh该命令读取寄存器的内容。读取将从字节0开始,一直持续到第9个字节(字节8,循环冗余校验)结束。如果您不想读取所有字节,控制器可以随时发出复位命令来停止读取。复制便笺48小时该命令将寄存器的内容复制到DS18B20的E2存储器中,即在非易失性存储器中存储温度报警的触发字节。如果总线控制器在该命令后发出读取时间间隔,并

15、且DS18B20正忙于将寄存器复制到E2存储器,DS18B20将输出“0”,并且如果复制完成,DS18B20将输出“1”。如果使用寄生电源,总线控制器必须在该命令发出后立即开始强上拉,并保持至少10毫秒。转换T 44h该命令在没有额外数据的情况下开始温度转换。执行温度转换命令,然后DS18B20保持在等待状态。如果总线控制器在该命令后发出读取时间间隔,并且DS18B20正忙于时间转换,则DS18B20将在总线上输出“0”,如果温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出该命令后立即启动强上拉并保持500ms。召回E2 b8h该命令将存储在E2中的温度触发值重置到临时存储器

16、中。当DS18B20通电时,这种召回操作也会自动发生,因此一旦设备通电,临时存储器中就会有有效数据。发出该命令后,对于发出的第一个读取数据时间片,器件将输出温度转换忙的标记:“0”=忙,“1”=就绪。读取电源B4h对于该命令发送到DS18B20后发送的第一个读取数据的时间片,器件将给出其电源模式的信号:“0”=寄生电源,“1”=外部电源。处理数据DS18B20的暂存存储器由9个字节组成,其分配如图3所示。发出温度转换命令后,转换后的温度值以双字节补码的形式存储在暂存存储器的第0和第1字节中。单片机可以通过单线接口读取数据,低位在前,高位在后。DS18B20温度数据手册上表为DS18B20温度采集和转换后的12位数据,存储在DS18B20的两个8位内存中。二进制系统中的前5位是符号位。如果测得的温度大于或等于0,则这5位为0,实际温度可通过将测得的值乘以0.0625获得。如果温度小于0,这5位为1,测量值需要反相加1并乘以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论