1、 题 目 外界环境检测仪的设计 学生姓名 赵俊杰 学号 1113024078 所在学院 物 理 与 电 信 工 程 学 院 专业班级 通 信 工 程 专 业 1103 班 指导教师 李翠华 完成地点 物 理 与 电 信 工 程 学 院 实 验 室 2015 年 6月 5日外界环境检测仪的设计赵俊杰(陕西理工学院通信1103班 陕西 汉中 723000)指导教师:李翠华【摘要】外界环境检测仪是对外界环境所涉及到的变量进行检测,例如、温度、湿度、光照强度、灰尘浓度等,使人们方便及时的了解外界环境的状况,也可用于航海宇航等工业领域。本次设计利用单片机控制实现了传感器对温度、湿度、光照强度及灰尘浓度的
2、检测与无线传输,实现了人们在室内及时了解外界环境的变化。本系统具有功能强大、成本低、工作稳定、传输数据及时、准确的优点。【关键词】:温度、湿度、光照强度、灰尘浓度、无线传输。The design of the external environment detectorZhao junjie(Grade11,Class1103,Major Communication ,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor: Li Cuihua Abstract:External environment detector is
3、 involved to the outside environment variables, such as, temperature, humidity, light intensity, dust concentration, etc.,which make people convenient and timely understanding of the external environment condition ,and used for navigation aerospace and other industrial fields. This design used singl
4、e-chip microcomputer to control of temperature, humidity, light intensity,dust concentration measurement and wireless transmission finally in order to understand the change of external environment in a timely manner for people indoors . the system has powerful function, low cost, stable work, the ad
5、vantages of accurate and timely data transmission. Key Words: Temperature, humidity, light intensity, dust concentration, wireless transmission. 目 录1 绪论11.1研究背景及意义11.2 设计指标及要求12.方案设计22.1器件选型22.1.1 传感器简介22.1.2短距离无线传输模块简介32.1.3 LCD1602显示:42.2本系统设计方案52.2.1传感器选型52.2.2无线模块方案论证52.2.3显示模块方案论证53.系统硬件电路的设计63
6、.1设计思路与总体框图.63.2传感器电路设计73.3无线传输模块83.4 显示电路94系统软件设计124.1主程序124.2传感器信息采集154.3 无线射频nRF24L01164.3.1无线发射程序流程文字详叙194.3.2无线接收程序流程文字详叙194.4 LCD1602显示模块设计195软硬件调试235.1 软件调试235.2硬件电路调试24致谢26参考文献27附录A28附录B30附录C32附录D51附录E52II陕西理工学院毕业设计1 绪论1.1研究背景及意义在人们的日常生活中,出行、旅游、行程安排都离不开对环境状况提前的预知,传统的有线检测,受制于地理环境位置,和自由约束性太大,故
7、而追求一种不受位置环境限制的实时检测检测仪。目前我国的环境检控系统大都采用有线检控系统,由于有线检控系统受地域和环境因素的影响难以实施全面、灵活的监测,在外界环境特殊的情况下事故发生率仍然较高。因此用无线检控系统取代有线检控系统,将大大提高监测与预警水平。无线技术有多种,然而适合于无线电缆短距离传输的外界环境有效的方法之一是利用RF24L01(射频技术)和Zigbee技术(无线短距离传输技术)。本次设计基于无线SPI协议组建的网络外界环境检测系统,为外界环境监测提供了新方法思路。RFL2401技术具有低成本、低功耗和低速率无线传输的特点,适用于长短各种距离小范围的组网协议,尤其是在控制领域中得
8、到快速的发展与应用。国外研究现状和发展趋势无线传感器网络的研究起始于美国,在20世纪90年代末期只有美国在无线传感器网络上有所研究,直到21世纪开始,美国和欧洲相继开启了无线传感器网络的研究计划,2003年美国自然科学基金委员会制定的无线传感器网络的研究计划。美国的一些研究机构和高级计划局投入了大量资金支持高校和科研机构研究无线传感器网络。美国英特尔公司,微软公司和其他信息产业巨头也开始对无线传感器网络进行研究,同时还有其他科技发达国家也开始了无线传感器网络的研究工作。经过几年的研究,不断的利用和改进,现在无线传感器采集系统主要应用在城市公共安全、公共卫生、安全生产、智能交通、智能家居、环境监
9、控等控制领域。所以,越来越多的公司和厂家重视无线传感网络的研究与发展。1.2 设计指标及要求外界环境的好坏和人们的生活密切相关,本设计要求设计一外界环境检测仪,可以实现对外界环境温度,湿度,光照,灰尘颗粒浓度的检测,检测到的数据可以实现无线传输,使人们可以在家中随时了解外界环境的状况。1.画出总体设计框图,用以说明检测仪由哪些相对独立的功能模块组成,标出各个模块之间互相联系。并以文字对原理作辅助说明,具有检测温度,湿度,光照,灰尘浓度的功能。2.设计各个功能模块的电路图,总电路具有无线传输的功能; 。3.选择合适的元器件,在开发板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的
10、输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,试验样机一套。2.方案设计2.1器件选型本设计涉及到的主要问题是:(1)传感器选型(2)信息传输核心芯片的选型和模块的设计(3)无线传输模块的辩论(4)显示模块的设计及液晶显示的选型。2.1.1 传感器简介光敏电阻光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。另一种是电阻会随光的减弱而减小。本次设计是选用前者作为光强采集元件。图2.1 光敏电阻
11、光照强度L采集,通过光敏电阻由于它的电气特性影响所在电路支路的电流,进而改变模拟电压,ADC0832内部的电路在时钟频率下,每隔一段时间对模拟量进行16分频采集,采集到的电压,用比较电路将其与参考进行比较进而编为0/1代码,(此次过程也量化编码的过程)在内部逻辑的控制下将其以一个字符为单位送入锁存寄存器,进行锁存,于此同时等待单片机中断的到来。其结果可直接用于单片机的识别。数字温湿度传感器DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,传感器包括一个电阻式感湿元件和一个NTC测温元件,校准系数以程序的形式存在OTP内存中,
12、传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。4针单排引脚封装,连接方便。 图2.2 数字温湿度传感器MQ211型气敏元件特点:这是一种通用性较强的气敏元件,气敏传感器的敏感元件是气敏电阻器,气敏电阻器的阻值随吸附气体的浓度变化而变化,利用这一特性检测气体浓度。适用于一般可燃气体(如氢气、液化石油气、煤气、一氧化碳、烷烃类等及酒精、乙醚、汽油、烟雾等有害气体的检测,是制作换气扇、脱排油烟机自动开关、气体报警器,防止环境污染的理想气体敏感器件)。MQ211气敏传感器管脚排列如下
13、图所示: 图2.3 气敏传感器可燃性气体(H2、CO、CH4等)与空气中的氧接触,发生氧化反应,产生反应热(无焰接触燃烧热),使得作为敏感材料的铂丝温度升高,电阻值相应增大。一般情况下,空气中可燃性气体的浓度都不太高(低于10),可燃性气体可以完全燃烧,其发热量与可燃性气体的浓度有关。空气中可燃性气体浓度愈大,氧化反应(燃烧)产生的反应热量(燃烧热)愈多,铂丝的温度变化(增高)愈大,其电阻值增加的就越多。因此,只要测定作为敏感件的铂丝的电阻变化值(R),就可检测空气中可燃性气体的浓度。2.1.2短距离无线传输模块简介传输方式有多种多样,传输方式可选择nRF24L01技术(无线电射频技术)、zi
14、gbee技术、蓝牙技术、红外技术、等。这些传输方式都有自己的优点,通过方案的比较,结合实际的应用情况,选择一种最佳的传输方式作为本设计的通信方式。无线电射频技术联网标准是在1988年,是由Proxim、西门子、摩托罗拉等信息技术巨头组建的。其起始研发目的是为家庭无线联网提供一种组网方便、易于使用、成本低的通用性标准。采用工作频率是2.4G 的ISM频段,传输速率达到1-2Mbps,主要应用在家庭无线组网上,可连接设备127台,由于早期技术未进行公开,只有少数公司支持,在抗干扰方面与其他技术相比存在很多问题,后续研发迟缓,因此未能得到广泛的发展与应用但其技术已够成熟。 SPI通信协议:主单片机与
15、从单片机的SPI9位移位寄存器连接成一个循环的16位寄存器。当主单片机程序向SPDAT写入一个字节时,立即启动一个连续的8位移位通讯过程:主单片机的 SCLK脚向从单片机的SCLK脚发出一串脉冲在这串脉冲的驱动下,主单片机SPI8位移位寄存器中的数据移动到了从单片机的SPI 8位移位寄存器中;于此同时,从单片机SPI 8位移位寄存器中的数据已到了主单片机的 SPI 8位移位寄存器中。利用这样的数据交换机制,主单片机即可向从单片机发送数据,又可读从机单片机中的数据。Zigbee技术是一种具有统一标准的短距离无线通信技术,其PHY层(物理层)和MAC层(介质访问控制层)协议为IEEE 802.15
16、.4标准协议,NWK层(网络层)由Zigbee技术联盟限定,APL层(应用层)的开发应用根据用户的应用需要,对其进行开发利用,该技术能够为用户提供机动、灵活的组网方式。Zigbee 2007 规范定义了 zigbee 和zibee PRO 两种基本特性,该规范比 Zibee 2006 协议更具有应用前景。蓝牙技术经过多年的研究和开发,现已广泛应用于移动电话的无线耳机,尤其是推出蓝牙V1.2协议后。蓝牙技术是一种替代便携式或固定电子设备上的电缆或无线连接,短距离无线传输技术。其工作频率为ISM 2.4G,采用扩频调制技术,蓝牙设备的最大发射功率有三个等级:100mw(20dBm)、2.5mw(4
17、dBm)、lmw(0dBm)。当蓝牙设备功率为最低等级lmw时,其传输距离仅有0.110m。当发射源接近或是远离,蓝牙设备会根据接收到的电波强弱变化来自动地调整发射功率。当发射功率提高到10mw时,其传输距离可以达到100m。传输速率也从原有的720kbps提高到3Mbps。 红外技术,一般是利用850nm的红外光进行传输。而该传输方式必须要求设备之间的信道无障碍,通信距离不超过10m,通信的角度在30之内,但是红外技术在数据传输速率上非常快,最初的红外技术传输速率为4Mbps,而到现在已经提高到16Mbps。红外技术的工作原理很简单,功耗低,成本低。由于它在传输距离上受限制、传输方向要求强,
18、因此只能在一定领域受到使用,得不到广泛的发展。表2.1几种短距离无线通信技术性能比较 技术名称工作频段传输速率最大功耗链接设备数应用Zigbee 896/915MHZ 20kbp,40kbps, 1-3mw 6500 家庭网络,传感器网络 2.4GHZ 250kbpsBluetooth 2.4GHZ 1-3Mbps 1-100mw 7 个人网络Infrared 820nm 520kbps,4Mbps, 1-10mw 2 透明可见范围内的数据传输 16MbpsHomeRF 2.4GHZ 1-2Mbps 100mw 127 家庭无线局域网2.1.3 LCD1602显示:工业字符型液晶,能够同时显示
19、16x02即32个字符(16列2行)。1602液晶也图2.4 字符型液晶叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。2.2本系统设计方案2.2.1传感器选型方案一、将温度传感器和湿度传感器分开,分别采用温度传感器DS18B20,湿度传感器采
20、用HS1101。温度传感器DS18B20具有体积小、精度高、测量范围广等优点,湿度传感器HS1101具有误差小、精度高的特性,还具有不需校准的完全互换性,稳定性也相对较高。方案二、采用温湿度一体化传感器DHT11。环境要求不高,稳定性高,使用简便,成本低廉,性价比相对较高。综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其在性价比以及应用的方便性上还是方案二稍占优势,因此,我选择方案二来作为本次设计的温湿度采集模块。2.2.2无线模块方案论证 方案一、采用双向无线数据传输模块nRF401。该模块以芯片nRF401为核心,具有高速率,低功耗,应用简便等特点,但费用太高,不太符合
21、本次设计实际情况。 方案二、采用无线射频收发芯片nRF24L01。它具有自动应答及自动重发功能,数据传输率为1 或2Mbps,极低的晶振要求也是它的特点。成本较为低廉,应用也相对简单。相对于方案一来说,nRF24L01虽然在性能上要比nRF401略逊一筹,但考虑到实际经济和应用问题,本次设计选用方案二。2.2.3显示模块方案论证方案一、使用数码管显示。数码管在亮度、功耗、可视角度和刷新速率等方面,都具优势。它具有低功耗,寿命长,防潮,防晒,防高(低)温等优点,对外界环境要求也比较低,易于维护,精确较为可靠,操作也简单。但是其体积较大,而且显示位数有限制,不适用于显示数字信息量大的情况。 方案二
22、、采用液晶显示温度和湿度。LCD具有更薄、更亮、更清晰的优点。而且还有低功耗、无辐射危险的特性,它在平面显示以及稳定性方面也具有优势。而且现在很多液晶都自带字符库,应用方便。基于上述分析,考虑到本次设计的实际情况,拟订方案二。 3.系统硬件电路的设计3.1设计思路与总体框图.外界环境检测仪由;4大数据采集模块、无线发射接受模块、显示模块、报警模块、信息处理模块(上下位机进行控制),DHT11传感器所感应的温度信号经过其数据传输引脚(因为其具有自带A/D转换模块故而输出的数字信号,单片器可以处理)传送给单片机,单片机将所接收到的温度信号经过处理,传给nRF24L01模块,经调制,无线射频将其以高
23、频载波的方式送往接受模块,接受模块的射频电路对模拟信号进行解调,将其转换的数字信号送至上位(STC89C52)单片机,进而单片机对显示器LCD1602进行操作显示其它传感器信息传送基本一致只是其加了AD转换而已。除此外能够通过独立按键设置温度报警值,若温度处于报警上限和下限之外,报警电路工作。检测系统设计框图如下图所示。该系统包括数据采集模块、nRFL2401无线发送模块、nRFL2401无线接收模块、LCD显示模块、蜂鸣器报警模块、报警LED指示模块及上位机显示。如图3.1为检测系统设计框图。A/D转换光敏电阻采集、MQ-2采集灰尘浓度DHT11温湿度采集(带有A/D)STC89C52 RF
24、241L0射频RF24L01射频报警电路LCD显示四项指标STC89C52 图3.1 设计思路与总体框图按键复位 3.2传感器电路设计DHT11温湿度传感器电路设计DHT11的引脚1接电源,引脚2为数据接口,引脚3悬空,引脚4接地,引脚2接单片机的P26。利用串行总线,即可读取DHT11内部转换好的40位数据。DHT11温湿度传感器电路如图3.2所示图3.2 温湿度传感器光强及灰尘浓度的采集电路设计光敏电阻根据外界光照强度的变化来改变自身阻值,光照越强,阻值越小。因此,可将光敏电阻与一已知阻值电阻进行串联,通过测量已知阻值电阻的电压来表示光强,期间电压为模拟信号需经A/D转换为数字信号。光强采
25、集电路如图3.3所示。图3.3 光强及灰尘浓度的采集电路设计气敏传感器的连接方法如图3.3上所示,MQ211气敏传感器的1号脚接5V电源, 2、3号脚经接地线。 4、6号脚经R13电阻接到ADC0831的数据采集端CH0上,该脚具备ADC功能。R3电阻起到分压作用。ADC0832 具有以下特点:8 位分辨率;双通道 A/D 转换;输入输出电平与 TTL/CMOS 相兼容;5V 电源供电时输入电压在 0-5V 之间;工作频率为 250KHZ,转换时间为 32S;一般功耗仅为 15mW;8P、14PDIP(双列直插)、PICC 多种封装;商用级芯片温宽为0C to +70C,工业级芯片温宽为40C
26、 to +85C。 3.3无线传输模块由于nRF24L01芯片的正常驱动电压为1.9V到3.4V之间故应该将单片机的驱动电压5V转换为3.3V期间用到LM1117芯片具体连接方法为其典型的连接方式,安装此芯片的好处还有一点就是,整个电路的焊接还有实际产生的杂波将会影响到整体电路的不稳定性,此电路的安装有利于驱动射频的稳定性使系统更为可靠。发射数据时,首先将nRF24L01配置为发射模式:接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟13
27、0s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。 接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s
28、进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高。图3.4 无线传输模块IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。3.4 显示电路采用液晶显示屏LCD1602显示,第一行显示温度和湿度和光照强度,第二行显示灰尘浓度,而且能够显示负温度值。用P0口进行LCD1602的数据写操作,P2.5P2.7口进行LCD1602的命令控制端口。电路图如3.5所示:图3.5 显示电路按键电路本系统一共设置了3个按键,S1键设置温
29、度上、下限选择,S2键设置温度加,S3键设置温度减。图3.6 按键电路报警电路LED指示灯模块为红灯,整个过程为暗状态,当有报警时,红灯亮,并伴有蜂鸣器报警。P10为高电平时三极管9014导通,三极管8550截止,无蜂鸣信号;P10为低电平时,三极管9014截止,红灯亮,三极管8550导通,蜂鸣器报警。电路如图3.7所示。图3.7 报警电路我通过查阅资料书、上网查询,根据检测仪的一般结构框图,和传统STC系列单片机的通用连接方式,以TX-1C实验箱为模板,思维上构造逼近实验箱的传统单片机控制电路,以降低技术难度,易于实现为标准,构造出整体虚拟电路仿真图,并结合现实,了解不同元件的功能和实用性,
30、考虑性价比后,制作出外界环境检测仪的仿真电路原理图,如图3.8和3.9所示。(实物见附录E) 3.8接收显示仿真原理图3.9信息采集发送模块系统工作过程其中系统上电后,信息采集模块的温湿度传感器在其自带的AD转换芯片的作用下根据单片机的时钟信号对外界环境温湿度进行采集于此同时ADC0832芯片也根据单片机时钟信号把光敏电阻和MQ-2上的模拟信号转换成数字信号;这三者采集到得数字信号放入各自引脚的缓存区;等待单片机串口中断的到来;单片机在其内部程序的控制下,在其串口中断到来的那一瞬间,分别顺序的对ADC0832上的光信号、灰尘浓度、和温湿度信号进行读出,写入RAM内部;再在逻辑中断到来时,根据S
31、PI协议将其中的数据传给nRF24L01射频装置,射频装置通过芯片内部自带的电路及其程序将数字信号转变为模拟信号进而进行调制,通过天线发射出去。在采集模块发射出信号后,在同一频点上nRF24L01根据内部的通信协议对模拟新号进行解调和校验,根据SPI通信协议在单片机时钟信号和串口中断的控制下,单片机顺序的获取到光照强度、灰尘浓度、温湿度的数字信号,将其存于RAM中,在时钟和内部程序的作用下分时复用的将数据由RAM中移往PO 8个端口(显示模块的)的缓存区,在移位寄存器的作用下将其锁存与8个端口中,当串口中断到来时以并行的形式送往LCD液晶显示。 4系统软件设计系统的软件设计采用C语言编程, 软
32、件结构:DHT11数据采集与处理程序、光敏电阻实现光信息采集、MQ-2传感器完成灰尘气体浓度的采集(四大信息采集模块)、ADC0831数据处理程序、无线传输模块、 显示模块等部分组成。程序设计思想自定向下,分模块搭建处理。图4.1 系统软件设计光强传感器模块: 原理:光强不同时,该模块输出的电压不一样,就是说不同的光强对应不同的输出电压,它们之间存在着一个对应的函数关系。单片机通过一个引脚来测量输出的电压,通过把模拟电压信号转换数字信号,然后根据对应的公式算出光强。主控程序完成对各程序模块的控制和协调。自检程序对温湿度传感器、ADC模数转化、LCD显示、键盘及工作状态进行自检。数据采集程序完成
33、对各路传感信号的数据采集, 每隔数秒调用数据采样子程序对各数字信号进行一次信号采样。 各传感器模块根据内部芯片指令每隔数秒对外界物理信息进行分频采样,再利用D/A转换将其转换为数字信号供STC89C52单片机识别处理。报警控制程序完成温湿度超出设置的范围时的声光报警、温湿度恢复正常时, 取消报警,显示程序根据数据处理结果, 将实测温度、湿度值、灰尘浓度气体值和位置指针代码分别送到相应的显示位置进行显示。4.1主程序具体主程序工作及设计流程如下图4.2,程序见附录C图4.2信息采集模块流程图信息采集主函数:1宏定义、头函数、无线模块、定义全局变量和主机询问命令初始化;2无线初始化、设置为接收模式
34、(调用nRF24L01);3进入大循环; (1)读状态寄存器; (2)判断是否接受到数据 若收到则从缓存中读出数据同时标志寄存器置1 ;若未收到中断清除返回(1); A标志寄存器置1则接收完成-清标志位,命令主机为询问状态(比对询问信息是否和预期的一致,一致则如下执行B,否则循环(1) B打开接收成功指示,同时无线读取温度度、读取光照、灰尘浓度四组数据于缓存中; C将射频设置为发射模式并发射数据,等待发送完毕,清除缓存,发射成功设置为接收模式。 D循环(1)图4.3 信息接收模块接收板主函数:1宏定义、头文件、屏幕函数、无线模块和主机询问命令的声明及初始化;2进入主函数;3 LCD初始化显示、
35、无线初始化、(期间用到延时程序以使元件次序化工作);4设置为接收模式;5进入大循环;(1) 主机STC单片机发送询问信号;读状态寄存器并判断是否接受到数据;条件满足从缓存区读出数据;若没有接收到数据清除中断标志,重新判断接收到数据没。(2) 判断单片机是否完成接收;若完成判断标志位flag是否为1;若为1状态则设备由接收转为写入状态直接显示数据(显示过程调用显示子函数,显示子函数调用LCD初始化,对指令数据进行初始化)若flag为0则继续处于接收状态继续接收数据;(3) 重复5过程不断循环。4.2传感器信息采集温湿度采集传感器DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据
36、格式。一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展。操作流程如下: 一次完整的数据传输为40bit,高位先出,数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据,传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得的结果:开始发数据:图4.4 时序图主机发送信号后,延时等待20us-40us后读取DHT11的回应信号,读取总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高,准备发送数据,每
37、一bit数据都以低电平开始,格式见下面4.5图示。如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。主机复位信号和DHT11响应信号:图4.5 时序图DHT111占用I/O口的位声明,2变量声明,设定接收实参型延时函数;设定延时10us延时函数以满足模块函数时序的调用;3初始化函数以供温湿度读取子函数的调用;4温湿度读取子函数根据时序图写读取过程;5根据CRC校验和来确定数据的准确性;具体程序见附录C。MQ-2传感器的设计原理方法和光强的相同这里只介绍光强的引以说明:图4.6光强信号采集小型代码分析: int i;unsigned char AD_Value; P1ASF
38、=0x01; /选择P1.0作为模数转换的引脚,用于采集光传感器的输出电压ADC_RES=0;/将电压数据寄存器清零ADC_CONTR=0x88;/启动P1.0引脚的模数转换for(i=0;i4;i+);/while(!(ADC_CONTR&0x10);/判断AD转换是否完成ADC_CONTR&=0xef;AD_Value=ADC_RES;/将电压数据寄存器中的值存入一个变量中return AD_Value;/通过变量返回AD转换获取的电压其它程序见附录C4.3 无线射频nRF24L01 一对多,最常用的办法就是跳频通信。不要被“跳频通信”四个字吓倒,其实就是换频道。原理:假设现在1对10通信
39、相互收发数据,给10个节点的NRF24L01设置为不同的频道,如10 20 30 主机的NRF24L01,要想获得某个节点的数据,就设置为某个节点的频道,然后收发数据,完成以后,可以再去和另外一个节点通信。由于单片机运行速度快,挨个获取10个节点的数据,也就是眨眼的功夫。配置字 SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄
40、存器可通过SPI口访问。nRF24L01的配置寄存器共有25个,常用的配置寄存器如表4.1所示。表4.1配置寄存器 通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表2所示。 空闲模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;空闲模式2则是在当发射堆栈为空且CE=1时发生(用在PTX设备);在空闲模式下,配置字仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。配置为发射模式的nRF24L01将会利用增强式ShockBurst技术来发射数据包。发送设备在发完数据后将自动转为接收状态来等待接收方的应答信
41、号。若发送设备未接收到应答信号,他将自动重发这包数据(自动重发开启的情况下)直到接收这包数据或者重发次数超过了在寄存器SETUP_RETR_ARC设置的所允许的最大重发次数。如果是第二种情况,他将在STATUS寄存器里的MAX_RT位反映出来,并且给出中断。当nRF24L01收到应答信号时,他将认为该包数据成功发送到接收方,并把这包数据从发射堆栈中清除,同时IRQ变低,STATUS寄存器里的中断标志位TX_DS置高。表4.2配置寄存器的4中工作模式用增强式ShockBurst技术来发射数据可以有以下好处:极大地降低了电流损耗;系统开销低;极大地降低了数据在空气中的碰撞率。图4.7 SPI接口(
42、4-1)单片机与单片机数据通信方面,会用到波特率的计算用于解决精准的时钟同步与中断的设置,公式如下: 具体程序见附录C(4-2)方式0:波特率= (4-3)方式1:波特率= (4-4)方式2:波特率= 溢出率:T1=4.3.1无线发射程序流程文字详叙nRF24L01无线发射1 5字节宽度的发送地址,数据通道的有效宽度,定义静态发送地址,定义串行接收缓冲函数并传替数据宽度;定义串行发送缓冲函数并传递数据宽度(这里使两者一致);2读取寄存器中的一位,位声明该寄存器的接收、发送及最大接收端口;3初始化I/O端口;(1)延迟函数x毫秒用于调用;(2)SPI-RW()读写子函数的确立,根据SPI协议写一
43、字节数据到RF中同时从RF中读出一字节;(返回读出的一字节);(3)SPI-RW-reg 写数据Value到reg寄存器中;(期间调用SPI-RW(),并返回状态字供主函数判断);(4)SPI-Read()子函数的确立用于从reg寄存器读一字节(返回寄存器数据)(5)SPI-Write-Buf()把pBuf缓存中的数据写入RF中,通常用来写入发射通道数据或接收、发送地址;(6)SPI-Read-Buf()从reg寄存器读出bytes个字节,通常用来读取接收通道数据或接收、发送地址(返回状态字);(7)TX-Mode()这个函数设置RF为发送模式,(CE=1持续至少10us)130us后启动发射
44、,数据发送结束后,发送模块自动转入接收模式,等待应答信号。(8)Check_ACK() 检查接收设备有无接收到数据包,设定没有收到应答信号是否重发。4.3.2无线接收程序流程文字详叙nRF24L01无线接收射频接收与发射基本相同,因其所获得的数据要传入单片机,单片机对其进行处理写入LCD内故而在其基础上再加入单片机的主机发送询问信号子程序void TX-ACK()该函数具体如下(1) 延迟100毫秒;(2) 数据送往缓存;(3)RF设置为发送模式并发送数据;(4) 等待发送完毕清除缓存;(5)设置为接收模式接收发送装置的数据。4.3 LCD1602显示模块设计表4.3端口介绍及引脚说明编号符号引脚说明编号符号引脚说明 1 VSS 电源地 9 D2 数据I/O 2 VDD 电源正极 10 D3 数据I/O 3 VL 液晶显示偏压信号 11 D4 数据I/O 4 RS 数据命令选择 12 D5 数据I/O 5 R/W 读写选择 13 D6 数据I/O 6 E 使能信号 14 D7 数据I/O 7 D0 数据I/O 15 BLA
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100