基于NRF24L01的无线温度采集系统设计_第1页
基于NRF24L01的无线温度采集系统设计_第2页
基于NRF24L01的无线温度采集系统设计_第3页
基于NRF24L01的无线温度采集系统设计_第4页
基于NRF24L01的无线温度采集系统设计_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题目:基于 NRF24L01 的无线温度采集系统设计毕业设计(论文)要求及原始数据(资料):原始数据(资料):本设计是基于 STC89C52 单片机和 DS18B20 实现温度的测量,DS1302 作为时钟芯 片提供当前时间。单片机在本系统中作为温度,时钟输入和显示控制器件,DS18B20 被用作温度数据的采集和温度输出器件。最后采 nRF24L01 模块对采集到的温度时间 数据进行无线传输,在接收端通过 LCD1602 液晶显示模块显示接收的温度和时间并通 过 RS-232 将数据传给 PC,从而实现温度的采集和无线传送。第 3 页原始资料包括1)STC89C52 单片机知识;2)DS18B20 模块的使用手册;3)DS1302 芯片资料;4) nRF24L01 无线通信模块使用手册;5) LCD1602 液晶显示模块使用手册及 RS-232 串口相关知识;6)Keil C51 的使用。毕业设计(论文)主要内容:本设计是基于 STC89C52 单片机和 DS18B20 实现温度的测量系统,DS1302 作为时 钟芯片提供当前时间。单片机在本系统中作为温度,时钟输入和显示控制器件, DS18B20 被用作温度数据的采集和温度输出器件。最后采 nRF24L01 模块对采集到的 温度时间数据进行无线传输,在接收端通过 1602 液晶显示模块显示接收的温度和时 间并通过 RS-232 将数据传给 PC,从而实现温度的采集和无线传送。本文基于本次毕业设计的过程与要求,将论文分为五章。具体内容如下:第 1 章 绪论,本章简单介绍了课题的研究背景、目的和意义,无线温度检测的 国内外发展现状和相关领域中已有的研究结果,该设计的预期结果和意义。第 2 章 主控芯片及系统各模块介绍。本章介绍了本次毕业设计的主控芯片及各 个模块的基本知识,在设计前熟悉各模块的功能。第 3 章 硬件系统的设计与实现。本章介绍本课题硬件系统各部分电路的设计、实现,讲述了各模块在本设计中的作用。第 4 章 软件系统的设计与实现。本章介绍了相关的应用软件,根据系统的总方 案,设计出程序的总流程图,并利用 C 语言编写相应的程序。第 5 章 系统的调试及实验结果。本章根据已有的软硬件,进行调试,得到的相 应成果。最后总结本论文,得出相关结论。附上电路图与源程序。 主要步骤:1.通过查阅资料,了解无线温度采集系统的研究背景、国内外发展状况;2.熟悉 LCD1602,DS18B20,NRF24L01,DS1302 等模块的基本功能;3.熟悉 Keil C51 软件和 STC-ISP 软件;4.使用 Keil C51 软件编写应用程序;5.使用 STC-ISP 软件将编译好的程序烧写进单片机;6.调试并分析;7.撰写论文;8.翻译一篇外文;学生应交出的设计文件(论文):(1)设计说明书文本 1 份,电子版 1 份(2) 开题报告文本 1 份,电子版 1 份(3) 任务书文本 1 份,电子版 1 份(4)中期检查表文本 1 份,电子版 1 份主要参考文献(资料):1 谭浩强.C 程序设计M.北京:清华大学出版社,1999 .2 牛昱光.单片机原理与接口技术M.北京:电子工业出版社,2008.2.3 潘雪涛,温秀兰.传感器原理与检测技术M.北京:国防工业出版社,2013.1.4 李兰友.单片机开发应用十例M.电子工业出版社,1994.2.5 沙占友.由DS182O 组成的单线数字温度计原理与应用J.电测与仪表,1999.6 朱玉颖,蔡占辉.基于 nRF24L01 的远程温度检测系统设计J .通信与信息处 理,2010,29,(5):56-58.7 深圳市德普施科技有限公司.NRF24L01 无线通信模块使用手册.8 Guiyun Tian.Foundation and Application of MicrocontrollerM.北京:高 等教育出版社, 2004.9 李文忠,段朝玉.短距离无线数据通信M.北京:北京航空航天大学出版社,2006. 10 郭天祥. 新概念51单片机 C 语言教程M . 北京: 电子工业出版社, 2009. 11 傅扬烈.单片机原理与应用教程M.北京:电子工业出版社,2002.12 金保华,张勇,崔光照.基于 nRF905 的无线数据多点跳传通信系统J.仪表技术 与传感器,2004(6).13 刘滨涛,金煜,殷小祥,韩学军.温度监测系统中无线通讯部分的设计与实现J. 高压电器,2006,(5).14 崔欣,何宏,贾衡天,杨金容,苏雷.基于射频技术的温度无线数据采集系统J. 天津工业大学学报,2008.16 王振,胡清,黄杰.基于 nRF24L01 的无线温度采集系统设计J.电子设计工 程,2009,12,(12):22-24.专业班级学生要求设计(论文)工作起止日期2014 年 2 月 24 日2014 年 6 月14 日指导教师签字日期教 研 室 主 任 审 查 签 字日期系主任批准签字日期第 4 页基于 NRF24L01 的无线温度采集系统设计摘要温度是工业、农业生产中常见的和最基本的参数之一,在生产过程中常需对温度进 行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高 生产效率和产品质量、节约能源等都有重要的作用。伴随工业科技、农业科技的发展, 温度测量需求越来越多,也越来越重要。但是在一些特定环境温度监测环境范围大,测 点距离远,布线很不方便。这时就要采用无线方式对温度数据进行采集。本设计是基于 STC89C52 单片机和 DS185B20 实现温度的测量系统,DS1302 作为时 钟芯片提供当前时间。单片机在本系统中作为温度,时钟输入和显示控制器件,DS18B20 被用作温度数据的采集和温度输出器件。最后采 nRF24L01 模块对采集到的温度时间数 据进行无线传输,在接收端通过 1602 液晶显示模块显示接收的温度和时间并通过 RS-232 将数据传给 PC,从而实现温度的采集和无线传送。本设计的主要优点在于应用无线传输,从而避免了电缆传输的一些固有的问题,例 如,成本高,周期长等。其次,它具有良好的可扩展性,带有电路简单,功耗低,体积 小等优点。最后,本系统具有快速性和经济性好的优点。关键词:温度采集;nRF24L01;DS18B20;LCD1602IDesign of wireless temperature acquisition system based on NRF24L01AbstractTemperature is one of the common and basic parameters of industrial, agricultural production, in the production process for detection and monitoring of the temperature often, temperature detection, using microcomputer digital display, data storage and real-time control, and is very important for improving the production efficiency and product quality, energy saving etc.This design is to realize the measurement system of temperature based on STC89C52 MCU and DS185B20, DS1302 as the clock the current time. Single chip microcomputer as the temperature in the system, the clock input and display control device, DS18B20 is used as the output device temperature acquisition and temperature data. The last time the temperature data collected by nRF24L01 wireless transmission module, in the receiving end through the 1602 liquid crystal display module displays the received temperature and time and send the date to PC by RS-232, in order to achieve the temperature acquisition and wireless transmission.The main advantage of this design is the application of wireless transmission, thereby avoiding some inherent problems, such as cable transmission, high cost,long cycle. Secondly, it has good scalability, with a simple circuit, low power consumption, the advantages of small volume, etc. Finally, the system has the advantages of fast and good economics.Keywords:temperature collection, nRF24L01, DS18B20, LCD1602II目录5摘要IAbstractII第 1 章 绪论11.1 课题的背景与意义11.2 国内外研究状况及相关领域中已有的研究成果11.3 对设计任务的分析21.4 预期结果21.5 论文的结构安排3第 2 章 主控芯片及系统各模块的介绍42.1 STC89C52 简介42.2 温度采集模块62.2.1 DS18B20 的管脚配置和内部结构72.2.2 DS18B20 的性能特点82.2.3 DS18B20 的工作原理82.3 时钟模块112.3.1 DS1302 的引脚分配及其功能112.3.2 DS1302 寄存器112.3.3 DS1302 控制字和读写操作122.4 无线收发模块142.4.1 NRF24L01 概述142.4.2 引脚功能及描述142.4.3 工作模式152.4.4 工作原理152.4.5 SPI 指令和时序162.4.6 配置字182.4.7 模块编程控制182.5 液晶显示模块192.5.1 LCD1602 模块简介192.5.2 LCD1602 的基本参数及引脚功能192.5.3 LCD1602 的指令说明及时序212.5.4 LCD1602 的 RAM 地址映射及标准字库表232.5.5 LCD1602 的一般初始化过程242.6 串口通信252.6.1 串行通信252.6.2 单片机串行通信接口262.6.3 单片机与 PC 机之间电平转换硬件接口272.6.4 单片机串口通信设置28第 3 章 系统硬件的设计与实现313.1 发射部分硬件电路313.1.1 温度采集电路313.1.2 时钟电路323.1.3 单片机晶振电路323.1.4 单片机复位电路323.1.5 无线发射电路333.2 接收部分硬件电路333.2.1 无线接收电路343.2.2 LCD1602 显示电路343.2.3 串口连接电路353.2.4 单片机晶振电路353.3 电源电路363.4 其他接口电路363.5 引脚分配373.5.1 发射部分373.5.2 接收部分38第 4 章 系统软件的设计与实现394.1 相关应用软件介绍394.1.1 Keil 简介394.1.2 STC-ISP 烧录软件简介394.2 各模块软件设计404.2.1 温度采集模块404.2.2 时间读取模块404.2.3 无线发射模块414.2.4 无线接收模块424.2.5 液晶显示模块424.2.6 串口通信模块434.3 软件的总体设计434.3.1 发送部分434.3.2 接收部分44第 5 章 系统调试及实验结果455.1 调试步骤455.2 实验结果45第 6 章 结论47参考文献48致谢49附录 A 发送与接收模块电路图50附录 B 发送部分源程序52附录 C 接收部分源程序61附录 D 英文原文69附录 E 英文翻译79IV第1章 绪 论1.1 课题的背景与意义随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗 透到生活各个方面。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运 行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据 传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很 多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数 据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此 时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分 区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散, 测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通 信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多 家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据, 并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人 们的居住环境。以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被 成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这 种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或 不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控 制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义1。1.2 国内外研究状况及相关领域中已有的研究成果在 2.4GHz 非授权频段上,目前已经云集了蓝牙、Wi-Fi、Zigbee 等多个标准无线协 议。具有带宽高( 2Mbps),双向传输,抗干扰性强,传输距离远(短距离无线技术范 围),耗电少的优点,用于无线键鼠等室内场合。Nordic 公司等公司已成功推出 nRF24L01 芯片,2.4G 全球开发 ISM 频段免许可证使用。同时许多公司也相继推出基于 nRF24L01 的无线传输模块。nRF24L01 模块是一款新型单片射频收发器件,工作于 2.4 GHz2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融 合了增强型 ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以-6dBm 的功率发射时,工作电流也只有 9mA;接收时,工作电流只有 12.3mA, 多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。至此这种基于此频段的 通信方式已日渐趋向成熟2。同样随着传感器及电子电路的发展,集成的温度检测器件的完善性及集成性也得到 了大大的提高。类似美国 DALLAS 公司推出的数字测温芯片 DS18B20 层出不穷,国内外 的研究在这方面的研究也趋近完善2。87在单片机的选择上,STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微 控制器,具有 8K 在系统可编程 Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但 做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵 活、有效的解决方案3。因此,本次设计中把温度传感器 DS18B20 采集到的温度值送给 STC89C52 单片机进 行处理,通过 nRF2401 实现远程无线传输,在上位机的控制系统中,采用 RS-232 口作为 计算机与单片机温度数据通信接口。本系统既能准确的测量温度,又能解决测量距离上 的问题,基此,本设计基于单片机无线的温度采集系统和无线传输系统展开应用研究工 作。1.3 对设计任务的分析本系统的设计采用了工作于 2.4GHz 频段 nRF24L01 射频芯片,并有低功耗单片机 STC89C52 控制实现短距离无线数据通信。该接口设计具有成本低、功耗低、传输速率 高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过 nRF24L01 无线数据通信收发模块来实现无线数据传输。发送部分以单片机 STC89C52 为 核心,使用温度转换芯片 DS18B20 与 DS1302 时钟芯片实时采集温度与时间。将采集的 温度和时间无线传送给接收部分,然后再在 1602 上显示并通过 RS-232 将数据传给 PC 保存。本系统的核心控制芯片选用的是 STC89C52。单片机在各个技术领域中的迅猛发 展,与单片机所构成的计算机应用系统的特点有关:(1)单片机构成的应用系统有较大的可靠性;(2)系统构建简洁、易行,能方便的实现系统功能;(3)由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特 点和优异的性能价格比。对 STC89C52 可以制作两个最小系统(一个控制发送端,一个控制接受部分)最小 系统包括电源电路,下载电路采用 CH340 USB 转串口 IC 及主控芯片和一些基本外围电 路。对于 DS18B20 的温度检测模块,硬件部分较简单,由于是单脚传输导致软件时序的 时间精确度控制上要求比较高,要做到精确。液晶显示部分虽然较简单但是在调试过程 有重要作用,是显示软硬件好使的必要条件,不可忽视4。无线收发模块采用挪威(Nordic)公司生产的 nRF24L01 及其外围电路组成,软件部 分要熟悉内部的标志及控制寄存器以及数据通道,发射频率功率及收发模式等以利于编 程。1.4 预 期 结 果采用 STC89C52 单片机作为主控 CPU,DS18B20 作为温度采集模块,DS1302 作为时 钟模块,nRF24L01 作为无线收发模块,加上 1602 显示模块与 RS-232 串口构成整个系 统。要求完成硬件模块的设计。软件模块包括温度检测模块、时钟模块、无线发射模块、 无线接收模块和显示模块,RS-232 串口通信模块。温度测量范围:0C 至 100C,传 输距离几十米,加入 PA 后可以传输几百米。1.5 论文的结构安排本文基于本次毕业设计的过程与要求,将论文分为五章。具体内容如下:第 1 章 绪论,本章简单介绍了课题的研究背景、目的和意义,无线温度检测的国 内外发展现状和相关领域中已有的研究结果,该设计的预期结果和意义。第 2 章 主控芯片及系统各模块介绍。本章介绍了本次毕业设计的主控芯片及各个 模块的基本知识,在设计前熟悉各模块的功能。第 3 章 硬件系统的设计与实现。本章介绍本课题硬件系统各部分电路的设计、实 现,讲述了各模块在本设计中的作用。第 4 章 软件系统的设计与实现。本章介绍了相关的应用软件,根据系统的总方案, 设计出程序的总流程图,并利用 C 语言编写相应的程序。第 5 章 系统的调试及实验结果。本章根据已有的软硬件,进行调试,得到的相应 成果。最后总结本论文,得出相关结论。附上电路图与源程序。第2章 主控芯片及系统各模块的介绍2.1 STC89C52 简介单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、 逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM), 只读程序存储器(ROM),输入输出电路(I/O 口),可能还包括定时计数器,串行通 信口(SCI),显示驱动电路(LCD 或 LED 驱动电路),脉宽调制电路(PWM),模拟多路 转换及 A/D 转换器等电路集成到一块单片机上,构成一个最小而且很完善的计算机系统。 这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。总的而言单片 机的特点可以归纳为以下几个方面:集成度高、存储容量大、外部扩展能力强、控制功 能强、低电压、低功耗、性能价格比高、可靠性高这几个方面5。单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智 能化控制功能这就是单片机的最大特点。然而单片机又不同于单板机,芯片在没有开发 前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最 小的、完整的微机控制系统。它与单板机或个人电脑有着本质的区别,单片机属于芯片 级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统 设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智 能。STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和 引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯 片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 在众多嵌入式控制 应用系统中得到广泛应用6。STC89C52 具有如下特点:40 个引脚,8k Bytes Flash 片内程序存储器,512 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器,引脚图如图 2-1 所示。图 2-1 89C52 引脚说明此外,STC89C52 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空 闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电 模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同 时该芯片还具有 PDIP、TQFP 和 PLCC 等三 种封装形式,以适应不同产品的需求。(1)主要功能特性: 兼容 MCS-51 指令系统 8k 可反复擦写(1000 次)ISP Flash ROM 32 个双向 I/O 口 4.5-5.5V 工作电压 3 个 16 位可编程定时/计数器 时钟频率 0-33MHz 全双工 UART 串行中断口线 256x8bit 内部 RAM 2 个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3 级加密位 看门狗(WDT)电路 软件设置睡眠和唤醒功能 灵活的 ISP 字节和分页编程 双数据寄存器指针(2)STC89C52 单片机引脚介绍:引脚如图 2.1 所示,以下是各引脚的说明。 VCC:STC89C52 电源正端输入,接+5V。 GND:电源地端。 XTAL1:单芯片系统时钟的反向放大器输入端。XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接 上一只石英振荡晶体系统皆可以工作了,此外可以在两个引脚与地之间加入一 20PF 的 小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:STC89C52 的重置引脚,高电平工作,当要对晶片重置时,只要对此引脚点 评提升至高电平并保持两个机器周期以上的时间,STC89C52 便能完成系统重置的各项 动作,使得内部特殊功能寄存器内容均被设成已知状态,并且至地址 0000H 处开始读入 程序代码而执行程序。EA/Vpp:“EA”为英文“External Access”的缩写,表示存取外部程序代码之意, 低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部 EPROM 中)来执行程序。因此在 8031 及 8032 中,EA 引脚必须接低电平,因为其内部无程序存储器空间。如果使用 8751 内部程序空间时,引脚要接成高电平。此外,在将程序代 码烧录至 8751 内部 EPROM 时,可以利用此引脚来输入 21V 的烧录高压(Vpp)。PORT0(P0.0P0.7):端口 0 是一个 8 位宽的开路电极(Open Drain)双向输出 入端口,共有 8 个位,P0.0 表示位 0,P0.1 表示位 1,依此类推。其他三个 I/O 端口(P1、 P2、P3)则不具有此电路组态,而是内部有一提升电路,P0 在当做 I/O 用时可以推动 8 个 LS 的 TTL 负载。如果当 EA 引脚为低电平时(即取用外部程序代码或数据存储器), P0 就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口 0 送出的地址锁住成为 A0A7,再配合端口 2 所送出的 A8A15 合成 一个完整的 16 位地址总线,而定位地址到 64K 的外部存储器空间。PORT1(P1.0P1.7):端口 1 也是具有内部提升电路的双向 I/O 端口,其输出缓冲 器可以推动 4 个 LS TTL 负载,若将端口 1 的输出设为高电平,使是由此端口来输入数 据。如果是使用 8052 或是 8032 的话,P1.0 又当作定时器 2 的外部缓冲输入脚,而 P。 1 可以有 T2EX 功能,可以做外部中断输入的触发引脚。PORT2(P2.0P2.7):端口 2 是具有内部提升电路的双向 I/O 端口,每一个引脚可 以推动 4 个 LS 的 TTL 负载,同样地,若将端口 2 的输出设为高电平时,此端口便能当 成输入端口来使用。P2 除了当做一般 I/O 端口使用外,若是在 STC89S51 扩充外接程序 存储器或数据存储器时,也提供地址总线的高字节 A8A15,这个时候 P2 便不能当做 I/O 来使用了。PORT3(P3.0P3.7):端口 3 也具有内部提升电路的双向 I/O 端口,其输出缓冲 器可以推动 4 个 TTL 负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部 中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下: P3.0:RXD,串行通信输入。 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断 0 输入。P3.3:INT1,外部中断 1 输入。P3.4:T0,计时计数器 0 输入。P3.5:T1,计时计数器 1 输入。 P3.6:WR,外部数据存储器的写入信号。 P3.7:RD,外部数据存储器的读取信号。2.2 温度采集模块该模块采用美国 DALLAS 公司推出的数字测温芯片 DS18B20,该芯片具有体积小, 多种封装形式,独特的单线接口等优点。测量范围从-55 摄氏度到+125 摄氏度,拥有可 以选择的 9 到 12 位温度数据分辨率,可以工作在寄生电源模式,另外还可自定义温度 告警设置。DS18B20 芯片封装如图 2-2 所示。图 2-2 DS18B20 引脚及封装2.2.1 DS18B20 的管脚配置和内部结构引脚定义:(1)DQ 为单数据总线,是数字信号输入/输出端; (2)GND 为电源地;(3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 内部结构如图 2-3 所示存储器和控制器温度灵敏元件64位ROM和 单线接口高速缓存存储器高温触发器配置寄存器8位CRC生成器电 源 检 测低温触发器图 2-3 DS18B20 内部结构(1)光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码如图 2-4 所示。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型标 号,接着的 48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实 现一根总线上挂接多个 DS18B20 的目的。图 2-4 DS18B20 地址序列码(2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位 符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位如 表 2-1 所示。12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二 进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值 乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。表 2-1 DS18B20 的 16 位符号扩展高 8 位SSSSS低 8 位(3)DS18B20 高速暂存器共 9 个存储单元,如表 2-2 所示:表 2-2 DS18B20 的高速暂存器序号寄存器名称作用序号寄存器名称作用0温度低字节以 16 位补码形式存放4配置寄存器1温度高字节5、6、7保留2TH/用户字节 1存放温度上限8CRC3TL/用户字节 2存放温度下限2.2.2 DS18B20 的性能特点采用单总线专用技术,既可通过串行口线,也可通过其他 I/O 口线与微机接口, 无须经过其他变换电路,直接输出被测温度值。测温范围为-55-+125,测量分辨率为 0.0625。内含 64 位经过激光修正的只读存储 ROM。适配各种单片机或系统机。用户可分别设定各路温度上下线。内含寄生电源。2.2.3 DS18B20 的工作原理DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。 其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们 有必要了解 18B20 的内部存储器资源。18B20 共有三种形态的存储器资源,它们分别是:(1) ROM 只读存储器,用于存放 DS18B20 的 ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是 19H),后面 48 位是芯片唯一的序列号,最后 8 位是以上 56 的位 的 CRC 码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。(2)RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共 9 个字节 RAM,每个字节为 8 位。第 1、2 个字节是温度转换后的数据值信息,第 3、 4 个字节是用户 EEPROM(常用于温度报警值储存的镜像。在上电复位时其值将被刷新。 第 5 个字节则是用户第 3 个 EEPROM 的镜像。第 6、7、8 个字节为计数寄存器,是为了 让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8 个字节的 CRC 码。EEPROM 非易失性记忆体,用于存放长期需要保存的 数据,上下限温度报警值和校验数据,DS18B20 共 3 位 EEPROM,并在 RAM 都存在镜像, 以方便用户操作。控制器对 18B20 操作流程7:(1)复位:首先我们必须对 DS18B20 芯片进行复位,复位就是由单片机给 DS18B20 单总线至少 480us 的低电平信号。当 18B20 接到此复位信号后则会在 15-60us 后回发一 个芯片的存在脉冲。如图 2-5 所示,单片机时刻发送一复位脉冲(最低为 480us 的低电 平信号)接着在时刻释放总线并进入接收状态,DS18B20 在检测到总线的上升沿之后, 等待 15-60us,接着 DS18B20 在时刻发出存在脉冲(低电平持续 60-240us)如图虚线所 示,如果-之间信号电平为低,则说明 DS18B20 复位成功,否则失败。60us-240us480us480us-960us15us-60ust1t2t3t4图 2-5 DS18B20 复位时序(2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在 15-60us 后接收存在脉冲,存在脉冲为一个 60-240us 的低电平信号。至此,通信双方 已经达成了基本的协议,接下来将会是控制器与 DS18B20 间的数据通信。如果复位低电 平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的 处理。(3)控制器发送 ROM 指令:双方打完了招呼之后将要进行交流了,ROM 指令共有 5 条,每一个工作周期只能发一条,ROM 指令分别是读 ROM 数据、指定匹配芯片、跳跃 ROM、 芯片搜索、报警芯片搜索。ROM 指令为 8 位长度,功能是对片内的 64 位光刻 ROM 进行 操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可 以同时挂接多个器件,并通过每个器件上所独有的 ID 号来区别,一般只挂接单个 18B20 芯片时可以跳过 ROM 指令(注意:此处指的跳过 ROM 指令并非不发送 ROM 指令,而是用 特有的一条“跳过指令”)。(4)控制器发送存储器操作指令:在 ROM 指令发送给 18B20 之后,紧接着(不间 断)就是发送存储器操作指令了。操作指令同样为 8 位,共 6 条如表 2-3 所示。存储器 操作指令的功能是命令 18B20 作什么样的工作,是芯片控制的关键。表 2-3 DS18B20 发送存储器操作指令指令约定代码操作说明温度转换44H启动 DS18B20 进行温度转换读暂存器BEH读暂存器 9 个字节内容写暂存器4EH将数据写入暂存器的 TH,TL 字节复制暂存器48H把暂存器 TH,TL 字节写到 RAM 中重新调 RAMB8H把 RAM 中的 TH,TL 字节写到暂存器 TH,TL 字节中读电源供电方式B4H启动 DS18B20 发送电源供电方式给主 CPU(5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读 写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须 等待 18B20 执行其指令,一般转换时间为 500uS。如执行数据读写指令则需要严格遵循 18B20 的读写时序来操作。数据的读写方法下文有详细介绍。当主机收到 DSl8B20 的响应信号后,便可以发出 ROM 操作命令之一,这些命令如下:Skip ROM(跳跃 ROM 指令):这条指令使芯片不对 ROM 编码做出反应,在单总线的 情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现 数据冲突,导致错误出现。Read Scratchpad (从 RAM 中读数据):此指令将从 RAM 中读数据,读地址从地址 0 开始,一直可以读到地址 9,完成整个 RAM 数据的读出。芯片允许在读过程中用复位 信号中止读取,即可以不读后面不需要的字节以减少读取时间。Convert T(温度转换):收到此指令后芯片将进行一次温度转换,将转换的温度 值放入 RAM 的第 1、2 地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间 隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必 须在发出此指令后立刻超用强上拉并至少保持 500MS,来维持芯片工作。与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开 始的。单片机先发一个复位脉冲,保持低电平时间最少480 s,最多不能超过960 s。 然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待15 60 s才发出应答脉冲。应答脉冲能保持60240 s。单片机从发送完复位脉冲到再次 控制总线至少要等待480 s。读时隙需 1560 s,且在 2 次独立的读时隙之间至少需要 1 s 的恢复时间。读 时隙起始于单片机拉低总线至少 1 s。DS18B20 在读时隙开始 15 s 后开始采样总线电 平,如图 2-6 所示。当单片机将总线时刻从高拉至低电平时,总线只须保持低电平 4us 之后,在时刻将总线拉高,产生读时间隙,读时间在时刻后时刻前有效,距为 15us, 也就是说,时刻前主机必须完成读并在后 60-120us 内释放总线。图 2-6 DS18B20 读时序写时隙需要1575 s,且在2次独立的写时隙之间至少需要1 s的恢复时间。写时 隙起始于单片机拉低总线,如图2-7所示。当单片机将总线时刻从高拉至低电平时,就 产生写时间隙。从时刻开始15us之内应将所需写的位送到总线上。DS18B20在后的 15-60us间对总线采样,若是低电平写入的位是0,若是高点平写入的位是1.连续写2位 间的间隙应大于1us。60us15ust015-60ust11us15us60us45us1ust0t1写0时序写1时序图2-7 DS18B20写时序2.3 时钟模块DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,加 31 字 节静态 RAM,采用 SPI 三线接口与 CPU 进行通信,并可采用突发方式一次传送多个字节 的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31 天时可以自动调整,且具有闰年补偿功能。工作电压宽达 2.55.5V。采用双电源供 电(主电源和备用电源),可设置备用电源充电方提供了对后备电源进行涓细电流充电 的能力8。2.3.1 DS1302 的引脚分配及其功能DS1302 的引脚排列,其中 Vcc1 为主电源,VCC2 为后备电源。在主电源关闭的情况 下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置 高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许 地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据传送的方法。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送 过程中 RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时, 在 Vcc2.0V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高 电平。I/O 为串行数据输入输出端(双向),后面有详细说明。SCLK 为时钟输入端。下图 为 DS1302 的引脚功能图:图 2-8 DS18B20 引脚分配2.3.2 DS1302 寄存器DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式,其日历、时间寄存器及其控制字见表 2-4。此外,DS1302 还有年份寄存器、控 制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可 一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为 两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制 字为 C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存 器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、FFH

温馨提示

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

评论

0/150

提交评论