基于LabVIEW的空气质量无线监测.doc_第1页
基于LabVIEW的空气质量无线监测.doc_第2页
基于LabVIEW的空气质量无线监测.doc_第3页
基于LabVIEW的空气质量无线监测.doc_第4页
基于LabVIEW的空气质量无线监测.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

基于LabVIEW的空气质量无线监测摘要 系统以软件LabVIEW可视图形编程开发为平台,使用气体传感器对环境空气中的主要污染成分(SO2,CO,NO2,O3)的实时浓度值进行监测,通过nRF905无线传输模块,设置两个ISM无线传输频段,解决有线传输的地理局限性问题。由数据采集卡实现数据二次采集,LabVIEW通过数据采集通道完成数据采集、处理和分析。在软件LabVIEW前面板显示污染气体的浓度曲线,实时浓度,最高浓度,并对超标高浓度进行报警,从而实现科学化,自动化监测和管理。实验结果表明,系统实现模块化、智能化,实时性优越,无线传输信号干扰和信号传输延迟不明显。 关键词 LabVIEW 数据采集卡 nRF905 无线传输1引言人们生活水平得到不断提高,科技得到了不断发展,但是环境中的空气质量越来越差,影响到人们日常生活的方方面面,为提倡和谐发展的今天,环境空气质量需实现实时的监控。目前空气质量污染指数是衡量人们生活水平状况的一项重要指标,越来越受到人们的重视。全世界各大中小城市都建造了自己的空气质量监测站,空气质量监测技术的发展经历了手工采样实验室分析,电化学自动监测,光电化学自动监测,现在已经发展到差分光谱法(DOAS)自动监测,激光雷达自动检测和遥感遥测,技术与方法已经十分先进。但得到气体浓度数据的方法仍有待发展,显然原始的手工采样得到的数据缓慢,用有线连接传输数据,布线繁杂,占用空间,浪费资金。利用nRF905无线传输,很容易的解决以上问题。通过对环境空气质量数据的采集,建立起为环境空气质量监控系统管理运营与决策提供服务的环境空气质量自动监测平台,全面实现环境空气质量管理业务的信息化和自动化。作为一种以计算机软件为核心的新型仪器系统,虚拟仪器LabVIEW具有功能强、测试精度高、测试速度快、自动化程度高、人机界面优异、灵活性强等优点。2 研究的背景目的及其意义2.1 背景 目前中国在有关空气质量在线监测系统的技术体系里还有待完善,大部分省级环境监测中心站未配备有关的空气质量在线监测系统的控制设备,难以对所辖城市空气质量在线监测开展质量控制和质量保证工作。传统的空气质量监测,多是采用现场手动采样,然后将样品带回实验室进行分析,这种手动采样实验室分析方法的不足主要表现在:监测效率低、代表性差、人为误差大、不能很好的反应大气环境质量的实时的突出变化。而大气在线监测技术则是在现代无线通信技术的基础上,利用所构建的在线监测系统,对某一地区的空气质量状况进行气体浓度数据采集,实现对城市空气质量状况科学、客观、公正的评价,从而为管理部门科学准确的分析数据,使管理部门有的放矢,采取相应的治理措施,实现科学管理。国内大部分生产厂家在引进国外专用分析仪器的基础上,已开发形成各种空气质量在线监测系统。但国际上的空气质量监测设备的昂贵以及国内空气质量监测设备的欠缺和落后,导致在线监测技术邂逅。因此,完善城市空气质量在线监测系统项目,是有必要的。2.2 目的及意义对空气中的主要污染成分(SO2,CO,NO2,O3)进行数据监测,采集上四种气体浓度数据,然后通过对国家坏境空气质量标准进行比较分析,如果超过标准值,系统将报警。环境空气质量监测是环境监测系统中不可缺少的重要环节之一,有着明确的为国家环境决策和管理服务的目的,是改善人们生活品质,维持生态平衡,达到可持续发展,实现和谐社会的重要且不可忽略的环节,有着重要的战略和指导意义。3 系统结构整个系统由被测对象、气体传感器、无线传输模块nRF905、数据采集卡、计算机串口连接和LabVIEW软件四个部分组成。无线传输模块接收的电压信号,从而得到空气气量的浓度值,送回计算机处理。由于计算机是以二进制存储和处理数据,数据采集卡采集元件上的模拟电压信号,经过A/D转换得到离散时间序列信号,送入计算机以便处理。计算机是虚拟仪器的载体,对测量数据进行分析,运算,存储和显示。LabVIEW软件是整个系统的关键和核心,所有的功能是通过G语言编程来实现的,它提供了VI集成开发环境,用户在前面板可以方便得到污染气体浓度值,并对高浓度进行报警等工作。整个系统的框图结构如图3-1所示: 信号调理被测对象(空气)气体传感器无线传输模块(nRF905)数据采集卡LabVIEW软件面板显示(实时浓度,最高浓度,波形显示)图 3-1 系统结构框图系统流程:空气中污染气体,通过气体传感器,传感器把物理信号转化为有效电压信号,再通过nRF905无线传输模块,传输到室内接收模块,连接数据采集卡以及计算机串口连接,通过LabVIEW软件前面板显示实时浓度,最高浓度和波形。本文主要研究无线传输模块到LabVIEW软件前面板显示这段工作。4 无线传输芯片nRF9054.1 nRF905介绍nRF905基本属性:工作频段:433/868/915MHz 信道数:170 功能:发射/接收稳频方式:PLL 调制方式:FSK/GMSK 最大输出功率:+10dBm 灵敏度:-100dBm最大工作速率:76.8Kbit/s 工作电压:2.73.3V可选择天线形式:A水平方向,B垂直方向nRF905引脚如图4-1。图4-1 nRF905 ModuleGNDCSNMOSIPWR-UPTX-CEDRCDGNDMISOAMTRX-CEVccP21 2 3 4 5 6 7 8 9 10 11 12 13 144.2 nRF905程序的开发学习nRF905程序开发指导,开发发送和接收程序。程序主要用51单片机开发环境,利用C语言开发程序。程序开发的难点主要是nRF905的参数设置,及输入端输入数据的设置。nRF905工作模式由TRX_CE、TX_CE、PWR_UP的设置来定,如表2。表2 nRF905工作模式参数表PWR_UPTRX_CETX_CE工作模式0XX掉电和SPI编辑10XStandby和SPI编辑110ShockBurst RX111ShockBurst TX由于要用多通道传输数据,nRF905寄存器载波频段和工作频段的参数设置要不同。本文设置两个不同的频段进行有效传输,一个工作在433 MHz频段,一个工作在868.2 MHz 频段。nrf905_table10=0x4c,0x0c,0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58工作在433 MHz频段。nrf905_table10=0xb3,0x0e,0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58工作在868.2 MHz频段。nRF905寄存器参数设置如下图4-3:图4-3 nRF905寄存器参数设置发送有效数据宽度接收地址字节工作频段,功率控制载波频段接收和发送地址宽度接收有效数据宽度设置晶振,时钟,CRC校验Uchar code nrf905_table10=0x4c,0x0c,0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58开发程序时,有7大模块:nRF905寄存器参数配置,nRF905端口使能设置,SPI写操作,SPI读操作,SPI接口向nRF905配置寄存器写入信息,nRF905接收数据,设置接收或发送模式。图4-5 SPI读操作流程图iN或i=NiN SCK=1SCK=0开始MOSI准备发送数据通过SPI输出缓存nRF905读取数据保存 图4-4 SPI写操作流程图CSK=OiN或i=NSCK=1开始MOSI准备发送数据通过SPI输入缓存nRF905读取数据保存 SPI写操作(图4-4):首先MOSI 线准备好需要发送的数据位,当SCK 置高(SCK=1),器件读取 MOSI 线上的数据,SCK 置低(SCK=0),准备发送数据的下一位,循环发送的次数与发送数据的位数有关。SPI 读操作(图4-5):首先MISO线准备好需要发送的数据位,当SCK置高(SCK=1),主机读取MISO线上的数据,当SCK置低(SCK=0),准备接收数据的下一位循环发送的次数与发送数据的位数有关。CSK=1CSK=0图4-6 SPI接口向寄存器写入信息流程图iN或i=Ni4或i=4iN或i=NiNCSN=1CSN=0开始TRX_CE=0nRF905进入Standby模式通过SpiWrite函数发送RRP命令调用SpiWrite函数读取收到的数据保存收到的数据写入数据DR=0;AM=0SPI使能数据接收完成使用 nRF905 接收数据(图4-8):TRX_CE=0,必须将此引脚置低,使905 进入standby 模式,当CSN为低电平(CSN=0)时,通过SpiWrite 函数发送 RRP 指令,循环调用 SpiRead 函数,读取接收到的数据,等待 DR和 AM 引脚复位为低电平;当CSN为高电平(CSN=1)时,直接读取接收到的数据,并等待 DR 和AM 引脚复位为低电平。数据包接收完成。ShockBurst TX 发送流程(图4-9):当微控制器有数据要发送时,通过 SPI 接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI 接口的速率在通信协议和器件配置时确定;微控制器置高TRX_CE 和TX_EN,激发nRF905 的 ShockBurstTM发送模式;nRF905的ShockBurstTM发送,射频寄存器自动开启,数据打包(加字头和 CRC 校验码),发送数据包,当数据发送完成,数据准备好引脚被置高;AUTO_RETRAN 被置高,nRF905 不断重发,直到 TRX_CE 被置低;当TRX_CE 被置低,nRF905 发送过程完成,自动进入空闲模式。ShockBurst RX 接收流程(图4-10):当TRX_CE 为高、TX_EN 为低时,nRF905 进入 ShockBurstTM 接收模式,650us 后,nRF905不断监测,等待接收数据。当nRF905 检测到同一频段的载波时,载波检测引脚被置高,当接收到一个相匹配的地址,AM 引脚被置高。当一个正确的数据包接收完毕,nRF905 自动移去字头、地址和 CRC校验位,然后把 DR 引脚置高,微控制器把 TRX_CE 置低,nRF905 进入空闲模式,微控制器通过 SPI 口,以一定的速率把数据移到微控制器内,当所有的数据接收完毕,数据从P0端口输出。nRF905 把 DR 引脚和 AM 引脚置低,nRF905 此时可以进入 ShockBurstTM 接收模式、ShockBurstTM 发送模式或关机模式。开始 图4-10 nRF905接收端主程序流程图图4-9 nRF905发送端主程序流程图开始nRF905端口使能设置SPI接口向nRF905配置寄存器写入信息nRF905进入发送模式nRF905发送数据延迟nRF905端口使能设置SPI接口向nRF905配置寄存器写入信息nRF905进入接收发送模式nRF905接收数据DR=0数据从P0端口输出用C语言编出nRF905寄存器参数配置,nRF905端口使能设置,SPI写操作,SPI读操作,SPI接口向nRF905配置寄存器写入信息,nRF905接收数据,设置接收或发送模式7大模块的程序,开发了nRF905发送和接收程序见附录1。单片机驱动无线传输nRF905芯片的电路连接图如图4-11。5 数据采集卡5.1数据采集卡介绍数据采集卡是一种在计算机上使用的板卡,它可以采集模拟信号,数字信号拥有定时器的功能,同时还具有模拟输出的功能。数据采集(Data Acquisition,DAQ),是将被测对象(外部世界、现场)和各种参量(物理参量、化学参量、生物参量)通过各种传感器件做适当转换后,再经过信号调理、采样、量化、编码、传输等步骤送到控制器进行数据处理或存储记录的过程。控制器是由计算机承担,计算机或微处理器是数据采集系统的核心,它对整个系统进行控制,并且对其采集的数据进行加工处理,能够有效的完成数据转换和传输的过程。数据采集卡具有高性能的数据采集与控制能力,我们使用的是它的模拟输出输入功能。数据采集卡对来自传感器电路中输出的电压信号进行模数转换,采用保持,多路复用和放大。信号采集部分包括模拟输入和A/D转换两部分。当我们采用数据采集卡测量模拟信号时,必须考虑一下因数:输入模式、分辨率、输入范围、采样范围、采样速率、精度和噪声等。系统设计中所使用的数据采集卡型号为NI PCI-6014。NI PCI-6014 是16位多功能数据采集卡。其特点如下: 200kS/s的采样频率。 16位精度的16路模拟输入通道(ACH0ACH15)。 16位精度的2路模拟输出通道(DAC0OUTDAC1OUT)。 4组不同的模拟输入范围(+/-10V,+/-5V,+/-0.5V,+/-0.05V)。 24位精度的2路定时器/计时器。 数字触发器。 8条数字I/O线(5VTTL/CMOS)。 用于简单的数据采集和OEM产品。 支持开发工具LabVIEW, CVI, 和Visual Basic 和Visual Studio .NET。 包含NI-DAQ Measurement 软件。NI-DAQ驱动程序简化配置和测量工作操作系统。软件驱动NI-DAQ是一个非常强大的驱动软件,它包括了NI的所有数据采集和信号调理产品。这一简单易用的软件能将您的硬件产品与LabVIEW紧密集成,从而能充分利用系统中硬件的所有功能。数据采集卡的模拟信号输入端口比较多,数字信号端口有八位输入(D0,D1,D2,D3,D4,D5,D6,D7),使用时注意设置参数和建立通道,使用端口对应的接地端要接地,才能保证数据采集卡的安全使用和有效的工作。PCI-6014数据采集卡有100G的输入阻抗,保证干扰电流不会影响流入的信号,从而大大提高数据精确度。它能探测到模拟输入信号4V范围内的变化,从而为用户提供高质量的测量精确度。用于数据采集的成套设备称为数据采集系统(Data Acquisition System,DAS),基于LabVIEW的数据采集系统如图5-1所示。驱动程序的用户接口Measurement & Automation Explorer硬件驱动程序数据采集硬件LabVIEW开发环境数据采集VI图5-1 基于LabVIEW的数据采集系统 5.2数据采集卡的条件考虑数据采集卡为美国NI公司所生产的PCI6014采集卡。PCI6014采集卡的电压承受范围为-5V到+5V,因此我们电路的输出电压Vo不能超过5V。PCI6014采集卡平面图见附录2。6 LabVIEW6.1软件的选择LabVIEW是一种通用的编程系统,具有各种各样功能强大的函数库,包括数据采集、GPIB 、串行仪器控制、数据分析显示存储功能,同时它也有完善的仿真、调试工具等。LabVIEW全称是Laboratory Virtual Instrument Engineering Workbench,是美国NI(National Instrumenrs)公司的产品,采用图形化编程语言G语言。LabVIEW 的动态连续跟踪方式,可以连续、动态的观察程序中数据及其变化情况,比其他语言的开发环境更方便、更有效,它不仅可以减少系统的开发时间,同时也能提高编程效率。因此,本实验中我们选用LabVIEW编程平台,不仅由于LabVIEW本身具有很明显的优势,更重要的是通过在实验中对它的应用,可以使我们接触到更前沿的技术,与时俱进。6.2 LabVIEW介绍 图6-1 LabVIEW的标志LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试,更缩短了系统的开发和调试周期。LabVIEW程序称为虚拟仪器(Virtual Instrument)程序,简称VI。一个最基本的VI由3个部分组成:前面板(Panel)、框图程序(Diagram Programme)和图标/连接端口(Icon/Terminal)。前面板是模拟真实仪器的图形化用户界面,用于设置输入数值和观察输出量,由控制(Control)、指示(Indicator)和修饰(Decoration)构成。框图程序用图形化编程语言编写,由节点(Node)和数据连线(Wire)组成。节点之间、节点与前面板之间是通过数据端口和数据连线来传递数据。数据端口数据在前面板对象和框图程序之间传输得通道,是数据在框图程序内节点之间传输得接口。LabVIEW是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地搭建功能强大的测试系统。LabVIEW编程语言最主要特点是图形化编程和数据流驱动:(1)图形化编程LabVIEW与VisualC+、VisualBasic、LabWindows/CVI等编程语言不同,后几种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程,源代码不是文本而是框图。框图是程序代码的图形表示。 前面板是VI的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等各种不同方式显示出来。图标是VI的图形符号,连接器则用来定义输入和输出,每一个VI都有图标和连接器。用户要做的工作就是恰当地设置参数,并连接各个子VI。编程一般步骤就是使用鼠标选取合适的模块、连线和设置参数的过程,与烦琐枯燥的文本编程相比更为简单、生动和直观。 如果将虚拟仪器与传统仪器作类比,前面板就像是仪器的操作和显示面板,提供各种参数的设置和数据的显示,框图就像是仪器内部的印刷电路板,是仪器的核心部分,对用户来讲是透明的,而图标和连接器可以比作电路板上的电子元器件和集成电路,保证了仪器正常的逻辑和运算功能。(2)数据流驱动传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每一个函数节点只有在获得它的全部输入数据后才能够被执行。LabVIEW的运行机制已不再是传统上的冯诺伊曼式计算机体系结构的执行方式了。既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。于是LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序那样受到行顺序执行的约束。我们可以通过相互连接函数节点简洁高效地开发应用程序,还可以有多个数据通道同步运行,即所谓的多线程。在LabVIEW中单击加亮执行(Highlight Execution)按钮,即可以动画方式演示框图的执行过程,可以观察到数据流流动的方式,数据以有色小圆点表示,在各种不同颜色(代表不同数据类型)的连线上流动。6.3 LabVIEW框图程序设计设计LabVIEW框图程序时,可在框图程序中加入了显示系统时间,其程序框图如图6-2。图6-2 显示系统时间框图时间延迟框图程序如图6-3。图6-3 时间延迟框图实时显示框图程序如图6-4。图6-4 实时显示浓度1. 根据国家环境空气质量标准(附录3),三级标准中二氧化硫(SO2)气体浓度限制在0.70毫克/立方米(标准状态),以此为设定参数,得到二氧化硫(SO2)气体的框图程序如图6-5。图6-5 二氧化硫(SO2)气体的框图程序注: :读取数据端口 :多条曲线设置 :求最大值和最小值 :产生时间 :求平均浓度(求10个实时数据的平均值) :比较器 :乘法器2.根据国家环境空气质量标准,三级标准中二氧化氮(NO2)气体浓度限制在0.30毫克/立方米(标准状态),以此为设定参数,得到二氧化氮(NO2)气体的框图程序如图6-6。 图6-6 二氧化氮(NO2)气体的框图程序3.根据国家环境空气质量标准,三级标准中一氧化碳(CO)气体浓度限制在20毫克/立方米(标准状态),以此为设定参数,得到一氧化碳(CO)气体的框图程序如图6-7。 图6-7 一氧化碳(CO)气体的框图程序4.根据国家环境空气质量标准,三级标准中臭氧(O3)气体浓度限制在0.20毫克/立方米(标准状态),以此为设定参数,得到臭氧(O3)气体的框图程序如图6-8。 图6-8 臭氧(O3)气体的框图程序结合四种气体在环境空气质量标准,最终LabVIEW程序框图板如图6-9。图6-9 整个LabVIEW程序框图板7 系统调试在后面板中单击框图,对应的元件就在前面板显示,图7-1是整个空气质量监测系统面板图,能够显示系统时间,波形,读出实时浓度,最大浓度及高浓度报警。图7-1 空气质量监测系统面板输入端是八位二进制,八根线接入不同的高低电平,使输入的数据而不同,其显示范围在0255之间,但实际环境空气质量中,有害气体的浓度都较小,最大的CO浓度超标值为20毫克每立方米,所以这个范围远远大于了这个值。当输入端接入不同高低电平,其数值经过nRF905无线传输,通过数据采集卡,在LabVIEW软件上的空气质量在线监测的前面板中显示,并有波形产生,显示实时浓度值,最大值和高浓度报警。系统监测四种气体,系统以CO为例,当输入为00001111时,其LabVIEW软件前面板中显示为15的波形,并显示实时浓度为15,最大值15,而CO最大超标浓度为20,本文在设计框图时,实时浓度与数值20进行了比较,所以高浓度报警灯为绿色;当输入为00011111时,其LabVIEW软件前面板中显示为31的波形,并显示实时浓度为31,最大值31,CO浓度超出了20,所以高浓度报警灯为红色。此时就表明该地区的CO浓度过高,影响着人们的生活,相关的工作部门就应该采取紧急措施,来控制CO浓度,使之降低。从而实现环境空气质量科学化和信息化管理。由于时间的问题没有对整个系统进行标定,未完成实际浓度值与LabVIEW软件前面板中显示值进行分析,使其单位,线性度,稳定度未知。8 总结nRF905芯片工作频率为国际通用的ISM频段433/868/915MHz,GMSK调制,可以进行多频段通信,且无需申请许可证,理论上开阔地的使用距离最远可达1000米,实验证明距离与具体使用环境及元件参数有关。nRF905芯片价格便宜,适合开发中小型项目,且需要的外围元件也比较少传输数据的效率高。LabVIEW是一个具有革命性的图形化开发环境,内置信号采集,测量分析和数据显示功能,摒弃了传统开发工具的复杂性,提供了强大功能的同时还保证了系统的灵活性。本实验使用LabVIEW设计并实现了一套空气质量监测系统,实践证明我们采LabVIEW来设计系统软件,界面直观,所见即所得,通俗易于学习。作为最先进的测量控制软件,我们应该推广在众多领域内都得到了广泛的应用。参考文献 1 王海宝等著.LabVIEW虚拟仪器程序设计与应用M. 西南交通大学出版社.2005.2 秦永平,裴斌,卢胜.基于LabVIEW的监测系统设计与实现J. 微计算机信息. 2005第21 卷第3期.3 美国NI公司著.LabVIEW基础教程M. 北京:电子工业出版社,2002.1.4 戴敬,王世立著.LabVIEW基础教程M. 国防工业出版社.2006.6.5 胡文明等.NewMsg-RF905开发指南(Z). NewMsg Tech. 2007.9.6 姜志海著.单片机原理及应用M. 电子工业出版社. 2005.7.7 阎石著.数字电子技术基础M. 高等教育出版社. 2005年岁末.8 路甬著.电子电路实验及仿真M. 清华大学出版社. 2005.3.9 华成英,童诗白著.模拟电子技术基础(第四版)M. 高等教育出版社. 2004.6.10 梁伟.空气质量在线监测D. 2007.5.21.The Wireless Air Quality Monitoring Based on LabVIEWWANG Wei-qiang(Physics and Electronic Engineering College Of Chongqing Three Gorges University ,Wanzhou 404000)ABSTRACT The visual system of the software LabVIEW graphical programming development platform uses the gas sensor of air pollution in the major components (SO2,CO,NO2,O3) concentrations,the system uses nRF905 wireless transmission to achieve the wireless transmission, and sets up two ISM band to solve geographical limitation of cable transmission.The data acquisition card is used for the second data acquisition, LabVIEW achieves data acquisition,process and analysis through the data acquisition channel. The front panel of LabVIEW has shown the pollution gas concentration curve,real-time concentration, maximum concentration, and to alarm for the exceeding concentrations, therefore,it has realized scientific, automated monitoring and management.Experimental results provide that the system is intelligent, wireless transmission and its real-time monitoring is superior,also the error and signal transmission delay are not obvious.KEY WORDS LabVIEW ; Data Acquisition Card; nRF905; Wireless Transmission附录附录1:nrf905发射程序:#include#include#define uchar unsigned char #define uint unsigned int#define WC0x00#define RC0x10 #define WTP0x20 #define RTP0x21#define WTA0x22#define RTA0x23#define RRP0x24sbitTX_EN=P26;sbitTRX_CE=P25;sbitPWR_UP=P24;sbitMISO=P23;sbitMOSI=P22;sbitSCK=P21;sbitCSN=P20;sbitAM=P32;sbitDR=P33;sbitCD=P35;uchar bdata DATA_BUF;sbitflag0=DATA_BUF7;sbitflag1=DATA_BUF0; uchar code nrf905_table10=0x4c(0xb3),0x0c(0x0e),0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58;uchar txbuf;void IOInit() CSN=1;SCK=0;DR=1;AM=1;PWR_UP=1;TRX_CE=0;TX_EN=0; void Delay(uint n) uint i;while(n-)for(i=0;i80;i+); void SpiWrite(uchar byte)uchar i;DATA_BUF=byte;for(i=0;i8;i+)if (flag0)MOSI=1;elseMOSI=0;SCK=1;DATA_BUF=DATA_BUF1;SCK=0;void Config905(void)uchar i;CSN=0;SpiWrite(WC);for (i=0;i10;i+) SpiWrite(nrf905_tablei);CSN=1;void TxPacket(void)uchar i;CSN=0;SpiWrite(WTP);txbuf=P1;for (i=0;i1;i+)SpiWrite(txbuf);CSN=1;Delay(1);CSN=0;SpiWrite(WTA);for (i=0;i4;i+) SpiWrite(nrf905_tablei+5);CSN=1;TRX_CE=1;Delay(1);TRX_CE=0;void SetTxMode(void)TX_EN=1;TRX_CE=0;Delay(1); void main()IOInit();Config905();SetTxMode();while(1) TxPacket(); Delay(1000);nrf905接收程序:#include#include#define uchar unsigned char #define ui

温馨提示

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

评论

0/150

提交评论