无线温度传输的毕业论文.doc_第1页
无线温度传输的毕业论文.doc_第2页
无线温度传输的毕业论文.doc_第3页
无线温度传输的毕业论文.doc_第4页
无线温度传输的毕业论文.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题 目: 无线温度检测装置设计 学 院: 信息科学与工程学院 专 业: 电子信息工程 学 生: xxxxxxxxxxxx 学 号: xxxxxxxxxxxx 指导教师: xxxxxxxxxxxxxxx xxxxx2014年55摘 要温度是工业、农业生产中常见和最基本的参数之一,对其进行适时准确的测量具有重要意义。传统的温度测量系统不仅要设计信号调节电路,还要经过复杂的标准和标定工程,其测量精度难以得到保证,而且测量方式周期长、施工复杂,效率低,不便于管理,发生故障时,要耗费大量的人力物力排查和重新铺设线缆。因此设计一种低功耗的无线温度检测系统很有意义。本文提出一种采用单片机STC89C52RC控制DS18B20实现的无线温度测量系统。通过简单的无线通信协议,实现可靠性与功耗平衡,采用nRF24L01模块对采集到的温度数据进行无线传输,从而打破传统温度操作受到距离限制的缺陷。在经过软硬件测试后,我们基本实现了用温度传感器采集温度,用nRF24L01进行一定距离传输后在接受端的LCD1602上显示出来的模型。低功耗、实时性的无线温度检测是该设计的最大特点。关键字:STC89C52RC,DS18B20,无线温度测量,NRF24L01532014届电子信息工程毕业设计(论文)AbstractTemperature is a very common and one of the basic parameter in the production of industrial, agricultural. To timely and accurate measurement is of great significance. Traditional temperature measuring system need not only design signal conditioning circuit, but also a complex engineering standards and calibration, the measurement accuracy is difficult to be assured, and measurement period is long, the construction of complex, low efficiency, not easy to manage, when a failure occurs, it takes a lot of manpower and resources to investigatate and re-lay of cables. So to design a low-power wireless temperature detecting system is very meaningful. This paper presents a single-chip computer control DS18B20 to realize STC89C52RC wireless temperature measurement system. By a simple wireless communication protocol, the reliability and power balance are realized, nRF24L01 module temperature data collected by wireless transmission, thus breaking the distance limitations of traditional temperature operation. After software and hardware testing, we basically realize our LCD1602 target. Low power consumption and real-time wireless temperature detection are the biggest characteristic of this design. Key words: STC89C52RC, DS18B20, wireless temperature measurement, NRF24L01目 录摘 要IAbstractII第1章 绪 论11.1 设计的主要内容11.2国内外研究的现状21.2.1温度传感器技术的国内外研究动态21.2.2短距离无线传输的发展现状31.3设计任务的分析4第2章 系统方案分析与选择52.1系统方案选择52.1.1主控芯片52.1.2温度传感器的方案选择52.1.3无线通信模块方案6第3章 芯片介绍和硬件系统设计83.1单片机控制模块83.1.1STC89CRC单片机介绍83.1.2STC89CRC单片机引脚介绍93.2无线收发模块介绍133.2.1NRF24L01介绍133.2.2nRF24L01引脚功能及描述143.2.3工作模式配置153.2.4工作原理163.2.5配置字173.2.6nRF24L01模块原理图183.3 温度传感器 DS18B20193.3.1 DS18B20管脚配置和内部结构193.3.2 DS18B20的工作原理213.3.3 DS18B20的硬件设计233.4显示模块243.4.1 接收端显示模块243.4.2发送端显示模块243.4.3数码管驱动电路253.5报警电路263.6温度上限修改电路263.7电源电路273.7.1工作电源273.7.2主电源283.8显示模块293.8.1发送端显示模块:293.8.2接收端显示模块303.8.3 1602LCD的指令说明及时序323.8.4 1602LCD的RAM地址映射及标准字库表343.8.5 LCD1602与单片机连接图35第4章 软件的设计与实现364.1部分软件设计364.1.1温度检测软件设计364.1.2无线发射模块软件设计374.1.3无线接收模块软件设计374.2总体软件设计384.2.1 发送部分384.2.2接收部分39第5章 硬件电路板设计415.1系统硬件原理图415.1.1发送端原理图415.1.2 接收端原理图425.2仿真软件介绍435.3下载与调试43第6章 系统的调试及结果456.1 调试步骤456.2调试结果45总结48致谢50参考文献51附录52第1章 绪 论随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。在工业生产方面,由于生产环境条件有限,工作人员不宜长期停留在机器或者其他生产设备旁边,就需要通过无线传输将设备的各项工作数据传输到另外环境较好的地方,工业生产一般设备较多,使用传统的有线数据传输方式就需要铺设很多很长的线路,浪费资源,占用空间,可操作性差,出现错误换线困难。当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输。此时采用无线数据传输就显得比较合适了。在农业生产方面,比如说温室大棚、粮仓等生产场所,都需要对温度进行监测,由于其占地面积大,分布较广,采用传统的有线传输就会需要铺设大量的线路,浪费资源,而且可靠性差,采用无线传输就可以很好解决这些问题,而且简单易行,可靠性高,成本较低。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度,可以更好地改善人们的居住环境1 。在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。然而传统的温度测量方式周期长、施工复杂,效率低,不便于管理,发生故障时,要耗费大量的人力物力排查和重新铺设线缆。而在特定场合下检测点分散、环境封闭或有高电压、很多测温方式根本无法实现测量工作。温度的无线传输系统,采用先进传感技术、无线通讯技术、自动化控制技术、数字识别技术、抗地磁干扰设计,可对多种恶劣环境条件下的温度实现现场和远程智能化在线检测和预警。1.1 设计的主要内容本文设计一种采用单片机STC89C52控制DS18B20实现的无线温度测量系统。通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对温度的检测,并实现远程控制的无线温度检测系统。其中主要的任务:(1)电源的转换:nrf24L01集成芯片需要3.3V的工作电压,然而单片机的工作电压是5V,这都需要对工作电压进行转换,经过选择选用的是芯片LM117及其电路进行转换。(2)温度值的测量及处理:温度的测量选用的是精度较高的DS18B20,对数据进行处理选用的是STC89C52。(3)无线传输:无线传输选用得是抗干扰能力较强的NRF24L01无线传输模块。(4)温度的显示:温度的显示分为两部分,发射端和接收端,其中发射端选用4位数码管,接收端选用LCD液晶屏。(5)报警电路:当温度过高时需要启用报警功能,选用三极管驱动蜂鸣器经行报警。(6)报警温度的上限值的修改。1.2国内外研究的现状1.2.1温度传感器技术的国内外研究动态一、热敏电阻以温度变化导致阻值的变化为工作原理的热敏电阻,因其具有成本低、体积小、简单、可靠、响应速度快、容易使用等特点,在多项温度测量应用中受到广泛欢迎.热敏电阻的电阻温度系数较高,因此其自身发热较小,信号调节较为简单。热敏电阻的缺点是互换性差,温度与输出阻值之间呈非线性关系。热敏电阻分为正温度系数热敏电阻和负温度系数热敏电阻两种,但在温度测量应用中,正温度系数热敏电阻较少得到采用,更多采用的是负温度系数热敏电阻。二、数字式温度传感器 数字式温度传感器的种类也不少,但用于本系统的温度传感器主要是Dallas的DS 18x20系列温度传感器,其温度检测范围为-55-+125 ,检测精度为士0.5 。 DS 18x20采用1-WireTM接口,封装形式有PR-35和SSOP-16两种,系统中采用的是PR-35封装.DS 18x20采用9个位表示测温点的温度值,每个DS 18x20内部都设置有一个单一的序列号,因此可以使多个DS 18x20共存于同一根数据传输线上.DS 18x20内部分为4个部分:1、64位序列号;2、保存临时数据的8字节片内RAM;3、保存永久数据的2字节EEPROM1 。三、光纤传感器光纤温度传感器是近几年发展的新技术,也是工业中用的最多的光纤传感器之一。目前研究的光纤温度传感器主要有辐射式温度传感器、半导体吸收式温度传感器、光纤热色传感器等.光纤温度传感器的精度更高,但成本较贵。1.2.2短距离无线传输的发展现状进入二十一世纪,无线数据通讯技术在我国蓬勃发展,也得到了信息产业部以及各行各业的高度重视,因为任何有线数据传输网络只能是网状覆盖,而无线数据传输网可达到真正的面覆盖。目前主要的短距离无线数据传输技术主要红外线数据通信IrDA、蓝牙、Wi-Fi(IEEE802.11)、近场通信NFC,Zigbee技术等 2,与已具备相当规模的无线长距离通讯网络(比如蜂窝移动通讯网、卫星数据通讯)相比,短距离无线通讯系统在基本结构、服务范围、应用层次以及通讯业务(数据、话音)上,均有很大不同。下面分别介绍这几种无线传输技术。IrDA技术:采用IrDA标准的无线设备仅能在1m范围内以115.2kb/s速率传输数据;。IrDA是一种利用红外线进行点对点通信的技术。具有移动通信所需的体积小、功耗低、连接方便、简单易用的特点。此外红外线发射角度较小, 传输上安全性高。蓝牙技术蓝牙(IEEE 802.15)是一种点到多点的无线声音及数据传输技术。使用2.4GHz的ISM频段。传输范围从10厘米到10米。主要优势是:支持多种设备、可穿过墙壁和公文包传输数据、全方向传输、内置安全性。蓝牙比802.11更具移动性,此外,蓝牙成本低、体积小,可用于更多的设备。但是,蓝牙主要是点对多点的短距离无线发送技术,而且,蓝牙被设计成低功耗、短距离、低带宽的应用,严格来讲,不算是真正的局域网技术。但是芯片大小和价格难以下调、抗干扰能力不强、传输距离太短、信息安全和生态安全问题可疑等等。Wi-Fi技术:Wi一Fi作为目前WLAN的主要技术标准,目的是提供无线局域网的接入,可实现几Mbps至几十Mbps的无线接入。WLAN最大的特点是便携性,解决了用户“最后I00m”的通信要求,主要用于解决办公室无线局域网和校园网中用户与用户终端的无线接入由于其优异的带宽是以较高的功耗为代价的,因此大多数便携Wi一Fi装置都需要较高的电能储备,这限制了它在工业场合的推广和应用。NFC技术:NFC采用了双向的识别和连接技术,在20cm距离内工作于13.56MHz频率。它能快速自动地建立无线网络,为蜂窝、蓝牙式Wi一Fi设备提供一个“虚拟连接”,使设备间可以在很短的时间内进行通信。通过NFC,可实现多个设备(如数码相机、PDA、机顶盒、电脑、手机等)之间的无线互连,彼此交换数据式服务。与其它近距离通信技术相比,NFC具有鲜明的特点,主要体现在以下几个方面:(1)距离近、能耗低。 (2)NFC更具安全性。(3)NFC与现有非接触智能卡技术兼容。(4)传输速率较低。Zigbee技术:Zigbee它使用2.4GHZ波段,采用跳频技术。与蓝牙相比, Zigbee更简单、速率更慢、功率及费用也低。它的基本速率是250kb/s降低到20kb/s时传输范围可大到134m,并获得更高的可性,具有兼容性好、安全性高:实现成本低等特点。1.3设计任务的分析本系统采用了Nordic公司新推出的工作于2.4GHz频段的NRF24L01射频芯片,并由低功耗单片机STC89C52RC控制实现短距离无线数据通信。该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过NRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机STC89C52为核心,使用温度转换芯片DS18B20实时采集温度并通过数码管显示。将采集的温度无线传送给接收部分,然后再在LCD显示屏上显示,并通过蜂鸣器实现对温度过高时报警。本系统的核心控制芯片选用的是STC89C52RC。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关: 单片机构成的应用系统有较大的可靠性。 系统构建简洁、易行,能方便的实现系统功能。 由于构成的系统所用器件都是常用器件,且相当多的功能由软件实现,故具有柔性特点和优异的性能价格比。第2章 系统方案分析与选择2.1系统方案选择2.1.1主控芯片方案一:采用传统的STC89C52单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。方案二:采用TI公司生产的MSP430F149系列单片机作为主控芯片。此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位ADC。但其价格比较昂贵,而且是TPFQ贴片封装,不利于焊接,需要PCB制板,大大增加了成本和开发周期。方案三:采用TMEL公司的AVR单片机,AVR单片机是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便.AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力.但其芯片价格贵,ARM芯片封装都是高密脚贴片封装,且其采用单独的一套编程平台,不利于后期的开发。从价格和性能上综合考虑,决定采用方案一,即采用焊接方便,利于编程的单片机STC89C52。2.1.2温度传感器的方案选择方案一:采用LM135235335系列的温度传感器,LM135235335系列是美国国家半导体公司生产的一种高精度易校正的集成温度传感器,是电压输出型温度传感器,工作特性类似于齐纳稳压管。该系列器件灵敏度为10mV/K,具有小于1的动态阻抗,该系列器件广泛应用于温度测量、温差测量以及温度补偿系统中。但其输出的是模拟信号,需要采用AD转换电路。方案二:采用AD590,AD590是美国ANALO G DEV ICES 公司的单片集成两端感温电流源。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合,由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。但其需要用到差分放大器放大和A/D转换,需要很多的原件。方案三:采用美国Dallas半导体公司生产的DS18b20温度传感器,DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统。 综合各方面的因素决定采用DS18B20,虽然相对于AD590和LM135235335的精度低,但是如果采用AD590和LM135235335就还需要配套的电路来支持测量,增加了硬件设计难度。DS18b20编程和线路相对简单,成本较低,故采用DS18b20。2.1.3无线通信模块方案方案一:采用美国T1公司生产的CC2500无线模块,CC2500无线模块采用OOK/ASK/2-FSK/MSK等多种调制方式,在不同的环境中可以根据需要采取相应的工作方式,提高了工作效率;CC2500的输出功率比较高,最高可达1dbm;支持每个数据包连接质量指示;具有单独的 64 字节 RX和 TX数据 FIFO,能依次发送或者接收更大的数据包;在芯片中集成了各种纠错评估指示电路,属于一种比较严谨的数传模块。它的不足之处在于传输速率较低,不过对于一般应用,500kbit/s的速率也足够了。方案二:采用上海博通的BK2411无线模块,BK2411无线模块采用FSK与GFSK调制方式,具有1Mbit/s或者高达2Mbit/s的传输速率;而且可编程输出功率:-35dbm、-25dbm、-15dbm、0dbm、5dbm;与前一款模块相比,它最大的优势在于具有6个数据管道,可组成1:6星形网络;同时,每个数据管道具有收发32字节的FIFO。它的缺点在于功耗控制相对于其他模块稍弱,而且同等误码情况下,距离不及其他模块,但是由于价格因素,该模块还是比较有性价比的。方案三: 采用NRF24L01无线射频模块进行通信,nRF24L01无线模块是Nordic公司在nRF2401AG基础上的升级产品,具有130s的快速切换和唤醒时间,与BK2411一样,特有的MultiCeiverMT硬件同时提供6个接收机的功能,另外,将nRF2401AG的1Mbit/s的速率提升至2Mbit/s,使得高质量的VoIP 成为可能;nRF24L01在低功耗方面尤为出色,特别适合采用钮扣电池供电的2.4GHz应用,整个解决方案包括链路层和MultiCeiver功能,提供了比nRF2401AG 更多的功能和更低的电源消耗,与目前的蓝牙技术相比,在提供更高速率的同时,只需更小的功耗。方案四:采用GSM模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大、且需要内置SIM卡,通信过程中需要收费,后期成本较高。考虑到方案一的传输速率较低,方案二的传输距离有限,方案四的成本较高,设计决定采用方案三,采用NRF24L01编程相对容易,开发难度低。第3章 芯片介绍和硬件系统设计3.1单片机控制模块3.1.1STC89CRC单片机介绍单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,具有高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛3 。单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能。在众多的单片机系列中,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系列可编程Flash存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也适用于常规编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。STC89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,3个16位定时器/计数器,一个响亮2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52单片机主要的功能特点;1、兼容MCS51指令系统;2、8kB可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。3.1.2STC89CRC单片机引脚介绍STC89C52单片机的引脚介绍,引脚分布如图3.1所示:图3.1 单片机管脚图XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口:P0口是一组8位漏极开路型双向IO口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“l”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节。而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。图3.2 P0口1位结构图P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与STC89C52RC 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX).图3.3 P1口1位结构图P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRI 指令)时,P2 口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。图3.4P2口1位结构图P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口,P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。图3.5 P3口1位结构图P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。如下表3.1所示:表3.1 P3口引脚图端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/ :当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。程序储存允许()输出是外部程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。 /VPP外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.2无线收发模块介绍3.2.1NRF24L01介绍nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。 NRF24L01的主要特点:(1) 2.4Ghz 全球开放ISM 频段免许可证使用。 (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合。(3) 126 频道,满足多点通信和跳频通信需要。 (4) 内置硬件CRC 检错和点对多点通信地址控制 。(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA 。(6) 内置2.4Ghz 天线,体积种类多样。(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便。(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好的通信效果。(9) 2.54MM间距接口,DIP封装。(10)工作于Enhanced ShockBurst 具有Automatic packet handling, Auto packet transaction handling,具有可选的内置包应答机制,极大的降低丢包率。 3.2.2nRF24L01引脚功能及描述nRF24L01的封装及引脚排列如图所示。各引脚功能如下: 图3.6 nRF24L01封装图CE:使能发射或接收;CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01: IRQ:中断标志位;VDD:电源输入端; VSS:电源地;XC2,XC1:晶体振荡器引脚;VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口;IREF:参考电流输入。表3.2引脚图引脚名称引脚功能描述1CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数字输入从SPI数据输入脚5MISO数字输入从SPI数据输入脚6IRQ数字输入可屏蔽中断脚7VDD电源电源(+3V)8VSS电源接地(0V)9XC2模拟输出晶体振荡器2脚10XC1模拟输出晶体振荡器1脚/外部时钟输入脚11VDD-PA电源输出给RF的功率放大器提供的+1.8V电源12ANT1天线天线接口113ANT2天线天线接口214VSS电源接地(0V)15VDD电源电源(+3V)16IREP模拟输出参考电流17VSS电源接地(0V)18VDD电源电源(+3V)19DVDD电源输出去耦电路电源正极端20VSS电源接地(0V)3.2.3工作模式配置通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表3.2所示。 表3.2 nRF24L01四种工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式101数据在TXFIFO寄存器中发射模式1010停留在发送模式,直至数据发送完待机模式2101TXFIFO为空待机模式11-0无数据传输掉电0-待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的。待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式。待机模式下,所有配置字仍然保留。 在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。3.2.4工作原理发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。 在写寄存器之前一定要进入待机模式或掉电模式。如下图,给出SPI操作及时序图:图3.7SPI读操作图3.8SPI 写操作3.2.5配置字SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。 nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表3.3所示。 表3.3常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收接点地址1116RX_PW_P0P5设置接收通道的有效数据宽度3.2.6nRF24L01模块原理图nRF24L01单端匹配网络:晶振,偏置电阻,去耦电容。如3.8图所示:图3.8nRF24L01模块原理框图3.3 温度传感器 DS18B20DALLAS最新单线数字温度传感器DS18B20,新的一线器件体积更小、适用电压更宽、更经济, Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 一线总线接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 一线总线数字化温度传感器 同DS1820一样,DS18B20也 支持一线总线接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性4。3.3.1 DS18B20管脚配置和内部结构DS18B20的管脚和封装如下图3.9:图3.9 DS18B20引脚及封装引脚定义: (1)DQ为单数据总线,是数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 内部结构:图3.10 DS18B20内部结构图(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 表3.4 DS18B20温度值格式表bit7bit6bit5bit4bit3bit2bit1bit0LS Byte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MS ByteSSSSS262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度6。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。3.3.2 DS18B20的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是: (1) ROM 只读存储器,用于存放DS18B20ID编码,其前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都存在镜像,以方便用户操作7。控制器对18B20操作流程: (1) 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 (2) 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3) 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。(4) 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 (5) 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。 当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:指令代码 代码Skip ROM(跳跃ROM指令)CCH这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。Read Scr

温馨提示

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

最新文档

评论

0/150

提交评论