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

下载本文档

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

文档简介

单片机课程设计报告设计主题:DS18B20温度传感器等级:09电信(2级)姓氏:xxx学校编号:xxx讲师:xxx调试地点:xxx内容一.概述2二。目录21.课程设计主题22.课程设计的目的23.设计任务和要求34.文本3(1)方案选择和论证3三、系统的具体设计和实现4(1)、系统的总体设计5(2)、硬件电路设计5A.单片机控制模块5B.温度传感器模块5Iv .软件设计121.主程序122.读出温度子程序123.温度转换命令子程序124.计算温度子程序13完整的程序如下:13六、设计经验18七.参考文献19一.概述2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们的生活、工作、科研等各个领域,并且已经成为一项相对成熟的技术。本文主要介绍了一种基于89S51单片机的温度测量系统,并详细描述了利用液晶显示器件传感器DS18B20开发温度测量系统的过程。重点对单片机下各模块的硬件连接、软件编程和系统流程进行了详细分析,特别是数字温度传感器DS18B20的数据采集过程。每个部分的电路也逐一介绍。该系统可以方便地实现温度采集和显示,并可以根据需要设置报警温度的上限和下限。使用非常方便,具有精度高、范围广、灵敏度高、体积小、功耗低等优点。它适用于日常生活、工农业生产中的温度测量,也可以作为温度处理模块嵌入到其他系统中,作为其他主要系统的辅助扩展。DS18B20和AT89C51相结合,实现了最简单的温度检测系统。该系统结构简单,抗干扰能力强。适用于恶劣环境下的现场温度测量,具有广阔的应用前景。关键词:AT89C51,DS18B20温度传感器,液晶显示器1602。二。内容1.课程设计主题基于DS18B20的温度传感器2.课程设计的目的通过基于MCS-51系列单片机AT89C51和DS18B20的温度传感器来检测温度,熟悉芯片的使用,温度传感器的功能,数字显示管的使用和汇编语言的设计;此外,通过课题分析、电路设计与调试、编程与调试、传感器选择等完整的实验过程,将今年学到的数字与模拟电子技术、检测技术、单片机应用等知识融入实践,培养学生正确的设计思想,使学生充分发挥主观能动性,独立解决实际问题,从而达到提高学生综合能力、实践能力、查阅文献资料能力的作用,为毕业设计和今后的工作打下良好的基础。3.设计任务和要求以MCS-51系列单片机为核心器件,构成数字温度计。数字温度传感器DS18B20作为检测装置进行单点温度检测,检测精度为0.5摄氏度。温度显示为液晶显示器1602,有两个整数和一个十进制数。系统总体仿真图船上实施效果图4.文本(1)方案选择和论证根据设计任务的总体要求,系统可分为以下基本模块。根据各模块的功能要求,有以下不同的设计方案:(1)温度传感模块方案一:采用热敏电阻,精度、重复性和可靠性差。它不适合检测1摄氏度的信号,不能满足测量范围。在温度测量系统中,单片温度传感器,如AD590、LM35等。是常用的。然而,这些芯片输出的模拟信号必须经过模数转换后才能发送到计算机,这使得温度测量系统的硬件结构更加复杂。此外,该测温系统难以实现多点测温,并且需要复杂的算法,这在一定程度上增加了软件实现的难度。方案二:采用单总线数字温度传感器DS18B20测量温度,并直接输出数字信号。便于单片机处理和控制,节省硬件电路。该芯片理化性能稳定,元件线性性能好,当温度在0-100之间时,最大线性偏差小于1。DS18B20最大的特点之一是采用单总线数据传输。它是由数字温度计DS18B20和单片机AT89C51组成的温度装置。它直接向微控制器输出数字温度信号。每个DS18B20都有一个唯一的64位序列号,不能修改,可以根据序列号访问不同的设备。多个DS18B20传感器可以连接到这样的总线,以实现多点温度测量,并容易地形成传感网络。总而言之,我们选择第二种方案。温度传感模块仿真图(2)显示模块方案1: 8位数码管用于显示单片机通过数码管获得的数据。该方案简单易行,但需要的组件多,不易操作,可读性差。一旦设置,很难添加其他功能。显示格式有限,功耗大。用电池给系统供电是不合适的。方案二:采用液晶显示装置,液晶显示稳定、省电、美观,问题要求更容易实现,对后续园艺通信兼容性高,只需修改软件,可操作性强,易于阅读。采用两行16字符显示,可同时显示日期、时间、星期、温度等信息。总而言之,我们采纳了第二个计划。显示模块模拟图三、系统的具体设计与实现(1)、系统的总体设计以AT89S52单片机为控制核心,控制温度传感器DS18B20。温度信号被读取、计算和处理,并发送到液晶显示器1602进行显示。根据系统设计功能的要求,确定系统由三个模块组成:主控制器、测温电路和显示电路。数字温度计的整体电路框图如下所示。(2)硬件电路设计A.单片机控制模块该模块由AT89C51单片机组成。在设计中,AT89C51的模拟放大器连接到高电平。其外围电路提供晶体振荡器脉冲和复位按钮,可以使其工作。四个输入/输出分别连接到8个单排IP插座,以便于与外围设备连接。当AT89C51芯片接收到温度传感器的信号时,其内部程序将根据信号类型进行处理,并将处理结果发送给显示模块,发送控制信号控制各个模块。B.温度传感器模块DS18B20的相关数据1.DS18B20的原理及分析DS18B20是达拉斯半导体公司继DS1820之后新推出的一种改进型智能温度传感器。与传统热敏电阻相比,它可以直接读取被测温度,并可以根据实际需要通过简单编程实现9-12位数字值读取模式。9位和12位数字可以分别在93.75 ms和750 ms内完成,并且只需要一条端口线(单线接口)来读写从DS18B20读取或写入的信息。温度转换电源来自数据总线,总线本身也可以向连接的DS18B20供电,无需额外的电源。因此,使用DS18B20可以使系统结构更简单、更可靠。他在测温精度、转换时间、传输距离和分辨率等方面都比DS1820有了很大的提高,给用户带来了更方便的使用和满意的结果。以下是DS18B20的特性:(1)独特的单线接口模式:DS18B20与微处理器连接时,只需一条端口线即可实现微处理DSP与DS18B20之间的双向通信。(2)使用时不需要外围组件。(3)电压范围为3.0 5.5 v的数据线供电(4)温度测量范围:-55-125。固有温度测量分辨率为0.5。(5)通过编程可以实现9-12位数字阅读模式。(6)用户可以自行设置非易失性报警上限和下限。(7)支持多点联网功能。多个DS18B20可以并联DS18B20的温度测量原理如上图所示。图中低温度系数晶体振荡器的振荡频率受温度影响很小。用于产生固定频率的脉冲信号被发送到减法计数器1。高温度系数晶体振荡器的振荡频率随温度变化而明显变化。产生的信号被用作减法计数器2的脉冲输入。该图还包含一个计数门。当计数门打开时,DS18B20对低温度系数振荡器产生的时钟脉冲进行计数,完成温度测量。计数门的开启时间由高温系数振荡器决定。在每次测量之前,对应于-55的基数首先被分别放入减法计数器1和温度寄存器中,并且减法计数器1和温度寄存器被预设在对应于-55的基值。减法计数器1减去由低温系数晶体振荡器产生的脉冲信号。当减法计数器1的预设值降至0时,温度寄存器的值将增加1,并且减法计数器1的预设值将被重新加载。减法计数器1重新开始对低温系数晶体振荡器产生的脉冲信号进行计数。该周期停止温度寄存器值的累积,直到减法计数器2计数到0,此时温度寄存器中的值为测量温度。图中的斜率累加器用于补偿和校正温度测量过程中的非线性。其输出用于校正减法计数器的预设值。只要计数门不关闭,直到温度寄存器值达到测量的温度值,就重复上述过程。这是DS18B20的温度测量原理。另外,由于DS18B20的单线通信功能是分时的,所以它有严格的时隙概念,所以读写时序非常重要。系统必须根据协议运行DS18B20。操作协议为:初始化DS18B20(发送复位脉冲)发送只读存储器功能命令发送存储器操作命令处理数据。DS18B20通常遵循以下协议:初始化内存操作命令内存操作命令处理数据(1)初始化单个总线上的所有处理都从初始化序列开始。初始化序列包括总线主机发送复位脉冲,然后从设备发送存在脉冲。有脉冲让总线控制器知道总线上有DS1820,并准备好运行。(2) rom操作命令一旦总线主控器检测到从设备的存在,它可以发出一个设备只读存储器操作命令。所有只读存储器操作命令都是8位长。这些命令如下:读取只读存储器33h该命令允许总线主机读取DS18B20的8位产品系列代码、唯一的48位序列号和8位CRC。该命令只能在总线上只有一个DS18B20时使用。如果总线上有多个从设备,当所有从芯片试图同时传输时,将发生数据冲突(一个开路漏极将导致一条线路和)。匹配只读存储器55h该命令之后是64位只读存储器数据序列,允许总线主机对多点总线上的特定DS1进行寻址。只有与64位只读存储器序列完全匹配的DS18B20才能响应后续的存储器操作命令。所有与64位只读存储器序列不匹配的从芯片将等待复位脉冲。如果总线上有单个或多个设备,可以使用此命令。跳过只读存储器在单点总线系统中,该命令通过允许总线主机在不提供64位只读存储器编码的情况下访问存储器操作来节省时间。如果总线上有一个以上的从设备,并且在跳过只读存储器命令后发出读命令,由于多个从芯片同时发送数据,因此总线上将发生数据冲突(开漏下拉将产生线和效应)。搜索只读存储器当系统开始运行时,总线主机可能不知道单线总线上的设备数量或其64位只读存储器代码。搜索只读存储器命令允许总线控制器通过排除来识别总线上所有从机的64位代码。警报搜索ECh该命令的流程与搜索只读存储器命令相同。但是,DS18B20仅在最新的温度测量中出现警报时才会响应该命令。报警条件被定义为温度高于温度或低于温度。只要DS18B20通电,报警条件将保持在设定状态,直到另一个温度测量值显示为非报警值,或者TH或TL的设置发生变化,使得测量值再次处于允许范围内。存储在EEPROM中的触发值用于报警。(3)存储器操作命令写便笺4Eh该命令从地址2开始,将数据写入DS18B20寄存器。接下来写入的两个字节将存储在寄存器的地址位置2和3。可以随时发出复位命令来中止写入。阅读便笺BEh该命令读取寄存器的内容。读取将从字节0开始,一直持续到读取第9个字节(字节8,循环冗余校验)。如果您不想读取所有的字节,控制器可以随时发出复位命令停止读取。复制便笺48小时该命令将临时存储器的内容复制到DS18B20的E2存储器中,即,将温度报警触发字节存储到非易失性存储器中。如果总线控制器在该命令后发出读取间隔,并且DS18B20正忙于将临时存储器复制到E2存储器,则DS18B20将输出“0”,并且如果复制完成,DS18B20将输出“1”。如果使用寄生电源,总线控制器必须在该命令发出后立即启动强上拉少保持10毫秒。转换温度44h该命令在没有额外数据的情况下启动温度转换。执行温度转换命令,然后DS18B20保持等待状态。如果总线控制器在该命令后发出读取间隔,并且DS18B20正忙于时间转换,则DS18B20将在总线上输出“0”,如果温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出该命令后立即启动强上拉,并保持500 ms。召回E2(重新调整E2)B8h该命令将存储在E2中的温度触发值重置到临时存储存储器中。当DS18B20通电时,该调用操作也会自动发生,因此只要设备通电,临时存储器中就会有有效数据。发出该命令后,对于发出的第一个读取数据时间片,器件将输出温度转换忙的指示:“0”=忙,“1”=就绪。读取电

温馨提示

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

评论

0/150

提交评论