




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文) 基于无线传感器网络的智能灌溉系统设计与实现 2010 年 5 月 30 日摘 要保密需要,删去保密需要,删去保密需要,删去保密需要,删去保密需要,删去关键词:温度数据采集,nrf24L01,无线传输,DS18B20,单片机 AbstractTemperature is a very important environmental parameters. In the production process and the various occasions of real life, we need to detect and control temperature the information on the surrounding environment. 目录1 绪 论11.1 课题的背景和意义11.2无线温度采集的发展状况21.2.1.传感器网络21.2.2.无线温度采集系统的发展现状21.3无线温度采集系统的研究内容32 系统方案论证42.1无线温度检测方案论证:42.2主控制部分方案论证52.3系统方案53 系统的硬件电路设计73.1 主要的元件介绍73.1.1 8051单片机73.1.2 数字式温度传感器DS18B2083.1.3单片2.4G 无线射频收发芯片nRF24L01113.1.4其它外围电路133.2系统的硬件设计思想143.3本系统的硬件电路143.3.1电源部分143.3.2检测部分153.4 基于无线传感器网络的温度采集系统的硬件原理图193.5硬件电路的制作194 系统的软件设计204.1按键处理程序设计204.2液晶显示程序设计214.3温度采集程序设计214.3 报警处理程序设计234.4发射端主程序设计234.5接收端主程序设计25结论26参考文献27致谢28附录129附录230附录331附录4 程序321 绪 论1.1 课题的背景和意义随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式已经渗透到社会生活生产的每一个角落,温度测量的准确度在影响生产效益的同时也在逐步得到社会的重视。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,工作人员可以在这里将控制指令传输给现场执行模块进行各种操作。这样就会产生数据传输问题,由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。以上只是简单列举几个现实的例子,在现实生活中,这种温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。因此,对于如何利用无线通信技术进行数据采集,尤其是如何提高无线数据采集的精度等课题的研究就变得非常的有意义。1.2无线温度采集的发展状况1.2.1.传感器网络无线温度采集系统实际上是一个传感器网络,即将多个传感器通过近距离通信和数据交换技术组成的网络,是近年来迅速发展的新技术,它融传感器与通信技术于一体,具有很大的发展前景。这种传感器网络综合了传感器技术、计算机技术、信息处理技术和通信技术,能够实时监测、采集网络分布区域内的信息,进行处理后传送到用户。因而传感器网络在检测精度、空间的广度与分辨率等方面都将传感器技术推向了一个新的高度,成为近年来引人注目的高科技领域。20世纪90年代美国五角大楼提出了“智能尘埃”的设计思想,目的是在战场上抛洒数千个微小的具有无线通信功能的传感器模块,用于监控敌人的活动情况。“智能尘埃”对相关原始数据进行过滤,通过自组织的无线传感网络把重要的信息发送给指挥部。2006年Dust Networks公司在Electronica大会上发布了世界上首个无线传感器网络系统级芯片(SoC)。Dust Networks在这张名为“智能尘埃”的芯片上集成了构建分配式传感器网络所需的所有硬件和软件功能。经过近几年的发展,这种芯片体积越来越小,功能越来越完备,在天气预报、环境监测以及军事领域的应用前景十分广泛。这种“智能尘埃”就是一种典型的传感器网络。1.2.2.无线温度采集系统的发展现状 近几年,无线温度采集系统被广泛应用于工业、农业以及军事等领域中,甚至已经延伸到人们的日常生活中,将会成为人们生活不可或缺的一部分。因此,目前对无线温度采集系统的研究成为很多学者关注的对象。随着对无线温度采集系统的应用越来越广泛,设计方法也越来越多样化。例如,基于ZigBee技术的远程无线温度测控系统,采用ZigBee技术的无线传感网络与GPRS网络相结合的体系结构,基于CC2430芯片设计无线传感节点,并开发其软件,该系统性能稳定,具有灵活性和可扩展性,功耗低,可靠性高;还有基于射频的数据采集与无线传输系统,采用AT89S52单片机控制数字式温度传感器采集数据,并用射频芯片nRF401(采用抗干扰能力较强的FSK调制/解调方式)实现数据的发送和接收;还有基于PXA207的无线模块监控系统,以IntelXScale架构的PXA207嵌入式微处理器为核心,集嵌入式WEB服务、无线控制、温度采集于一体,实现了智能信息无线网络控制;还有基于蓝牙技术的温度数据采集系统,使蓝牙系统工作在ISM(Industrial Scientific Medical)公用频段,采用时分双工传输技术和高斯频移键控(GFSK),以二进制格式传输数据,且具有直接进行数字信号输入输出功能,由于蓝牙射频IC的外围电路元件极少(例如nRF401、240X系列其外围元件仅10个左右),因此不但可以大大简化无线数据传输或遥测系统的设计,还可降低成本,提高系统的可靠性。2由于计算机技术的迅速发展和普及以及通信技术的飞速发展,目前世界上的科技大国都高度重视无线通信技术在民用和军事方面的应用。无线通信网络已经成功应用于无线抄表、军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制、机器人控制等许多重要领域。11.3无线温度采集系统的研究内容由于无线温度采集系统多用于工农业等环境恶劣的领域,而且对温度测量的准确性有着较高的要求。因此,本课题的目的是对被测点的温度进行数据采集,并对所使用的热电偶进行自动检测。具体所做工作如下:1 在查阅了大量的科技文献后,分析了各方案的优缺点,并选用合适的温度传感器进行温度数据采集。2 采用无线通信芯片来实现远距离的数字信号传输,使得技术人员可在环境适宜的操控室内进行环境温度的数据采集和处理。3 使用单片机实现对数据采集、无线发送与接收的控制,更好地实现了系统的自动化。2 系统方案论证2.1无线温度检测方案论证:方案一:如图2.2.1所示:模拟型传感器输出模拟型号,经过模拟缓冲,放大后经过A/D转换后接单片机。这样,由于各种因素会造成检测系统较大的偏差,有由于检测系统环境复杂,检测点多,信号传输距离远及各种干扰的影响,会使得检测系统的稳定性和可靠性下降,而且这种设计要用到复杂的算法,硬件电路复杂,硬件结构复杂成本高。温度传感器1温度传感器2温度传感器3模拟缓冲器放大1A/D转换1A/D转换2模拟缓冲器放大1模拟缓冲器放大1A/D转换3单片机Nrf21L01图2.1方案一原理框图方案二:采用数字温度传感器DS18B20测量温度,输出信号全数字化,可以直接接到单片机上,处理简单,可靠性高。原理图如图2.2所示。数字温度传感器1数字温度传感器2数字温度传感器3单片机Nrf24L01无线模块图2.2方案二原理框图2.2主控制部分方案论证方案一:此方案采用PC机实现。他可以实现在线编程,在线仿真。在这种方案中,调试十分方便,而且人机交互友好。但是PC机与DS18B20之间不能直接通讯,需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐。而且在一些条件较为恶劣的场合,PC机体型过大,携带安装不方便,性能不稳定,会给工程带来诸多麻烦。方案二:此方案采用8051单片机实现。单片机软件编程的自由度大,可以通过编程实现各种逻辑控制和算术算法,其体积小,硬件实现简单,安装方便。既可以单独对多个DS18B20进行控制,又可以和PC机进行通讯。2.3系统方案综上所述,本无线温度控制系统以及主控部分都采用方案二。由于经费有限,本系统暂时实现单点温度无线测量。DS18B20采集温度数据送到从单片机,再从单片机送到nrf24L01无线模块发送出去,接收端nrf24L01无线模块接收发送过来的信号,并把它送到主单片机进行数据处理。这种方案实现简单,扩展性好,成本低。实际采用电路方案如图2.3所示。DS18B20从单片机键盘显示模块nrf24L01 收/发模块主单片机nrf24L01 收/发模块电脑图2.3本系统采用的电路方案框图3 系统的硬件电路设计3.1 主要的元件介绍 元件是电子制作的根本。本文基于无线传感器网络的温度监控系统说用到的元件有:8051单片机,DS18B20数字温度传感器,LCD1602,nRF21L01等。3.1.1 8051单片机 为了实现温度的采集,与上微机的通讯及对外设的控制,本系统的采用8051为内核。1. 8051基本参数8位CPU4KB字节的掩膜ROM程序存贮器128字节的RAM4个8位的IO口(P0P3)2个16位定时器/计数器1个全双工异步串行口5个中断源,2个中断优先级的中断控制器时钟电路,时钟频率在1.2MHz12MHz2. 芯片内部逻辑结构:中央处理器(CPU):运算器、控制器、寄存器内部数据存储器(RAM):有128字节数据存储器(RAM)和21个专用寄存器单元SFR统一编址内部程序存储器(ROM) :4K字节程序存储器(ROM) 。 定时/计数器:两个16位的可编程定时/计数器。并行输入输出口:4个8位并行I/O口(P0-P3) 。串行口:一个全双工异步串行通信口。中断控制系统:五个中断源(2外、3内)时钟电路位处理器:又称为布尔处理器。总线3. 8051信号引脚介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。(1)电源: VCC - 芯片电源,接+5V; VSS - 接地端;(2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲PSEN:外ROM读选通信号。RST/VPD:复位/备用电源。EA/Vpp:内外ROM选择/片内EPROM编程电源。 I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 23.1.2 数字式温度传感器DS18B20(1)DS18B20数字温度传感器概述3DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。其引脚功能描述见表3-1。 表3.1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地(2)DS18B20的命令序列初始化ROM命令跟随着需要交换的数据;功能命令跟随着需要交换的数据。访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。a初始化:DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。b. ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表3-3所示,每个ROM命令都是8 bit长。指令协议功能读ROM33H读DS18B20中的编码(即64位地址)符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作告警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1” 表3.1.2 ROM的内存指令(4)DSl8820芯片的工作原理DSl8820芯片温度测量的启动,发送指令,存取时钟等,全部在一组数据线上完成,因为其内部结构上集成了温度电路、存储器等多功能模块。DSl8820芯片工作原理示意图见图3.1.1所示:主机初始化脉冲DS18B20芯片响应脉冲DS18B20芯片准备好DS18B20芯片完成其他功能主机储存器指令主机ROM指令否图3.1.1:D18B20工作原理图3.1.3单片2.4G 无线射频收发芯片nRF24L011. 概述:nRF24L01 是一款工作在2.42.5GHz 世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器增强型SchockBurstTM 模式控制器功率放大器晶体振荡器调制器解调器功率频道选择和协议的设置可以通过SPI 接口进行设置极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗为9.0mA 接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。42. 芯片的引脚排列如图3.1.2所示: 图3.1.2:nRF24L01芯片引脚图 各引脚的功能如下:CE为片选端,它与CONFIG寄存器的PWR-UP和PRIM-RX位组合用于选择芯片的工作方式,CSN为芯片内部SPI硬件接口的使能端,低电平有效,SCK为SPI的时钟输入端,MOSI为SPI接口的数据输入端,MIS0为SPI接口的数据输出端,IRQ为中断请求端,nRF24L01输出3种中断请求:发送数据完成中断,接收数据完成中断,重发次数超限中断VDD为直流电源输入端,VSS为接地端,XC1、XC2分别为时钟输入输出端,VDD-PA端为功率放大电源输出端,ANT1、ANT2为天线接口端,IREF为参考电流源,DVDD为退耦电源输出端。3. RF24L01有工作模式有四种: 收发模式 ;配置模式 ; 空闲模式 ;关机模式 ;工作模式由PWR_UP register 、PRIM_RX register和CE决定,如表3.1.3所示模式PWR_UP寄存器PRIM_RX寄存器CEFIFO状态接收111发射101数据已经在发射堆栈里发射101当CE已经有下降沿跳变时,数据已经发出空闲21110发射堆栈空空闲11_0此时没有数据要发送掉电0_ 表3.1.3 nRF24L01的工作模式当nR24L01收到应答信号时,他将认为该包数据成功发送到接收方,并把这包数据从发射堆栈中清除,同时IRQ变低,STATUS寄存器里的中断标志位TX_ D S置高。用增强式 ShockBurst技术来发射数据可以有以下好处:极大地降低了电流损耗;系统开销低;极大地降低了数据在空气中的碰撞率。3.1.4其它外围电路1. 复位电路:在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作。实际应用中,复位操作有两种形式:一种是上电复位,另一种是上电与按键均有效的复位。本设计采用按键复位。2. 晶振电路:单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。本设计采用内部时钟方式,在单片机内部有一震荡电路,只要在单片机的XTAL1和XTAL2脚外接石英晶体(简称晶振),就构成了自己震荡器并在单片机内部产生时钟脉冲信号。如图3.1.3 图3.1.3:晶振电路图中电容器的作用是稳定频率和快速起振,电容值在530pF,典型值为30pF。晶振CYS的震荡频率范围在1.212MHz间选择,典型值为12MHz和6MHz。本设计采用12MHz晶振,电容值为22 pF。3.2系统的硬件设计思想在编写程序的时候,模块化的思想是十分有效的。它实质是将复杂的大问题分解细化为若干独立的,较为容易解决的小问题,从而是问题得到更高的解决。在进行硬件电路的设计的时候,本文也是采用这种思想讲硬件电路分为几大功能模块,然后用较为简单的电路来实现这种功能块。 在设计基于无线传感器网络的温度采集系统的硬件电路时,可以把它分为如下几块:1. 电源部分;2. 检测部分;3. 报警电路;4. 按键电路;5. 显示部分;6. 无线通讯部分。3.3本系统的硬件电路根据3.2节所述的设计思想分块设计硬件电路,然后再将其连接起来,就能最终完成基于无线传感器网络的数据采集系统的硬件电路设计工作。5673.3.1电源部分a,本系统单片机需要一组5V电源,采用的电源电路如图3.3.1所示。该电路是把本人的8V直流输入进行全桥整流,成为脉动直流,经过,一级滤波后送至三端稳压集成电路lm7805稳压,再经二级滤波后即为5V输出,图4.3.1的四个二极管组成了全桥整流电路,C1,C3是一级滤波电容,U1是稳压管lm7805,C4是二级滤波电容。图3.3.1电源电路aB,本系统无线模块需要一3V电源,采用电源电路如图3.3.2所示。该电路把先前转换得到的5V电源经过低压差电压调节器lm1117转换为3V电源。图3.3.2电源电路b3.3.2检测部分这部分又可以分为两部分:8051单片机基本电路和温度采集电路。(1)8051单片机要正常工作,振荡电路和复位电路是必不可少的,其基本电路如图3.3.3所示。图3.3.3 8051单片机基本电路(2)温度采样电路DS18B20采用外部电源供电方式,其工作电源由VDD引脚介入。此时I/O线不需要强上拉,不存在电源不足的问题。可以保证转换精度,同时再总线上理论可以接多个DS15B20传感器,组成的温度采集系统。其电路图如图3.3.4所示。图3.3.4测温电路电路图(3)控制设备部分由于条件有限,本设计采用发光二极管来模拟报警,此部分电路图如图3.3.5所示。图3.3.5报警电路(4)输入部分本设计采用三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个用于设置报警温度的加和减。如图3.3.6所示。图3.3.6按键电路(5)显示部分 本设计在温度测量部分采用LCD1602液晶显示模块来显示温度,,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD的驱动,P2口的P2.2P2.4分别作为液晶显示模块的使能信号E,读/写选择R/W,数据/命令选择RS。具体电路如图3.3.7所示。图3.3.7 LCD1602液晶显示模块电路图(7)无线通讯部分本设计采用nRF24L01无线射频芯片进行通讯,具体电路如图4.3.8所示。图3.3.8 nrf24L01无线传输电路 3.4 基于无线传感器网络的温度采集系统的硬件原理图将3.3节的各种模块连接起来编构成基于无线传感器网络的温度采集系统的硬件原理图,详见附录1.2。3.5硬件电路的制作基于无线传感器网络的温度采集系统的制作步骤:(1)利用protel软件生成电路布线图。如附录3 (2)将生成的电路布线图利用打印机打印在转印止上。(3)讲打印好的转印纸贴在覆铜板上,再利用制板及讲转印纸上的墨粉附再覆铜板上。(4)将附有墨粉的覆铜板放进三氯化铁溶液中腐蚀。(5)再腐蚀好的电路板的焊盘上钻孔。(6)焊接电路板。4 系统的软件设计4.1按键处理程序设计 本设计设置三个独立式按键,分别为模式选择按键SET,升序按键UP,降序按键DOWN,每按SET键后,进入调整模式,开始判断UP键和DOWN键是否按下,并进行相应的按键处理,再按下SET时为确认,返回正常模式。按键处理子程序流程图如图4.1所示:8910 图4.1按键处理子程序流程图4.2液晶显示程序设计 将温度传感器DS18B20测量到的温度数据转换成液晶字符,然后设定在第一行显示。将设定的报警温度数据转换成液晶字符,设定在第二行显示。4.3温度采集程序设计依据DS18B20的通信协议,首先应对DS18B20进行复位。由于本设计只用一片DS18B20,故跳过读取序列号,然后发送读取温度寄存器命令,延时一定时间后,分两次分别读取出温度的低位和高位,然后放到一个字节里面。温度子程序流程图如图4.2所示:图4.2:DS18B20温度读取过程流程图4.3 报警处理程序设计当现在温度值大于设定上限值(或者小于设定下限值时)执行相应的控制命令。本设计用发光二极管发亮表示报警输出。具体程序如下:void Warming()if(temp_value=maxtenp) JDQ=JDQ; else JDQ=0;4.4发射端主程序设计 首先将LCD1602,DS18B20,nRF24L01初始化,进入默认的液晶显示界面。扫描按键:如果SET键按下,进入调整模式,设定报警温度。DS18B20读取温度,如果测取温度值超过报警温度,进行报警处理,如果没超过报警温度,把温度数据转换成液晶字符后送到LCD1602显示。然后把温度送入发射缓存器,nRF24L01设置为发射模式,开始发射处理。如果收到应答,置位TX_DS;如果没接受到应答,返回进行重发,设定最多重发10次。发射端主要程序流程图如图4.3图4.3,发射端主程序流程图 4.5接收端主程序设计开始上电,nRF24L01初始化,设置为接受模式,然后读取状态寄存器。如果接受标志RX_DR=1,读取数据并把数据送到buf2数据区,然后把RS_DR,TX_DS,MAX_PT都置高为1,以清除中断。具体程序见附录4结论本设计是基于nRf24L01的远程温度的测量和监控,广泛应用于电力工业,煤矿,粮食存储,火灾等场合。系统由8051单片机向数字式温度传感器DS18B20发送命令,读取DS18B20转换的温度数据,从而实现温度的测量。当测量温度超过设定的报警温度时,发光二级管亮。然后8051把温度数据送到发射端nRf24L01的发射缓存器,nRF24L01通过无线方式把温度数据发射出去。接收端nRF24L01接受发送过来的温度数据,并由单片机读取保存。本文采用模块化的方式进行叙述,分方案设计,硬件设计,软件设计对各模块进行了详细的阐述。经过这次毕业设计,我系统的温习的大学学到的各种知识,学会了怎么有效地查阅资料和利用图书馆和数据库的资料,怎么分析和制定实验方案,以及怎么使用protel仿真软件和keil开发工具。通过这次毕业设计,我发现只有将理论知识和实践结合一起,学习才更加有效,学习也更有乐趣。参考文献1李善仓 张克旺编著 无线传感器网络原理及应用 机械工业出版社.2 李广弟等.单片机基础. 北京航空航天大学出版社.2007:18-383 杜树春 编著.单片机C语言和汇编语言混合编程实践. 北京航空航天大学出版社.2008:38-38.4 哈尔滨讯通科技 nRF24L01数据手册,编号:080306-nRF24L01.5 郑阿奇.单片机应用实践教程.电子工业出版社.6王为青 邱文勋 编著 51单片机应用开发案例精选 人民邮电出版社 2007:145-158,103-112.7沙占友等 编著 单片机外围电路设计 电子工业出版社2003:5-8.8张崇等无线收发一体芯片nRF2401及其应用容声电子技术网20059Data sheet for nRF2401 Single Chip 24G Transceiver Nordic200310nRF240x ShockBurstTM technologYEEBOLNordic VLSIAS http:/www.nvlsi.no. 20032致谢本设计是在我的指导教师廉迎战副教授的悉心指导下完成的。基于无线传感器网络的温度的测量和控制的毕业设计即将结束,我也基本完成了老师规定的各项任务。在整个设计过程中,廉老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。廉老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,让我终生受益无穷。附录1 给予无线传感器网络的智能灌溉的发射模块的硬件原理图 附录2 给予无线传感器网络的智能灌溉的接受模块的硬件原理图附录3 接收模块和发射模块的PCB图附录4 程序/*发 射 端 程 序*#include #include typedef unsigned char uchar;typedef unsigned char uint;/*IO端口定义*sbit MISO=P13;sbit MOSI=P11;sbitSCK=P14;sbitCE=P15;sbitCSN=P10;sbitIRQ=P12;sbit LcdRs= P23;sbit LcdRw= P22;sbit LcdEn = P21;sbit ACC0 = ACC0; sbit ACC7 = ACC7;sbit Set = P25; /模式切换键sbit Up = P26; /加法按钮sbit Down = P27; /减法按钮sbit DQ = P20; /温度传送数据IO口sbit JDQ= P24; /发光二极管模拟继电器输出char done,count,temp,flag,up_flag,down_flag;int temp_value; /温度值int temp_value; /报警温度uchar TempBuffer5;/*1602液晶显示部分子程序*/Port Definitions*sfr DBPort = 0x80;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口/内部等待函数*unsigned char LCD_Wait(void)LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_(); LcdEn=0;return DBPort;/向LCD写入命令或数据*#define LCD_COMMAND0 / Command#define LCD_DATA1 / Data#define LCD_CLEAR_SCREEN0x01 / 清屏#define LCD_HOMING 0x02 / 光标返回原点void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();/注意顺序LcdEn=1;_nop_();/注意顺序LcdEn=0;_nop_();LCD_Wait();/设置显示模式*#define LCD_SHOW0x04 /显示开#define LCD_HIDE0x00 /显示关#define LCD_CURSOR0x02 /显示光标#define LCD_NO_CURSOR0x00 /无光标 #define LCD_FLASH0x01 /光标闪动#define LCD_NO_FLASH0x00 /光标不闪动void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode);/设置输入模式*#define LCD_AC_UP0x02#define LCD_AC_DOWN0x00 / default#define LCD_MOVE0x01 / 画面可平移#define LCD_NO_MOVE0x00 /defaultvoid LCD_SetInput(unsigned char InputMode)LCD_Write(LCD_COMMAND, 0x04|InputMode);/初始化LCD*void LCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0x38); /8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); /AC递增, 画面不动/液晶字符输入的位置*void GotoXY(unsigned char x, unsigned char y)if(y=0)LCD_Write(LCD_COMMAND,0x80|x);if(y=1)LCD_Write(LCD_COMMAND,0x80|(x-0x40);/将字符输出到液晶显示void Print(unsigned char *str)while(*str!=0)LCD_Write(LCD_DATA,*str);str+;void show_value() /液晶显示程序 ReadTemp(); /开启温度采集程序 temp_to_str(); /温度数据转换成液晶字符 GotoXY(12,1); /液晶字符显示位置 Print(TempBuffer); /显示测量温度GotoXY(12,0); /液晶字符显示位置 Print(maxtemp); /显示报警温度 Delay1ms(400); /扫描延时void Warming()if(temp_value=maxtenp) JDQ=JDQ; else JDQ=0;#include #include typedef unsigned char uchar;typedef unsigned char uint;/*IO端口定义*sbit MISO=P13;sbit MOSI=P11;sbitSCK=P14;sbitCE=P15;sbitCSN=P10;sbitIRQ=P12;sbit LcdRs= P23;sbit LcdRw= P22;sbit LcdEn = P21;sbit ACC0 = ACC0; sbit ACC7 = ACC7;sbit Set = P25; /模式切换键sbit Up = P26; /加法按钮sbit Down = P27; /减法按钮sbit DQ = P20; /温度传送数据IO口sbit JDQ= P24; /发光二极管模拟继电器输出char done,count,temp,flag,up_flag,down_flag;int temp_value; /温度值int temp_value; /报警温度uchar TempBuffer5;/*1602液晶显示部分子程序*/Port Definitions*sfr DBPort = 0x80;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口/内部等待函数*unsigned char LCD_Wait(void)LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_(); LcdEn=0;return DBPort;/向LCD写入命令或数据*#define LCD_COMMAND0 / Command#define LCD_DATA1 / Data#define LCD_CLEAR_SCREEN0x01 / 清屏#define LCD_HOMING 0x02 / 光标返回原点void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();/注意顺序LcdEn=1;_nop_();/注意顺序LcdEn=0;_nop_();LCD_Wait();/设置显示模式*#define LCD_SHOW0x04 /显示开#define LCD_HIDE0x00 /显示关#define LCD_CURSOR0x02 /显示光标#define LCD_NO_CURSOR0x00 /无光标 #define LCD_FLASH0x01 /光标闪动#define LCD_NO_FLASH0x00 /光标不闪动void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode);/设置输入模式*#define LCD_AC_UP0x02#define LCD_AC_DOWN0x00 / default#d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 礼品销售采购招标方案(3篇)
- 民宿低价翻修方案(3篇)
- 别墅配电设计方案(3篇)
- 公寓厨房柜改造方案(3篇)
- 2025年安全教育培训考试题及答案
- 单位整体设计方案(3篇)
- 农业碳足迹追踪系统创新创业项目商业计划书
- 智能采购预测系统创新创业项目商业计划书
- 导游岗位比武方案模板(3篇)
- 智能医疗辅助学习系统创新创业项目商业计划书
- 新生儿早期基本保健(EENC)-新生儿早期基本保健(EENC)概述(儿童保健课件)
- 加油站高处坠落事故现场处置方案
- 比亚迪汉DM-i说明书
- 心肾综合征及其临床处理
- 男性性功能障碍专家讲座
- GB/T 1040.3-2006塑料拉伸性能的测定第3部分:薄膜和薄片的试验条件
- 第37次全国计算机等级考试考务培训-课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
- 新生入学登记表新生入学情况表word模版
- 《高情商沟通》课件
- 《新锅规》锅炉产品合格证
评论
0/150
提交评论