毕业设计(论文)-水位遥测自动控制系统设计.doc_第1页
毕业设计(论文)-水位遥测自动控制系统设计.doc_第2页
毕业设计(论文)-水位遥测自动控制系统设计.doc_第3页
毕业设计(论文)-水位遥测自动控制系统设计.doc_第4页
毕业设计(论文)-水位遥测自动控制系统设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

中北大学2011届毕业设计说明书1 引言1.1 研究的目的和意义在社会经济飞速发展的今天,水在人们正常生活和生产中起着越来越重要的作用。一旦断了水,轻则给人民生活带来极大的不便,重则可能造成严重的生产事故及损失。因此给水工程往往成为高层建筑或工矿企业中最重要的基础设施之一。任何时候都能提供足够的水量、平稳的水压、合格的水质是对给水系统提出的基本要求。就目前而言,多数工业、生活供水系统都采用水塔、层顶水箱等作为基本储水设备,由一级或二级水泵从地下市政水管补给1。因此,如何建立一个可靠安全、又易于维护的给水系统是值得我们研究的课题。水位自动测报系统属于应用现代遥测、通信、计算机技术,是完成江河流域降雨量、蒸发量、河流湖泊水位、海洋潮位、流量(流速)、风向风速、水质、闸坝的闸门开度、渗压、土壤墒情等数据的实时采集、报送和处理应用的信息系统,属于非工程性防洪措施2。它能将某一流域或区域内的水文气象、水资源信息在短时间内传递至决策机构,以便进行洪水预报和水资源优化调度,减少水害损失,提高水资源的利用率,可以产生巨大的社会效益和经济效益。水位自动测报系统多用在重点防洪地区及大型水利工程上,特别是在流域性、区域性的水位数据采集、传输和处理、 应用的自动化方面起到了积极作用。水位自动测报系统包括三种工作制式:自报式、查询应答式 和混合式。(1)自报式工作制式:在遥测站设备控制下每当被测参数发生一个规定的增 减量变化或按设定的时间间隔,即向中心站发送所采集的数据,接收端的数据接收设备始终处于值守状态。现在已经对传统的自报式工作制式进行了改进,使自报式工作制式有了较大发展。改进后自报式也是双向通信方式,不是过去的纯单向工作方式。在遥测站设备控制下每当被测参数发生一个规定的增减量变化或按设定的时间间隔,即向中心站发送所采集的数据,中心站收到数据后,给遥测站发送“确认”信息,告知遥测站这组数据接收正确或是接收错误。自报式只有采用“确认”机制,才可以实现双信道的自动切换。(2)查询应答式:由中心站自动定时巡测或随机呼叫遥测站,遥测站响应中心站的查询指令,将所采集的数据发送给中心站。定时自动巡测的时间间隔可根据数据处理和预报作业的需要确定。(3)混合式:系统兼容自报式和查询应答式两种工作制式。 现在被广泛运用。特别是采用公网组网(包括VSAT)的水文自动测报系统,为了保证数据的时效性,又节省运行费用,采用混合式工作制式组 网比较合理。在汛情不紧张、数据量小的时间段内用查询应答式;当出现暴雨或水位变化较快时以自报方式加报。随着无线通信技术的发展,遥测及遥控技术已经深入人们的生活与工作当中,在工业与生活中水位的测量与控制是经常要测控的一个因素。仪器自动一体化,短距离无线抄表技术已经成为下一代无线技术发展的一个重要分支。应此势要求,本设计就以一水位遥测自动控制系统,对于无线技术的研究只是作个抛砖引玉。1.2 国内外水位测量的发展我国的水位自动测报系统从70年代末起步,在浙江省浦阳江流域首先应用。80年代初期为引进阶段,先后在淮河王家坝区间、长江流域汉江丹江口水库、黄河的三门峡至花园口建成进口设备的水情自动测报系统。1985年以后为国产设备研制、定型阶段,有淮河正阳关以上流域水位自动测报系统、黄河流域陆浑小区自报式水情自动测报系统、长江流域汉江的黄龙滩水库水情自动测报系统等3。90年代后为推广应用阶段。从上世纪90年代以来,随着现代科技的飞速发展,越来越多的新技术运用于各行各业,人们对信息传递的要求越来越高,尤其是在水文监测方面。以长江上游为例,该区域以山区性河流为主,有三大暴雨中心,灾害性洪水较多。测报系统除了为国家防总、重庆市防汛办、长江防总、三峡工程及沿江省、地、市的46个防汛部门提供水情信息外,还为航运、航道、供水、港务、码头等70余个企事业单位提供水情服务。在这些大量的监测、预报任务中,原始数据的实时传输并汇总上报是一大难题。为了提高水文监测预报的实时性、可靠性,采用先进科技手段对现有水文监测管理进行系统改造已势在必行。根据水文自动测报系统规模和性质的不同,可将其分为水文自动测报基本系统和水文自动测报网两部分。水文自动测报基本系统由中心站、遥测站(包括监测站)、通信系统(包括中继站)组成4。水位自动测报网是通过计算机的标准接口和各种信道,把若干个基本系统连接起来,组成进行数据交换共享的水文自动测报网络。1.3 水位测量的优缺点水位控制在日常生活及工业领域中应用相当广泛,比如水塔、地下水、水电站等情况下的水位控制。而以往水位的检测是由人工完成的,值班人员全天候地对水位的变化进行监测,用有线电话及时把水位变化情况报知主控室。然后主控室再开动电机进行给排水。很显然上述重复性的工作无论从人员、时间和资金上都将造成很大的浪费。同时也容易出差错。因此急需一种能自动检测水位,并根据水位变化的情况自动调节的自动控制系统。水塔很高,水位高低位不便于观察,水多会溢出来,可用以下方法来解决这个问题,改进供水装置就能实现供水自动化,供水系统中的水塔和高位水池等设备由于所处地势高,上下极为不便,有时水即将用完也不知道,造成需用水时却无水可用的情况。此外,在向池中注入水的过程中,由于不知道水位的情况,也就无法控制注水量的多少,这会严重影响正常的工作效率。为此需要对水位进行自动显示、监测和报警。传统的水位检测系统一般通过有线方式与监控中心取得联系,这种方式不但维护起来困难,而且在很大程度上限制了其在时空上的拓展性5。1.4 课题的主要工作本研究的主要内容是设计一种利用单片机的无线测量和自动控制系统。不需要架设电缆,而且可以实现水位的远程自动控制和遥测6。采用无线传输模块与单片机构成的系统则能够解决以上的问题。通过单片机可以很方便的实现水位的显示功能,还可以通过这种无线通信的方式以实现远程终端监控和报警的功能。此外,这次设计还有以下任务:(1)通过这次课程设计,加深对单片机理论方面的理解。(2)掌握单片机的内部模块的应用,如中断、控制、I/O口、串行口通讯等。(3)了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片器应用系统打下良好基础。(4)通过简单的设计,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。2 水位遥测自控装置的设计方案2.1 系统总体结构设计水位遥测自控装置从功能上看需要实现以下几点:水位的测量,水位信息的远程传输,水位的自动控制。系统由水位测量模块、无线发送接收模块、微控制器模块、显示模块、报警模块、阀门控制模块和键盘模块组成,总体结构框图如图2.1所示。图2.1 水位遥测自控系统结构框图水位测量模块测量出水位信息,由微控制器将水位信息写入无线数据发送装置,无线数据接收装置接收到的水位信息通过微控制器进行显示,当接收到的数据超过警戒水位的上限或低于警戒水位的下线时,微控制器控制报警模块及阀门控制模块进行相应的动作。2.2 系统设计思路水位遥测自控系统设计方案的选择主要包括两方面:水位测量方案的选择和远程数据传输方案的选择。2.2.1 水位测量方案方案1:压力传感器压力传感器测量水位原理:不同的水位产生净水压强是不同的,测量出水压,就可以计算出水位值。一般选择输出信号为420mA。水质对采集精度的影响:投入压力传感器是通过测量水的静压力来间接的测量水位,其基准是以净水压力来核算的,在多泥沙的水质中,必须考虑水质对水位值的影响,一般要根据实际情况设定一个水质系数进行弥补7。 实际水位值=测量水位值*水质系数(水质系数小于等于1) (式 2.1)方案2:电容传感器运用两根一端封闭的导线,将距离固定制作成简单的平行板电容器即电容传感器。水位的变化直接影响导线间的介质多少变化,从而引起电容值的变化。一般,电容的计算公式如式2.2。C=Q/U (式 2.2)平行板电容器的电容:理论和实验表明,平行板电容器的电容C跟介电常数成正比,跟正对面积成反比,跟极板间的距离d成反比,有式2.3。C=S/4kd (式 2.3)式2.3中:k为静电力常量,介电常数由两极板之间介质决定,圆周率3.1415926。方案2与方案1比较:一般工农业上进行水位测试的装置多采用方案1的压力传感器,然而对于本次的设计,方案2的电容传感器相比之下更经济,可操作性更强,更能达到现场模拟的目的,因此传感器采用方案2。为提高水位测量的精度,一般要对数据进行滤波,水位测量装置常用的滤波算法有:(1)取平均值:同时采集多个值,取其平均值作为实际的数据。(2)一阶滞后滤波法 :一般取a=01。本次滤波结果=(1-a)*本次采样值+a*上次滤波结果 (式2.4)2.2.2 远程数据传输方案方案1: GSM无线短信芯片GSM无线短信模块G100A是由北京捷麦公司推出的,该模块采用全SMT组装,工艺先进、可靠性高,工作电压范围为515 v8。其内置的德国西门子公司GSM模块TC35使得模块操作简单,无须学习复杂的GSM模块AT指令集。G100A的串口具有TTL、RS232和RS485半双工三种形式,标准配置为RS232。采用GSM模块与单片机构成的系统通过单片机的并行I0口可以很方便的实现水位的显示功能。现有的GSM网络在全国范围内实现了联网和漫游,采用GSM模块时,就可以通过一种无线通信的方式以实现远程终端监控和报警的功能。方案2:无线收发器nRF905NRF905无线收发器工作在433/868/915MHZ的ISM频段,由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成,可以通过一种无线通信的方式实现远程终端监控和报警的功能9。单片的NRF905可以实现无线接收和发送功能,它具有低功耗ShockBurst模式,工作电源电压范围1.9-3.6V。NRF905无线收发器用户无需另外组网,为客户节省了昂贵的建网费用和维护费用。方案2与方案1比较:方案1的GSM模块受到网络信号的限制,对于一些信号强度较弱的区域,同时受到通信协议等各方面因素的限制,无法保证正常工作。方案2的nRF905模块更方便应用于本次设计,因此本设计无线传输方案选择方案2。3 水位遥测自控装置硬件设计根据设计要求,采用MC9S08AW60单片机为核心的智能控制器系统的硬件接口电路包括:控制器实时时钟接口电路、水位测量电路、无线传输接口电路、报警电路、显示接口电路以及继电器输出接口电路等。其中MC9S08AW60为核心控制器件,水位测量运用电容传感器及555频率计算器组成,无线传输运用NRF905模块,数码管为显示器件,继电器为控制器件10。下面将对各个电路与其核心器件的工作原理做详细介绍。3.1 单片机的概述本设计利用的是MC9S08AW60单片机,它是一个低成本、高性能 8 位微处理器单元(MCUs)HCS08 家族中的成员。家族中所有的 MCUs 使用增强型HCS08 核,且使用不同的模块,存储大小,存储器类型和封装类型。本设计所使用的MC9S08AW60为44引脚的低轮廓四方扁平封装(LQFP)如图3.1。图3.1 MC9S08AW60 44脚LQFP封装图3.1.1 MC9S08AW60单片机功能描述MC9S08AW60单片机引脚图如图3.2所示。图3.2 MC9S08AW60 引脚图MC9S08AW60单片机具有8位 HCS08中央处理单元(CPU),40 MHz的HCS08的CPU(中央处理单元),20MHz的内部总线频率。HC08指令子集增加了BGND指令,单线后台调试模式接口,允许单一的断点设置在线调试(在片内调试模块加了多于两个的断点),在线仿真(ICE)带有两个比较器(在BDM中要加一),9个触发模式以及片内总线捕获缓冲区。3.1.2 水位遥测单片机接口电路设计单片机接口电路如图3.3所示。图3.3 单片机接口电路单片机的各IO口接线简介:PA0连接555定时器控制信号。PF0连接555定时器的输出信号。PC4连接SMS0501显示模块的时钟信号,PC5连接SMS0501显示模块的数据输入端口,PG3连接SMS0501显示模块的背光控制。PB1 ,PB2分别连接双路继电器来控制阀门的正转与反转。PA1 ,PE2-PE7 ,PD0-PD3分别与无线收发模块NRF905的各引脚相连。3.2 水位测量电路的设计水位测量电路由简单的电容传感器和ICM7555定时器构成。3.2.1工作原理当水位变化时,电容传感器的电容值发生变化,电容传感器的电容变化输入ICM7555定时器电路,ICM7555输出相应的频率。电容传感器的电容值与ICM7555输出频率值的转换关系如式3.1。 (式 3.1)3.2.2水位测量电路图3.4 水位测量电路原理图通过三极管Q6来控制ICM7555的电源供给,使单片机能自由控制其频率的输出,更有利于对频率的测量和系统的稳定性控制。其中R26为三极管Q6基极的限流电阻。为了尽量的减小输入干扰及其保护ICM7555,则在输入端串接电容C23和C24。3.3 无线传输模块的设计3.3.1 NRF905工作原理nRF905是单片工作在433/868/915MHZ频段的无线收发器,由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成11。ShockBurst工作模式的特点是自动产生前导码和CRC。可以很容易通过SPI接口进行编程配置。电流消耗很低,在发射功率为-10Bm时,发射电流为11mA,接收电流为12.5mA。进入POWERDOWN模式可以很容易实现节电。快速参考数据如表3.1。表3.1 nRF905快速参考数据参数数值单位最低工作电压1.9V最大发射功率10dBm最大数据传输率曼切斯特编码50kbps输出功率为-10 dBm 时工作电流9mA接收模式时工作电流12.5mA温度范围-40 to +85典型灵敏度-100dBmPOWERDOWN 模式时工作电流2.5uA3.3.2 NRF905电气特性nRF905 32L QFN 5*5封装管脚分布图如图3.5:图3.5 nRF905 32L QFN 5*5封装管脚分布图nRF905的电气特性如下:(1)输出频率4MHZ,外部时钟脚负载为5pf,晶体为4MHZ(2)晶体为4MHZ(3)POWERDOWN 模式时SPI 时钟为1MHZ(4)工作在433/868/915MHZ的ISM频段(5)晶体频率有5种不同取值(4、8、12、16、20MHZ)(6)通道宽度和通道间隔为200KHZ3.3.3 NRF905接口电路及管脚说明nRF905芯片管脚说明如表3.2。表3.2 nRF905芯片管脚说明管脚名称管脚功能说明1TRX_CE数字输入使能芯片发射或接收2PWR_UP数字输入芯片上电3uPCL K时钟输出由晶体震荡器分频的输出时钟4VDD电源电源+3V DC5VSS电源地0V6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9VSS电源地0V10MISOSPI 接 口SPI 输出11MOSISPI 接 口SPI 输入12SCKSPI 时钟SPI 时钟13CSNSPI 使能SPI 使能14XC1模拟输入晶体震荡器1 脚/外部时钟输入脚15XC2模拟输出晶体震荡器2 脚16VSS电源地0V17VDD电源电源+3V DC18VSS电源地0V19VDD_PA电源输出给nRF905 功率放大器提供的+1 .8V 电源20ANT1射频输出天线接口121ANT2射频输出天线接口222VSS电源地0V23IREF模拟输入参考电流24VSS电源地0V25VDD电源电源+3V DC26VSS电源地0V27VSS电源地0V28VSS电源地0V29VSS电源地0V30VSS电源地0V31DVDD_1V2电源藕和的低压正数字电源输出32TX_EN数字输入TX_EN= 1 TX 模式 TX_ EN= 0 RX 模式nRF905的接口电路如图3.6所示。图3.6 nRF905接口电路3.3.4 无线传输模块图3.7 无线传输模块原理图nRF905模块的所有管脚都直接与单片机管脚相连。为了提供更稳定的电源,在电源端并联一个储能电容C18。3.4 显示电路设计3.4.1 SMS0501E3 液晶显示模块的概述SMS0501E3 数码笔段型液晶显示模块(LCM),采用数码笔段型液晶显示器(LCD),可显示 5 位数字及 3 个小数点,宽电压工作范围,微功耗,高亮发光管侧背光,与 MCU 单片机采用二线式串口连接,广泛应用于手持式仪器仪表,智能显示仪表12。3.4.2 SMS0501E3液晶显示模块的主要技术参数 表3.4 SMS0501E3液晶显示模块的主要技术参数项目参数项目参数显示容量5 位数字+3 个小数点模块工作电压2.75.5V背光源颜色蓝色工作电流300uA(5.0V)不含背光源工作电压电流3.0V,20mA字高12.0mm环境相对湿度85视角6:00工作温度-20+70显示方式半透半反射式正显示存储温度-30+80接口方式二线式串行接口3.4.3 SMS0501E3 液晶显示模块的接口电路SMS0501E3 液晶显示模块的接口电路如图3.8所示,各管脚说明如下:(1)VDD: 电源正极(2)DI: 串行数据输入 (3)CLK: 串行移位脉冲输入 (4)VSS: 电源负极 (5)VDD: 电源正极 (6)VDD: 电源正极 (7)BLK: 背光源负极 图3.8 SMS0501E3 液晶显示模块的接口电路3.44显示电路图3.9 SMS0501E3 液晶显示模块电路通过三极管Q4能使单片机来控制液晶显示模块的背光的亮灭,更加节能,其中R17为三极管基极的限流电阻。在电源端并入储能电容C21,能给液晶模块提供更稳定的电源。3.5 报警电路的设计该报警系统主要是由蜂鸣器、三极管和双色LED灯构成,其设计的硬件电路如图3.12所示。图3.10 报警系统电路当达到报警条件时,蜂鸣器发出报警声,双色LED灯转换为相应的颜色。R5为三极管Q1基极的限流电阻。R4为双向发光二极管D2的限流电阻。3.6 阀门控制电路设计阀门控制电路由继电器、三极管和稳压二极管组成,运用三极管的开关特性控制继电器的链接方向,从而控制阀门正转与反转。继电器的引脚图如图3.11所示。图3.11 继电器引脚图阀门控制电路如图3.12所示。图3.12 阀门控制电路双路继电器K1控制电机的正反转来实现阀门的关闭。R11检测电阻来检测电机的堵转。二极管U11,U12是为了吸收继电器的剩余能量。J3是给电机一个独立电源,给电机一个更加强劲的电源。3.7 其他电路由于各自的工作电压不太一样,在这里采用电平转换芯片MAX3232以实现电平转换。本电路应用了12V转5V芯片4264和5V转3.3V芯片LM1117。电源转换电路如图3.13。图3.13 电源转换电路二极管U3是为了防止电源的反接,以保护整个系统。电源芯片4264的输入和输出端并入电容以达到滤除电源纹波,提供一个干净的5V电源。电源芯片1117的输入和输出端并入电容以达到滤除电源纹波,提供一个干净的3.3V电源。3.8 本章小节本章主要研究的是硬件电路的设计与实现,基于对水位传感器的分析与设计,水位测量方面主要采用的是自制电容传感器,从而实现了经济,可操作的效果。当水位值低于0.5m时,报警电路工作,继电器电路给水工作。当水位值达到距上限0.5m时,报警电路工作,继电器电路放水工作。本系统有很高的可靠性与实用性。本章主要介绍应用PADS Logic 、PADS Layout与PADS Router对系统进行原理图与PCD图的绘制。PCD图如附录B中图5.6所示。 第36页 / 共36页 4 系统软件设计本次设计程序的编写采用C语言, C语言是一种计算机程序设计语言。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言13。C语言具有以下优点:(1)简洁紧凑、灵活方便。C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。(2)运算符丰富。C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。(3)数据结构丰富。C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。(4)C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5)C语法限制不太严格,程序设计自由度大。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。(6)C语言允许直接访问物理地址,可以直接对硬件进行操作。因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。(7)C语言程序生成代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低1020%。(8)C语言适用范围大,可移植性好。根据设计要求和各个芯片的工作原理,以及编程的要求需要先画出它的程序流程图。下面是程序的流程图:4.1 主电路的软件设计对于整个系统的软件设计分为一下几个部分:水位测量部分、无线传输部分、数码管显示部分、继电器阀门控制部分和报警部分。主程序的流程图如图4.1所示。图4.1 水位遥测自控主程序设计流程图4.2 水位测量软件设计水位测量传感器接在单片机PF0口上,故对PF0口置1。再设置定时器一的二通道为输入捕捉模式,传感器对水位进行测量,得到的水位值进行处理之后保存并传输给无线发送模块进行发送。水位子程序流程图如图4.2所示。图4.2 水位测量子程序设计流程图水位测试程序如下:void Init_555(void) PTADD_PTADD0=1; VCC_555_CTRL=0;void Init_TPM(void) TPM1SC =0XCA; TPM1MOD =6250; /1.25ms溢出 TPM1C2SC =0X44; /设置输入捕捉模式void Conversion() level= (uint)(subTemp/5)*10/74)-1); command_buffer0=0X20; command_buffer1=level; command_buffer2=(level8); command_buffer3=(0X20+command_buffer1+command_buffer2); void interrupt VectorNumber_Vtpm1ovf timer() TPM1SC = TPM1SC; TPM1SC_TOF=0; timer_num+;void interrupt VectorNumber_Vtpm1ch2 input() TPM1C2SC_CH2F=0; if(input_num=1) input_f=TPM1CNT; timer_num=0; if(input_num=2) input_s=TPM1CNT; input_num=0; subTemp=timer_num*6250+input_s-input_f; input_num+;4.3 数码管显示软件设计SMS0501E3 液晶显示模块的地址映射表如表4.1所示。表4.1 SMS0501E3 液晶显示模块的地址映射表LCDBUFD7D6D5D4D3D2D1D00C1X0D1E1B1A1F1G11C2H2D2E2B2A2F2G22C3H3D3E3B3A3F3G33C4H4D4E4B4A4F4G44C5X0D5E5B5A5F5G5数码管依次对百位,十位,个位进行显示。数码管显示子程序如图4.3所示。以下是SMS0501程序:unsigned char LCD_table12=0x41, 0x77, 0xc2, 0x52, / 0, 1, 2, 30x74, 0x58, 0x48, 0x73, / 4, 5, 6, 7 0x40, 0x50, 0xff, 0xfe, / 8, 9, , - ;void Init_LCD() PTCDD_PTCDD4=1; PTCDD_PTCDD5=1; PTGDD_PTGDD3=1; LCD_BLK=1; /open BLK is highvoid LCD_write_byte(uint data) char i; for(i=0; i8; i+) LCD_CLK = 1; if(data0x01) LCD_DATA = 1;else LCD_DATA = 0; data = 1;LCD_CLK = 0; LCD_CLK = 1; void LCD_write_bytes(uint data, char dp, char minus) char i;char temp5;if(minus) temp0 = 0xff; else temp0 = 0xfe; temp1 = LCD_tabledata%10000/1000; temp2 = LCD_tabledata%1000/100; temp3 = LCD_tabledata%100/10; temp4 = LCD_tabledata%10; if(dp) tempdp = 0xbf; for(i=0; i5; i+) LCD_write_byte(tempi);图4.3 数码管显示子程序4.4 无线数据传输软件设计NRF905一共有四种工作模式,其中有两种活动RX/TX模式和两种节电模式14。活动模式(ShockBurst RX和ShockBurst TX),节电模式(掉电和SPI编程,STANDBY和SPI编程)。nRF905 工作模式由TRX_C E、TX_EN、PWR_UP 的设置来设定如表4.2所示。表4.2 nRF905 工作模式设定PWR_UPTRX_CETX_EN工作模式0XX掉电和SPI 编程10XStandby 和SPI 编程110ShockBurst RX111ShockBurst TXShockBurstTM 收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速发射,这样可以尽量节能,因此使用低速的微控制器也能得到很高的射频数据发射速率。与射频 协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数 据在空中停留 时间短,抗干扰性高。Shoc kBurstTM 技术同时也减小 了整个系统的平均工作电流。在 ShockBurstTM 收发模式下, RF905 自动处理字头和CRC 校验码。在接收数据时,自动把字头和 CRC 校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚通知微处理器数据发射完毕。4.4.1 ShockBurst TX 发送流程 典型的 NRF905 发送流程分以下几步:(1)当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给RF905,SPI接口的速率在通信协议和器件配置时确定;(2)微控制器置高 TRX_CE 和 TX_EN,激发 RF905 ShockBurstTM发送模式;(3)RF905 的ShockBur stTM 发送:射频寄存器自动开启,数据打包(加字头和CRC 校验码),发送数据包,当数据发送完成,数据准备好引脚被置高; (4)AUTO_RETRAN被置高,RF905不断重发,直到TRX_CE被置低;(5)当 TRX_CE 被置低,RF905发送过程完成,自动进入空闲模式。注意:ShockBurstTM 工作模式保证,一旦发送数据的过程开始,无论 TRX_EN 和 TX_EN 引脚是高 或低,发送过 程都会被处理完。只有在前一个数据包被发送完毕,RF905才能接受下一 个发送数据包。 无线发送流程图如图4.4所示,程序见附录A。图4.4 无线发送流程图4.4.2 ShockBurst RX 接收流程 (1)当TR X_CE 为高、TX_EN 为低时,RF905进入ShockBurstTM接收模式; (2)650us 后 ,RF905 不断监测,等待接收数据;(3)当 RF905检测到同一频段的载波时,载波检测引脚被置高;(4) 当接收到一个相匹配的地址,AM 引脚被置高;(5)当一个正确的数据包接收完毕, RF905自动移去字头、地址和 CRC校验位,然后把 DR 引脚置高(6)微控制器把 TRX_CE 置低,nRF905 进入空闲模式;(7) 微控制器通过 SPI 口,以一定的速率把数据移到微控制器内;(8)当所有的数据接收完毕,nRF905 把DR引脚和AM引脚置低;(9)nRF905此时可以进入 ShockBurstTM 接收模式、ShockBurstTM 发送模式或关机模式。当正在接收一个数据包时,TRX_CE 或 TX_EN 引脚的状态发生改变,RF905 立即把其工作模式改变 ,数据包则丢失。当微处理器接 到AM引脚的信号之后,其就知道 RF905 正在接收数据包,其可以决定是让 RF905 继续接收该数据包还是进入另一个工作模式。 无线接收流程图如图4.5所示,程序见附录A。图4.5 无线接收流程图4.4.3 节能模式RF905 的节能 模式包括关机模式和节能模式。在关机模式,RF905 的工作电流最小,一般为 2.5u A。进入关机模式后,RF905保持配置字中的内容,但不会接收或发送任何数据。 空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,RF905内部的部分晶体振荡器处于工作状态。4.5 本章小结本章主要利用在软件对系统进行设计,而程序的编写采用C语言,它既有高级语言的特点,又具有汇编语言的特点15。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 主电路的软件进行水位的读取,得到值转换为水位值,并且不断的进行检测,将测得的值送至无线发送端进行发送,无线接收端接收到水位信息后,单片机控制数码管进行显示。当水位值低于0.5m时,报警电路工作,继电器电路给水工作。当水位值达到距上限0.5m时,报警电路工作,继电器电路放水工作。5 实物结果分析水位遥测系统各部分实物图片展示见附录B。经过实验测试,实物装置能够实现水位的测试,无线发送接收,水位显示,控制和报警的功能。但是水位遥测自控装置的水位测试和无线传输存在一定的误差

温馨提示

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

评论

0/150

提交评论