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

下载本文档

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

文档简介

图书分类号 密级 毕业设计论文基于单片机的无线温度采集系统的设计 DESIGNOFTHEWIRELESSTEMPERATURECOLLECTIONSYSTEMBASEDONMCU 学生姓名 班级 学号 学院名称 专业名称 指导教师 年 5月 8日

摘要随着信息领域各种技术的发展在数据采集方面的技术也取得了长足的进步采集数据的信息化是目前社会的发展主流方向各种领域都用到了数据采集在石油勘探地震数据采集领域已经得到应用本课题提出一种基于单片机的无线温度采集系统方案该方案是利用单片机控制DS18B20温度传感器采集温度控制LED数码管实时显示温度值控制NFR240L1进行数据的无线传输并由单片机去把温度数据传至计算机进行存储本系统中所用到的器件是STC公司的STC89C52单片机数字温度传感器DS18B20和无线芯片NFR24L01测量结果用七段段LED数码管显示采集的数字信息并利用单片机串行口通过RS-232总线及通信协议将采集的数据传送到PC机进行进一步的存档处理并对测量结果进行显示和存储关键词单片机温度采集NFR24L01数据传输串口通信

AbstractWiththedevelopmentofvarioustechnologiesofinformationinthefieldindatacollectiontechniqueshavealsomadegreatprogresscollectdatainformationandsocialdevelopmentisthemainstreamVariousareasofdatacollectionusedinoilexplorationseismicdataacquisitioninthefieldhasbeenappliedThisissuepresentsacollectionbasedonsinglechipsystemsolutionsforwirelesstemperaturetheprogramistheuseofmicrocomputercontrolthetemperatureDS18B20temperaturesensoracquisitionreal-timecontrolofLEDdigitaldisplaytemperaturecontrolcontrolNFR240L1wirelessdatatransmissionbythemicrocontrollertothetemperaturedatatransmittedtothecomputerforstorageThissystemisadeviceusedintheSTCsSTC89C52microcontrollerdigitaltemperaturesensorDS18B20andwirelesschipsNFR24L01measuredwithaseven-segmentLEDdigitaldisplaysegmentofdigitalinformationcollectionanduseSerialportRS-232busandthroughthecommunicationprotocoltocollectdatatothePCforfurtherarchivingprocessingandmeasurementresultsaredisplayedandstoredKeywordsSCMTemperaturecollectionNFR24L01DatatransmissionSerialcommunication

目录1绪论 111课题背景 112数据采集系统简单介绍 12温度采集系统的设计 321系统硬件电路构成 3211单片机部分 3212温度传感器部分 7213LED数码管部分 15214NRF24L01无线数据传输部分 1622系统软件设计 29221DS18B20程序的设计 29222数码管显示程序的设计 313串口通信 3631通信简介 3632单片机串口通信接口 37321单片机串口结构 37322单片机与PC机之间电平转换硬件接口 38323单片机串口通信设置及程序设计 404上位机程序设计 4341VisualBasic语言简介 4342串口通信的实现 43421MSComm控件的操控原则 44422MSComm的属性 4443上位机程序设计 4544数据库设计 47总结 49致谢 50参考文献 51附录 52附录1 52附录2 57附录3 80

1绪论11课题背景在现代社会的生活环境中信息扮演着极其重要的角色所谓信息就是人们即时获得对自己有用的数据无论你生活在哪里从事什么工作无时无刻不在与信息打着交道自18世纪工业革命以来工业发展与是否能掌握技术有着密切的联系在机械精密制造化工等行业可以说那时几乎所有的工业部门都不得不考虑着技术领先的因素但是进入20世纪也就是人们说的信息社会的到来技术虽然还是关键的因素但是获得技术已经不是靠那种人们基本的手工操作了信息是获得技术的关键所在这就要求人们能在第一时间获得数据比如在气象部门航空航天部门以及现代农业可以说现代社会生活的各方面都对实时即时的数据存在着依赖今天我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务单片机在工业控制尖端武器通信设备信息处理家用电器等各测控领域的应用中独占鳌头时下家用电器和办公设备的智能化遥控化模糊控制化己成为世界潮流而这些高性能无一不是靠单片机来实现的采用单片机来对数据采集进行控制不仅具有控制方便组态简单和灵活性大等优点而且可以大幅度提高被控数据的技术指标从而能够大大提高产品的质量和数量单片机以其功能强体积小可靠性高造价低和开发周期短等优点成为自动化和各个测控领域中必不可少且广泛应用的器件尤其在日常生活中也发挥越来越大的作用温度是环境监测的重要参数在一些特定的场合常常需要对温度进行监测很多温度监测环境范围大测点距离远布线很不方便本系统中把温度传感器DS18B20将采集到的温度值送给单片机进行处理通过nRF24L01实现远程无线传输在上位机的控制系统中采用RS-232口作为计算机与单片机温度数据通信接口本系统既能准确的测量温度又能解决测量距离上的问题基此本绕基于单片机无线的温度采集系统展开应用研究工作12数据采集系统简单介绍随着自动控制监测及远程控制的发展数据采集越来越被广泛应用如医疗工业等方面数据采集是指将温度压力流量位移等模拟量通过各种传感元件做适当转换后再经信号调理采样量化编码传输等步骤采集转换成数字量后传给PC机进行存储处理显示或打印的过程相应的系统称为数据采集系统可分为以下几种1基于通用微型计算机的数据采集系统将采集来的信号通过外部的采样和AD转换后的数字信号通过接口电路送入微机内进行处理然后再显示处理结果或经过DA转换输出主要有以下几个特点1系统较强的软硬件支持通用微型计算机系统所有的软硬件资源都可以用来支持系统进行工作2具有自开发能力3系统的软硬件的应用配置比较小系统的成本较高但二次开发时软硬件扩展能力较好4在工业环境中运行的可靠性差对安放的环境要求较高程序在RAM中运行易受外界干扰破坏2基于单片机的数据采集系统它是由单片机及其些外围芯片构成的数据采集系统是近年来微机技术快速发展的结果它具有如下特点1系统不具有自主开发能力因此系统的软硬件开发必须借助开发工具2系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则因此系统的软硬件应用配置具有最佳的性价比系统的软件一般都有应用程序3系统的可靠性好使用方便应用程序在ROM中运行不会因外界的干扰而破坏而且上电后系统立即进入用户状态3基于DSP数字信号微处理器的数据采集系统DSP数字信号微处理器从理论上而言就是一种单片机的形式常用的数字信号处理芯片有两种类型一种是专用DSP芯片一种是通用DSP芯片基于DSP数字信号微处理器的数据采集系统的特点如下精度高灵活性好可靠性好容易集成分时复用等但其价格不菲4基于混合型计算机采集系统这是一种近年来随着8位单片机出现而在计算机应用领域中迅速发展的一种系统结构形式它是由通用计算机PC机与单片机通过标准总线例如RS-232-C标准相连而成单片机及其外围电路构成的部分是专为数据采集等功能的要求而配置的主机则承担数据采集系统的人机对话大容量的计算记录打印图形显示等任务混合型计算机数据采集系统有以下特点1通常具有自开发能力2系统配置灵活易构成各种大中型测控系统3主机可远离现场而构成各种局域网络系统4充分利用主机资源但不会占有主机的全部CPU时间

2温度采集系统的设计21系统硬件电路构成身的温度采集系统系统硬件电路由温度传感器单片机NRF24L01RS-232串口通信和计算机组成其原理框图见图2-1在单片机1的控制下温度传感器把温度数据传至单片机1进行判断显示并控制NRF24L01无线模块1把数据发射出去无线模块2收到数据后把数据通过SPI通信传至单片机2单片机2在对数据进行再判断与显示最后单片机2再把有效的数据通过RS-232串口传至计算机计算机对收到的数据进行采集和存储单片机主要是对温度传感器DS18B20进行控制读取温度传感器的温度值并把温度值通过串口通信送入计算机NRF24L01主要对数据进行无线传输由于STC89系列单片机与MCS-51系列单片机兼容并支持在线下载线路简单所以本系统采用STC89C52单片机211单片机部分一单片机发展单片机又称MCU其发展历程主要经历了以下五个阶段[7]第一阶段单片机的探索阶段这一阶段以Intel公司的MCS-48为代表MCS-48的推出是在工控领域的探索参与这一探索的公司还有MotorolaZiLong等都取得了满意的效果第二阶段单片机完善阶段Intel公司在MCS-48基础上推出了完善的典型的MCS-51单片机系列它在以下几个方面奠定了典型的通用总线单片机体系结构1完善的外部总线设置了经典的8位单片机的总线结构2CPU外围功能单元的集中管理模式3体现工控特性的位地址空间位操作方式4指令系统趋于丰富和完善并且增加了许多突出控制功能的指令第三阶段8位单片机巩固发展及16位单片机推出阶段也是向微控制器发展的阶段Intel公司推出的MCS-96系列单片机中将一些用于测控系统的模数转换器程序运行监测器脉宽调制器等纳入片中体现了单片机的微控制器特征第四阶段微控制器的全面发展阶段随着单片机在各个领域全面深入的发展和应用出现了高速大寻址范围强运算能力的8位16位32位通用型单片机以及小型廉价的专用型单片机第五阶段即现行阶段单片机的首创公司Intel将其MCS-51系列中的80C51内核使用权以专利互换或出售形式转让给世界许多著名IC制造厂商如AtmeiPhilipsNEC等这样80C51就变成有众多制造厂商支持的发展出上百种品种的大家族现统称为8051系列也有人简称为51系列虽然世界上的MCU品种繁多功能各异开发装置也互不兼容但是客观发展表明80C51系列单片机已成为单片机发展的主流在单片机家族中80C51系列是其中的佼佼者1998年以后系列单片机又出现了一个新的分支称为系列单片机这种单片机是由美国Atmel公司率先推出的它的最突出优点是把快擦写存储器应用于单片机中这使得在系统开发过程中修改程序十分容易大大缩短了系统的开发周期同时在系统工作过程中能有效地保存数据信息即使断电也不会丢失信息除此AT系列单片机的引脚和80C51是一样的所以当用89系列单片机取代80C51时可以直接进行代换并且也可以不更换仿真机二STC89C52的特点及工作原理STC89C52完全兼容MCS-51系列单片机的所有功能并且本身带有2K的内存储器可以在编程器上实现闪烁式的电擦写达几万次以上比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单方便等优点具体如下[5]STC89C52单片机是最早期也最典型的产品低功耗高性能采用CHMOS工艺的8位单片机它在硬件资源和功能软件指令及编程上与Intel80C3X单片机完全相同在应用中可直接替换在STC89C52内部有FLASH程序存储器既可用常规的编程器编程也可用在线使之处于编程状态对其编程编程速度很快擦除时也无需紫外线非常方便STC89C5X系列可认为是Intel80C3X的内核与STCFLASH技术的结合体它为许多嵌入式控制系统提供了灵活低成本的解决方案1主要性能●与MCS-51产品指令系统完全兼容●片内集成4KB的FLASH存储器可反复编程擦除1000次●数据保留时间10年●全静态设计时钟频率范围为0~24MHz33MHz●三个程序存储器保密位●128×8字节的内部RAM●32条可编程的IO口线●2个可工作于4种模式的16位定时计数器●5个中断源2个中断优先级●可编程串行通道●具有4种工作模式的全双工串行口●低功耗的待机工作模式和掉电工作模式●片内振荡器和时钟电路●具有4种工作模式的全双工串行口●低功耗的待机工作模式和掉电工作模式●片内振荡器和时钟电路图2-2STC89C52引脚图2管脚说明VCC供电电压GND接地P0口P0口为一个8位漏级开路双向IO口每脚可吸收8个TTL门电流当P1口的管脚第一次写1时被定义为高阻输入P0能够用于外部程序数据存储器它可以被定义为数据地址的第八位在FLASH编程时P0口作为原码输入口当FLASH进行校验时P0输出原码此时P0外部必须被拉高P1口P1口是一个内部提供上拉电阻的8位双向IO口P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后被内部上拉为高可用作输入P1口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故在FLASH编程和校验时P1口作为第八位地址接收P2口P2口为一个内部上拉电阻的8位双向IO口P2口缓冲器可接收输出4个TTL门电流当P2口被写1时其管脚被内部上拉电阻拉高且作为输入并因此作为输入时P2口的管脚被外部拉低将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时P2口输出地址的高八位在给出地址1时它利用内部上拉优势当对外部八位地址数据存储器进行读写时P2口输出其特殊功能寄存器的内容P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3口P3口管脚是8个带内部上拉电阻的双向IO口可接收输出4个TTL门电流当P3口写入1后它们被内部上拉为高电平并用作输入作为输入由于外部下拉为低电平P3口将输出电流ILL这是由于上拉的缘故P3口也可作为ST89C52的一些特殊功能口P3口管脚备选功能P30RXD串行输入口P31TXD串行输出口P32INT0外部中断0P33INT1外部中断1P34T0计时器0外部输入P35T1计时器1外部输入P36WR外部数据存储器写选通P37RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号RST复位输入当振荡器复位时要保持RST脚两个机器周期的高电平时间ALEPROG当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间此引脚用于输入编程脉冲在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的16因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是每当用作外部数据存储器时将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时ALE只有在执行MOVXMOVC指令是ALE才起作用另外该引脚被略微拉高如果微处理器在外部执行状态ALE禁止置位无效PSEN外部程序存储器的选通信号在由外部程序存储器读取指令期间每个机器周期两次PSEN有效但在访问外部数据存储器时这两次有效的PSEN信号将不出现EAVPP当EA保持低电平时则在此期间外部程序存储器0000H-FFFFH不管是否有内部程序存储器注意加密方式1时EA将内部锁定为RESET当EA端保持高电平时此间内部程序存储器在FLASH编程期间此引脚也用于施加12V编程电源VPPXTAL1反向振荡放大器的输入及内部时钟工作电路的输入XTAL2来自反向振荡器的输出3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件XTAL2应不接由于输入至内部时钟信号要通过一个二分频触发器因此对外部时钟信号的脉宽无任何要求但必须保证脉冲的高低电平要求的宽度4芯片擦除整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合并保持ALE管脚处于低电平10ms来完成在芯片擦除操作中代码阵列全被写1且在任何非空存储字节被重复编程以前该操作必须被执行5编程算法1地址线上输入欲编程的存储单元地址2在数据线上输入编程数据3加正确的控制信号组合4在高压模式下使VPP为12V5在ALE引脚上加一次负脉冲可对FLASH存储器的一个字节或保密位进行编程编程一个字节的周期是内部自定时的典型时间不会超过15ms改变编程的存储单元地址和编程数据重复步骤1~5直到编程文件最后此外STC89C52设有稳态逻辑可以在零频率的条件下静态逻辑支持两种软件可选的掉电模式在闲置模式下CPU停止工作但RAM定时器计数器串口和中断系统仍在工作在掉电模式下保存RAM的内容并且冻结振荡器禁止所用其他芯片功能直到下一个硬件复位为止6主要工作和内容安排综上所述本着实用可靠安全简洁及经济等设计原则设计开发了基于单片机STC89C52的无线温度采集系统所做的工作主要包括1利用DS18B20温度传感器采集温度2制作一个基于STC89C52单片机的温度采集系统并将采集信息数据通过NRF24L01无线传输模块传送给计算机利用计算机对其进行实时显示存储以便进行数据分析212温度传感器部分朱俊霖测量温度的关键是温度传感器温度传感器的发展主要大体经过了三个阶段1传统的分立式温度传感器含敏感元件2模拟集成温度传感器控制器3智能温度传感器模拟集成传感器是采用硅半导体集成工艺而制成的因此亦称硅传感器或单片集成温度传感器模拟集成温度传感器是在20世纪80年代问世的它是将温度传感器集成在一个芯片上可完成温度测量及模拟信号输出功能的专用IC模拟集成温度传感器的主要特点是功能单一仅测量温度测温误差小价格低响应速度快传输距离远体积小微功耗等适合远距离测温控温不需要进行非线性校准外围电路简单它是目前在国内外应用最为普遍的一种集成传感器典型产品有AD590AD592TMP17LM135等模拟集成温度控制器主要包括温控开关和可编程温度控制器典型产品有LM56AD22105和6509某些增强型集成温度控制器例如TC652653中还包含了刀转换器以及固化好的程序这与智能温度传感器有某些相似之处但它自成系统工作时并不受微处理器的控制这是二者的主要区别智能温度传感器亦称数字温度传感器是在20世纪90年代中期问世的它是微电子技术计算机技术和自动测试技术ATE的结晶目前国际上已开发出多种智能温度传感器系列产品智能温度传感器内部都包含温度传感器AD转换器信号处理器存储器或寄存器和接口电路有的产品还带多路选择器中央控制器CPU随机存取存储器RAM和只读存储器ROM智能温度传感器的特点是能输出温度数据及相关的温度控制量适配各种微控制器MCU并且它是在硬件的基础上通过软件来实现测试功能的其智能化程度也取决于软件的开发水平目前国际上新型温度传感器正从模拟式向数字式从集成化向智能化和网络化的方向飞速发展数字式温度传感器DS18B20正是朝着高精度多功能总线标准化高可性及安全性开发虚拟传感器和网络传感器研制单片测温系统等高科技的方向迅速发展因此智能温度传感器DS18B20作为温度测量装置己广泛应用于人民的日常生活和工农业生产中2121DS18B20简介DS18B20是美国半导体公司继之后最新推出的一种数字化单总线器件属于新一代适配微处理器的改进型智能温度传感器与传统的热敏电阻相比它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式可以分别在9375ms和750ms内完成9位和12位的数字量并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线单线接口读写温度变换功率来源于数据总线总线本身也可以向所挂接的DS18B20供电而无需额外电源因而使用DS18B20可使系统结构更趋简单可靠性更高同时其一线总线独特而且经济的特点使用户可轻松地组建传感器网络为测量系统的构建引入了全新的概念DS18B20一线总线数字化温度传感器支持一线总线接口测量温度范围为-55℃~+125℃在-10℃~85℃范围内精度为±05℃现场温度直接以一线总线的数字方式传输用符号扩展的16位数字量方式串行输出大大提高了系统的抗干扰性因此数字化单总线器件DS18B20适合于恶劣环境的现场温度测量如环境控制设备或过程控制测温类消费电子产品等它在测温精度转换时间传输距离分辨率等方面较都有了很大的改进给用户带来了更方便和更令人满意的效果可广泛用于工业民用军事等领域的温度测量及控制仪器测控系统和大型设备中2122DS18B20的性能特点和管脚排列1特点性能[14]1采用独特的单线接口方式与微处理器连接时仅需要一条口线即可实现微处理器与的双向通讯2在使用中不需要任何外围元件3可用数据线供电供电电压范围30V~+55V4测温范围-55℃~+125℃固有测温分辨率为±05℃当在-10℃~85℃范围内可确保测量误差不超过05℃在-55℃~+125℃范围内测量误差也不超过2℃5通过编程可实现9~12位的数字读数方式6用户可自设定非易失性的报警上下限值7支持多点组网功能多个DS18B20可以并联在唯一的三线上实现多点测温8负压特性即具有电源反接保护电路当电源电压的极性反接时能保护DS18B2不会因发热而烧毁但此时芯片无法正常工作9DS18B20的转换速率比较高进行9位的温度转换仅需9375ms10适配各种单片机或系统11内含64位激光修正的只读存储ROM扣除8位产品系列号和8位循环冗余校验码CRC之后产品序号占48位出厂前产品序号存入其ROM中在构成大型温控系统时允许在单线总线上挂接多片DS18B202DS18B20的管脚排列1DS18B20采用脚封装或脚封装其管脚排列见图2-3图2-3DS18B20管脚排列I0为数据输入输出端即单线总线它属于漏极开路输出外接上拉电阻后常态下呈高电平UDD是可供选用的外部电源端不用时接地GND为地NC空脚图2DS18B20内部结构图高8位是CRC校验码接着是每个器件的惟一的序号共有48位低8位是产品类型的编号前56位的这也是多个DS18B20可以采用一线进行通信的原因2非易失性温度报警触发器TH和TL可通过软件写入用户报警上下限3高速暂存存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的的E2RAM后者用于存储THTL值数据先写入RAM经校验后再传给E2RAM而配置寄存器为高速暂存器中的第5个字节它的内容用于确定温度值的数字转换分辨率DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值该字节各位的定义见表2-2表2-2字节定义低5位一直都是1TM是测试模式位用于设置DS18B20在工作模式还是在测试模式在DS18B20出厂时该位被设置为0用户不要去改动R1和R0决定温度转换的精度位数即用来设置分辨率见表2-3DS18B20出厂时被设置为12位表2-3R1和R0模式表由表2-1可见设定的分辨率越高所需要的温度数据转换时间就越长因此在实际应用中要在分辨率和转换时间两者中权衡考虑高速暂存存储器除了配置寄存器外还有其他8个字节组成其分配见表2-4表2-4字节定义其中第12字节是温度信息第34字节是TH和TL值第6~8字节未用表现为全逻辑1第9字节读出的是前面所有8个字节的CRC码可用来保证通信正确当DS18B20接收到温度转换命令后开始启动转换转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第12字节单片机可通过单线接口读到该数据读取时低位在前高位在后温度值格式见表2-5表2-5温度格式表以12位转化为例说明温度高低字节存放形式及计算12位转化后得到的12位数据存储在DS18B20的两个高低8位的RAM中二进制中的前面5位是符号位如果测得的温度大于0这5位为0即符号位S0这时只要直接将测到的数值二进制位转换为十进制再乘以00625即可得到实际温度如果温度小于0这5位为1即符号位S1这时先将补码变换为原码也就是测到的数值需要取反加1再计算十进制值最后乘以00625才能得到实际温度对应的一部分温度值见表2-6表2-6部分温度表实际温度值 数字输出二进制 数字输出十六进制 125℃ 0000011111010000 07D0H 85℃ 0000010101010000 0550H 250625℃ 0000000110010001 0191H 10125℃ 0000000010100010 00A2H 05℃ 0000000000001000 0008H 0℃ 0000000000000000 0000H -05℃ 1111111111111000 FFF8H -10125℃ 1111111101011110 FF5EH -250625℃ 1111111001101111 FE6EH -55℃ 1111110010010000 FC90H DS18B20完成温度转换后就把测得的温度值T与THTL作比较若TTH或TTH则将该器件内的告警标志位置位并对主机发出的告警搜索命令作出响应因此可用多只DS18B20同时测量温度并进行告警搜索4CRC的产生在64位ROM的最高有效字节中存储有循环冗余校验码CRC主机根据ROM的前56位来计算CRC值并和存入DS18B20中的CRC值做比较以判断主机收到的数据是否正确2124DS18B20的控制方法在硬件上DS18B20与单片机的连接有两种方法一种是将DS18B20的UDD接外部电源GND接地其IO与单片机的IO线相连另一种是用寄生电源供电此时DS18B20的UDDGND接地其IO接单片机IO无论是内部寄生电源还是外部供电DS18B20的IO口线要接见5KΩ左右的上拉电阻DS18B20有六条控制命令见表2-7表2-7DS18B20控制指令指令 约定代码 功能 读ROM 33H 读取DS18B20ROM中的编码64位地址 符合ROM 55H 发出命令后接着发出64位ROM编码访问单总线上与该编码相同的DS18B20使之做出反应为下一步读写作准备 搜索ROM 0F0H 用于确定挂在同一总线上DS18B20的个数和识别64位ROM地址微操作各器件做准备 跳过ROM 0CCH 忽略64位ROM地址直接向DS18B20发送温度转换命令适用于单片工作 告警搜索命令 0ECH 执行后只有温度值超过限度值才做出反应 温度变换命令 44H 启动DS18B20进行温度转换转换时间最长为500毫秒结果存入内部就九字节RAM中 读暂存器 0BEH 读内部RA九字节内容 写暂存器 4EH 发出向内部RAM的第34字节写上下限温度命令紧随该命令之后是传送两个字节数据 复制暂存器 48H 将RAM中的第34字节内容写到EEPRAM中 重调EEPRAM 0B8H 将EEPRAM中的第34字节内容写到RAM中 读供电方式 0B4H 读DS18B20供电模式寄生供电DS18B20时发送1外接电源发送1 CPU对DS18B20的访问流程是先对DS18B20初始化再进行ROM操作命令最后才能对存储器操作和对数据操作DS18B20每一步操作都要遵循严格的工作时序和通信协议例如主机控制DS18B20完成温度转换这一过程根据DS18B20的通讯协议必须经历三个步骤每一次读写之前都要对DS18B20进行复位复位成功后发送一条ROM指令最后发送RAM指令这样才能对DS18B20进行预定的操作2125DS18B20的测温原理DS18B20的测温原理见图2-5图2-5DS18B20的内部测温电路原理图图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1高温度系数晶振的振荡频率随温度变化而明显改变所产生的信号作为减法计数器2的脉冲输入图中还隐含着计数门当计数门打开时DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量计数门的开启时间由高温度系数振荡器来决定每次测量前首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数当减法计数器1的预置值减到0时温度寄存器的值将加1减法计数器1的预置将重新被装入减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数如此循环直到减法计数器2计数到0时停止温度寄存器值的累加此时温度寄存器中的数值即为所测温度图2-3中的斜率累加器用于补偿和修正测温过程中的非线性其输出用于修正减法计数器的预置值只要计数门仍未关闭就重复上述过程直至温度寄存器值达到被测温度值这就是DS18B20的测温原理2126DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电一种是采用电源供电方式此时DS18B20的1脚接地2脚作为信号线3脚接电源另一种是寄生电源供电方式单片机端口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流可用一个MOSFET管来完成对总线的上拉当DS18B20处于写存储器操作和温度AD转换操作时总线上必须有强的上拉上拉开启时间最大为10us采用寄生电源供电方式时VDD端接地由于单线制只有一根线因此发送接口必须是三态的寄生电源供电方式见图2-6图2-6DS18B20与单片机的接口电路213LED数码管部分在日常生活中我们对LED数码管并不陌生LED数码管已作为很多电子产品的通用器件如在仪表汽车机械电子及很多家用电子产品中都可以看到在单片机的人机交流界面中一般的输出方式有以下几种发光管LED数码管液晶显示器发光管和LED数码管比较常用软硬件都比较简单2131LED数码管简介LED数码管分共阳极与共阴极两种其工作特点是当笔段电极接低电平公共阳极接高电平时相应笔段可以发光共阴极LED数码管则与之相反它是将发光二极管的阴极负极短接后作为公共阴极当驱动信号为高电平端接低电平时才能发光LED的输出光谱决定其发光颜色以及光辐射纯度也反映出半导体材料的特性常见管芯材料有磷化镓GaP砷化镓GaAs磷砷化镓GaAsP氮化镓GaN等其中氮化镓可发蓝光发光颜色不仅与管芯材料有关还与所掺杂质有关因此用同一种管芯材料可以制成发出红橙黄绿等不同颜色的数码管其他颜色LED数码管的光谱曲线形状与之相似仅入值不同LED数码管的产品中以发红光绿光的居多这两种颜色也比较醒目LED数码管等效于多只具有发光性能的PN结当PN结导通时依靠少数载流子的注人及随后的复合而辐射发光其伏安特性与普通二极管相似在正向导通之前正向电流近似于零笔段不发光当电压超过开启电压时电流就急剧上升笔段发光因此LED数码管属于电流控制型器件其发光亮度L单位是cd/m2与正向电流IF有关用公式表示LKIF即亮度与正向电流成正比LED的正向电压U则与正向电流以及管芯材料有关使用LED数码管时工作电流一般选10mA左右/段既保证亮度适中又不会损坏器件2132LED数码管的基本参数和引脚功能LED数码管正向压降一般为15~2V额定电流为10mA最大电流为40mA本设计采用4位一组共阳LED数码管用P1来控制数码管的短选和p2口控制位选位选其管脚分配和内部结构见图2-7图2-7LED共阳数码管管脚及内部结构图2-8硬件原理图因为共阴共阳极数码管电平控制存在区别所以其编码方式不一样其具体编码见表2-10表2-8共阴共阳数码管编码方式显示字符 0 1 2 3 4 5 6 7 8 9 共阳极 0xc0 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8 0x80 0x90 共阴极 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f 214NRF24L01无线数据传输部分随着我国国际地位和科研水平的不断提高无需导线连接的无线数据系统对用户有着极大的吸引力无线数据系统采用了能在局域范围内无线传输信息的数字网络在不改动原有设施的前提下将有效的数据信息准确快速和安全地传送给与会者因此无线数据系统设备的设计得到了国内外相关领域厂商的广泛关注未来无线数据系统很有可能代替现有的有线数据系统成为今后数据传输的主流要了解无线数据传输就得先了解无线传输技术下面大概介绍一下几种常见的无线传输技术1U段无线传输技术超高频UHF-UltraHighFrequencyUHF波段则是指频率为3003000MHz的特高频无线电波具有特点是1稳定性高2写距离远3讯速率较高但U段技术由于频段多使用范围广容易串频和被听保密性较差2红外线技术红外通讯技术的特点1它是目前在世界范围内被广泛使用的一种无线连接技术被众多的硬件和软件平台所支持2通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发3主要是用来取代点对点的线缆连接4具有不能穿透障碍物的特性有效保障了会议信息的安全与保密5安装方便快捷成本低当然我们还是需要注意一下红外线技术的一些局限性在进行系统安装时设备距离红外信号收发器的距离通常比较短大都在10米内且应远离其它红外光源如日光灯等离子屏等以避免干扰3WAP技术WAP是WirelessApplicationProtocol即无线应用协议的缩写无线应用协议也称为无线应用程序协议目前应用广泛是在数字移动Internet及其他个人数字助理机PDA计算机应用之间进行通信的开放性全球标准在工作方面对于日理万机经常与时间竞赛的商务人士WAP更能为用户提供市场上最新的第一手信息完全配合用户的业务和工作需要在生活方面无论用户身在何处都可以通过WAP上网进行各项线上银行服务在娱乐方面WAP也为用户提供了崭新的消费模式无论您走到那里都可以随心所欲地与朋友甚至其他WAP用户一起上网玩游戏一起分享WAP的乐趣BOSCH的DCN无线讨论系统采用的就是该无线技术通过倍受赞誉的无线介入点能够为方圆40米164英尺左右的空间提供稳固如一的强大连接WAP既可部署在会议室中心以获得最佳的覆盖率也可以移动到会议室中最适合的位置尽管WAP有其强大的优势但是也必须指出WAP在技术角度上的局限性主要存在于两个方面1WAP设备和WAP承载网络2WAP设备受CPU随机访问存储器RAM只读存储器ROM和处理速度的限制3WAP承载网络是低功率的网络一般在办公环境中的带宽多为11MWAP承载网络的固有特性是可靠性不高稳定性不高和不可424G频射技术 24G无线技术其频段处于2405GHz-2485GHz之间所以简称为24G无线技术这个频段里是国际规定的免费频段是不需要向国际相关组织缴纳任何费用的这就为24G无线技术可发展性提供了必要的有利条件而且24G无线技术不同于之前的27MHz无线技术它的工作方式是全双工模式传输在抗干扰性能上要比27MHz有着绝对的优势这个优势决定了它的超强抗干扰性以及最大可达10米的传输距离此外24G无线技术还拥有理论上2M的数据传输速率比蓝牙的1M理论传输速率提高了一倍这就为以后的应用层提高了可靠的保障24G有着自己独到的优势所在相比蓝牙它的产品制造成本更低提供的数据传输速率更高相比同样免费的27MHz无线技术它的抗干扰性最大传输距离以及功耗都远远超出2141NRF24L01简介nRF24L01是一款新型单片射频收发器件工作于24GHz~25GHzISM频段内置频率合成器功率放大器晶体振荡器调制器等功能模块并融合了增强型ShockBurst技术其中输出功率和通信频道可通过程序进行配置nRF24L01功耗低在以-6dBm的功率发射时工作电流也只有9mA接收时工作电流只有123mA多种低功率工作模式掉电模式和空闲模式使节能设计更方便2142DS18B20的特性管脚排列及内部逻辑结构1nRF24L01主要特性如下GFSK调制硬件集成OSI链路层具有自动应答和自动再发射功能片内自动生成报头和CRC校验码数据传输率为lMbs或2MbsSPI速率为0Mbs~10Mbs125个频道与其他nRF24系列射频器件相兼容QFN20引脚4mm×4mm封装供电电压为19V~36V2管脚分布见图2-9图2-9NRF24L01管脚分布各管脚的定义如下引脚名称引脚功能描述1CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数字输入从SPI数据输入脚5MISO数字输出从SPI数据输出脚6IRQ数字输出可屏蔽中断脚7VDD电源电源3V8VSS电源接地0V9XC2模拟输出晶体震荡器2脚10XC1模拟输入晶体震荡器1脚外部时钟输入脚11VDD_PA电源输出给RF的功率放大器提供的18V电源12ANT1天线天线接口113ANT2天线天线接口214VSS电源接地0V15VDD电源电源3V16IREF模拟输入参考电流17VSS电源接地0V18VDD电源电源3V19DVDD电源输出去耦电路电源正极端3NRF24L01内部逻辑结构见图2-10图2-10NRF24L01内部逻辑结构2143NRF24L01工作模式NRF24L01有工作模式有三种收发模式空闲模式关机模式工作模式由PWR_UPregisterPRIM_RXregister和CE决定见表2-11表2-11NRF24L01工作模式模式 PWR_UP PRIM_RX CE FIFO 接收 1 1 1 发射 1 0 1 数据已在发射堆栈里 发射 1 0 10 当CE有下降沿跳变时数据已经发射 空闲2 1 0 1 发射堆栈空 空闲 1 0 此时没有数据发射 掉电 0 1收发模式收发模式有EnhancedShockBurstTM收发模式ShockBurstTM收发模式和直接收发模式三种1EnhancedShockBurstTM收发模式在EnhancedShockBurstTM收发模式下使用片内的先入先出堆栈区数据低速从微控制器送入但高速1Mbps发射这样可以尽量节能因此使用低速的微控制器也能得到很高的射频数据发射速率与射频协议相关的所有高速信号处理都在片内进行这种做法有三大好处尽量节能低的系统费用低速微处理器也能进行高速射频发射数据在空中停留时间短抗干扰性高EnhancedShockBurstTM技术同时也减小了整个系统的平均工作电流在EnhancedShockBurstTM收发模式下NRF24L01自动处理字头和CRC校验码在接收数据时自动把字头和CRC校验码移去在发送数据时自动加上字头和CRC校验码在发送模式下置CE为高至少10us将时发送过程完成后EnhancedShockBurstTM发射流程A把接收机的地址和要发送的数据按时序送入NRF24L01B配置CONFIG寄存器使之进入发送模式C微控制器把CE置高至少10us激发NRF24L01进行EnhancedShockBurstTM发射DN24L01的EnhancedShockBurstTM发射1给射频前端供电2射频数据打包加字头CRC校验码3高速发射数据包4发射完成NRF24L01进入空闲状态EnhancedShockBurstTM接收流程A配置本机地址和要接收的数据包大小B配置CONFIG寄存器使之进入接收模式把CE置高C130us后NRF24L01进入监视状态等待数据包的到来D当接收到正确的数据包正确的地址和CRC校验码NRF2401自动把字头地址和CRC校验位移去ENRF24L01通过把STATUS寄存器的RX_DR置位STATUS一般引起微控制器中断通知微控制器F微控制器把数据从NewMsg_RF2401读出G所有数据读取完毕后可以清除STATUS寄存器NRF2401可以进入四种主要的模式之一2ShockBurstTM收发模式ShockBurstTM收发模式下使用片内的先入先出堆栈区数据低速从微控制器送入但高速1Mbps发射这样可以尽量节能因此使用低速的微控制器也能得到很高的射频数据发射速率与射频协议相关的所有高速信号处理都在片内进行这种做法有三大好处尽量节能低的系统费用低速微处理器也能进行高速射频发射数据在空中停留时间短抗干扰性高nRF24L01的ShockBurstTM技术同时也减小了整个系统的平均工作电流在ShockBurstTM收发模式下nRF2401自动处理字头和CRC校验码在接收数据时自动把字头和CRC校验码移去在发送数据时自动加上字头和CRC校验码当发送过程完成后数据准备好引脚通知微处理器数据发射完毕ShockBurstTM发射流程A当微控制器有数据要发送时其把CE置高使NRF24L01工作B把接收机的地址和要发送的数据按时序送入NRF24L01C微控制器把CE置低激发nRF24L01进行ShockBurstTM发射DnRF24L01的ShockBurstTM发射过程如下给射频前端供电射频数据打包加字头CRC校验码高速发射数据包发射完成nRF2401进入空闲状态ShockBurstTM接收流程A配置本机地址和要接收的数据包大小B进入接收状态把CE置高C200us后NRF24L01进入监视状态等待数据包的到来D当接收到正确的数据包正确的地址和CRC校验码NRF24L01自动把字头地址和CRC校验位移去ENRF24L01通过把DR1这个引脚一般引起微控制器中断置高通知微控制器F微控制器把数据从nRF2401移出G所有数据移完NRF24L01把DR1置低此时如果CE为高则等待下一个数据包如果CE为低开始其它工作流程3直接发送模式A当微控制器有数据要发送时把CE置高BnRF2401射频前端被激活C所有的射频协议必须在微控制器程序中进行处理包括字头地址和CRC校验码直接接收模式A一旦nRF2401被配置为直接接收模式DATA引脚将根据天线接收到的信号开始高低变化由于噪声的存在BCLK1引脚也开始工作C一旦接收到有效的字头CLK1引脚和DATA引脚将协调工作把射频数据包以其被发射时的数据从DATA引脚送给微控制器D这头必须是8位EDR引脚没用上所有的地址和CRC校验必须在微控制器内部进行2空闲模式NRF24L01的空闲模式是为了减小平均工作电流而设计其最大的优点是实现节能的同时缩短芯片的起动时间在空闲模式下部分片内晶振仍在工作此时的工作电流跟外部晶振的频率有关3关机模式在关机模式下为了得到最小的工作电流一般此时的工作电流为900nA左右关机模式下配置字的内容也会被保持在NRF24L01片内这是该模式与断电状态最大的区别2144NRF24L01配置过程NRF2401的所有配置工作都是通过SPI完成共有30字节的配置字我们推荐NRF24L01工作于EnhancedShockBurstTM收发模式这种工作模式下系统的程序编制会更加简单并且稳定性也会更高因此下文着重介绍把NRF24L01配置为EnhancedShockBurstTM收发模式的器件配置方法ShockBurstTM的配置字使NRF24L01能够处理射频协议在配置完成后在NRF24L01工作的过程中只需改变其最低一个字节中的内容以实现接收模式和发送模式之间切换ShockBurstTM的配置字可以分为以下四个部分数据宽度声明射频数据包中数据占用的位数这使得NRF24L01能够区分接收数据包中的数据和CRC校验码地址宽度声明射频数据包中地址占用的位数这使得NRF24L01能够区分地址和数据地址接收数据的地址有通道0到通道5的地址CRC使NRF24L01能够生成CRC校验码和解码当使用NRF24L01片内的CRC技术时要确保在配置字CONFIG的EN_CRC中CRC校验被使能并且发送和接收使用相同的协议2145NRF24L01接口电路见图2-11图2-11NRF24L01接口电路2146NRF24L01控制程序includesbitMISOP13sbitMOSIP14sbitSCKP15sbitCEP16sbitCSNP37sbitIRQP12sbitLED2P35sbitLED1P34sbitKEY1P30sbitKEY2P31SPInRF24L01commandsdefineREAD_REG0x00DefinereadcommandtoregisterdefineWRITE_REG0x20DefinewritecommandtoregisterdefineRD_RX_PLOAD0x61DefineRXpayloadregisteraddressdefineWR_TX_PLOAD0xA0DefineTXpayloadregisteraddressdefineFLUSH_TX0xE1DefineflushTXregistercommanddefineFLUSH_RX0xE2DefineflushRXregistercommanddefineREUSE_TX_PL0xE3DefinereuseTXpayloadregistercommanddefineNOP0xFFDefineNoOperationmightbeusedtoreadstatusregisterSPInRF24L01registersaddressesdefineCONFIG0x00ConfigregisteraddressdefineEN_AA0x01EnableAutoAcknowledgmentregisteraddressdefineEN_RXADDR0x02EnabledRXaddressesregisteraddressdefineSETUP_AW0x03SetupaddresswidthregisteraddressdefineSETUP_RETR0x04SetupAutoRetransregisteraddressdefineRF_CH0x05RFchannelregisteraddressdefineRF_SETUP0x06RFsetupregisteraddressdefineSTATUS0x07StatusregisteraddressdefineOBSERVE_TX0

温馨提示

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

最新文档

评论

0/150

提交评论