智能环境监测系统的设计_第1页
智能环境监测系统的设计_第2页
智能环境监测系统的设计_第3页
智能环境监测系统的设计_第4页
智能环境监测系统的设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

智能环境监测系统的设计_毕业设计智能环境监测系统的设计Designontheintelligentsystemofmonitoringenvironment摘要系统主要由数据采集端和移动监控终端两部分组成。采用16位单片机SPCE061A为处理核心,在数据采集端,利用两片CD4067BE分别挂接16只DHT11温湿度传感器和16只光照强度传感器;采用10位ADC实现对环境声音的实时录制,加入OV7670摄像头进行实时拍照监控,最后把所采集到的数据帧通过NRF905无线传输模块传送到移动监控终端。在移动监控终端,通过NRF905接收数据,将处理后的环境参数数据进行显示,接收到的语音压缩编码通过10位DAC进行解码播放,通过按键切换进入全屏环境参数显示模式或全屏监控照片显示模式,并将接受到的环境参数、声音、照片存储到SD卡中。本文以SPCE061A超低功耗单片机为核心,设计了通用智能终端和智能温湿度传感器,重点介绍了该终端和传感器的任务、硬件、软件以及控制算法的设计与实现。硬件方面,介绍了系统各个部分的设计思想、原理电路以及,并给出了系统总硬件原理图;另外,为了实现系统的低成本和低功耗,在满足设计要求的前提下,尽可能选用了价格低廉和低功耗的元器件。软件方面,采用了时间触发的混合调度器模式设计,对系统各个任务进行了设计,并给出了系统软件低功耗设计方法。关键词:SPCE061A;多节点;无线传输;HMIAbstractThesystemisdesignedfortwopartsofdataacquisitionterminalandmobilemonitoringterminal.ItsprocessingcoreisSPCE061Awhichisa16bitsmcu.Inthedataacquisitionterminal,16DHT11ofsinglebustemperature,humiditysensorand16lightintensitysensorarehungontwoCD4067BE.Theenvironmentalsoundisrecordedtocodingandcompressionwith10bitsADCwhichisbuiltinthemcuatanytime.AddOV7670whichisacameramoduletomonitoratanytime.ALLcollecteddataistransmittedtothemobilemonitoringterminalthroughNRF905ofwirelesstransmissionmodule.Inthemobilemonitoringterminal,thedataisreceivedthroughNRF905.Theenvironmentalparameterdataisdisplayedafterdealingwithandthecompressioncodingofspeechisdecodedtoplaywith10bitsDAC.Wecanswitchtofull-screenenvironmentparameterdisplaymodeorfull-screenpicturedisplaymodewiththekeys.Atlast,theenvironmentalparameter,soundandphotosarestoredtotheSDcard.BasedontheSPCE061Aultralowpowermicrocontrollerasthecore,ageneralintelligentterminalandintelligenttemperatureandhumiditysensordesign,focusesontheterminalandsensortask,hardware,softwareandthedesignofcontrolalgorithmandrealization.Intermsofhardware,introducesthevariouspartsofthesystemdesignthought,theprinciplecircuitandsystem,andthetotalhardwareprinciplediagramisgiven;inaddition,inordertorealizethesystemoflowcostandlowpowerconsumption,insatisfiesthedesignrequestunderthepremise,thelowpriceandlowpowerconsumptioncomponentsaspossible.Intermsofsoftware,usingmixedschedulermodedesigntimetriggered,thevarioustasksforthedesign,andgivesthelowpowerdesignmethodofsystemsoftware.Keywords:SPCE061A;Multinode;Wirelesstransmission;HMI目录第1章绪论 11.1课题提出的背景 11.2国内外发展现状 11.3目前监控系统中存在的问务 3第2章智能环境监控系统总体设计 42.1系统总体设计 42.2工作原理 5第3章系统硬件选择 63.1处理器的选择 63.1.1基础单片机概述 63.1.2SPCE061A单片机 7 3.1.3方案选择 73.2温度传感器的选择 73.2.1热敏电阻简介 73.2.2DS18B20温度传感器简介 83.2.3DHT11数字温湿度传感器 83.3湿度传感器的选择 9 3.3.1湿敏电阻简介 9 3.3.2DHT11数字温湿度传感器 93.4光照强度传感器的选择 103.4.1光感芯片 103.4.2光敏电阻比较电路 103.5传感器数据输入方式选择 10 3.5.1单片机IO口并行输入方式 10 3.5.2CMOS模拟开关 103.6图像采集方式的选择 113.6.1实时采 113.6.2存储芯片 113.7数据存储方式的选择 12 3.7.1片外ROM芯片 12 3.7.2SD卡读写模块 128显示方式的选择 12TFT彩色液晶屏 12HMI串口液晶屏 12第4章系统硬件设计 13 4.1SPCE061A单片机最小系统 13 4.2光照强度采集电 154.3传感器数据选择输入电路 154.4语音输入处理电路 164.5语音播放电路 17第5章系统软件设计 18第6章结论 20谢辞 错误〜未定义书签。参考文献: 22 23附录 硕士研究生课程《智能传感器技术》(考查)自选课题绪论第1章绪论课题提出的背景从国内现状来看,监控系统无处不在,但总体来说都处在单一分离模式,语音摄像需要一套系统,温湿度等环境参数监控也需要一套系统,而且价值不菲,功耗较大,移动性较差,需要较高的硬件与软件支持,数据采集端与监控端需要通过很多很长的通信线进行连接,从而使得系统稳定性不高,对于多参数多点监控的场所,传统设备不能满足其节点数量的要求,可行度不高,空间占用率较大。一些传统设备对于传感器的更换极不方便,更换完传感器后要对所有传感器进行重新编号,不便于维护。鉴于以上不足之处,我们拟采取以下措施:1、设计一种可移动式的智能环境监控系统,以方便和适应现代化的信息管理模式。2、该系统采用数字化数据采集,模块化处理,便于系统维护以及数据收集。国内外发展现状20世纪70年代,国外的温室生产开始以较快的速度发展,特别是欧美发达国家,如荷兰、美国等国家实现了机械化。当时由于水平的限制,对于生态环境因素采用单因子控制,即对温度、湿度、光照和二氧化碳浓度进行单独分别控制的方法,主要是控制温度,其次是湿度(空气湿度、土壤湿度)。例如,在控制温度时,控制的只是温度的改变,而不影在国内外市场上,主要推出的是数字控制的模拟视频监控和数字视频监控两类产品。前者技术发展已经非常成熟、性能稳定,并在实际工程应用中得到广泛应用,特别是在大、中型视频监控工程中的应用尤为广泛;后者是新近崛起的以计算机技术及图像视频压缩为核心的新型视频监控系统,该系统解决了模拟系统部分弊端而迅速崛起,但仍需进一步完善和发展。目前,第三代基于网络摄像机的网络视频监控系统正兴起,以它特有的优势会逐步成为监控系统新的潮流。视频监控系统的发展方向。前端一体化、视频数字化、监控网络化、系统集成化是视频监控系统公认的发展方向,而数字化是网络化的前提,网络化又是系统集成化的基础,所以,视频监控发展的最大两个特点就是数字化和网络化。数字化,数字化是21世纪的特征,是以信息技术为核心的电子技术发展的必然,数字化是迈向成长的通行证,随着时代的发展,我们的生存环境将变得越来越数字化。视频监硕士研究生课程《智能传感器技术》(考查)自选课题绪论控系统的数字化首先应该是系统中信息流(包括视频、音频、控制等)从模拟状态转为数字状态,这将彻底打破“经典闭路电视系统是以摄像机成像技术为中心”的结构,根本上改变视频监控系统的信息采集、数据处理、传输、系统控制等的方式和结构形式。信息流的数字化、编码压缩、开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一的操作平台上实现管理和控制,这也是系统集成化的含义。网络化,视频监控系统的网络化将意味着系统的结构将由集总式向集散式系统过渡。集散式系统采用多层分级的结构形式,具有微内核技术的实时多任务、多用户、分布式操作系统以实现抢先任务调度算法的快速响应。组成集散式监控系统的硬件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、人机界面友好以及系统安装、调试和维修简单化,系统运行互为热备份,容错可靠等优点。系统的网络化在某种程度上打破了布控区域和设备扩展的地域和数量界限。系统网络化将使整个网络系统硬件和软件资源共享以及任务和负载共[12]享,这也是系统集成的一个重要概念。纵观以上观点,就不难理解为什么网络数字视频监控系统正成为视频监控领域研究的热点和发展方向。目前监控系统中存在的问题随着基于PC机的视频监控录像系统的发展,在实际工程使用过程中,也暴露出一些不足,主要是系统工作的不稳定性。硬件设计的缺点:PC机,兼容PC机用于24小时不间断工作时,其性能是不很稳定的,工控PC机相对于兼容PC机的稳定性有一个档次上的提高,适用于较复杂的工作环境;视频监控录像系统通常均为多路输入系统,视频采集卡可采用多卡方式,也可采用单卡方式。一般说,单卡方式集成度高,稳定性会优于多卡方式,很多采用一路一卡的方式容易形成硬件冲突,对其稳定性会有很大的影响。目前市场上也有部分为追求高帧数而设计采用多卡进行迭加的多路单卡设备,但其仍在计算机的总线上进行传输、处理,不可能会有质的飞跃。系统软件:操作系统,以Windows98为操作平台的系统,业内人士都知道,Win98的稳定性是有一定问题的,如果应用软件又不是很规范,这样就容易在使用过程中出现工作不稳定、死机等问题,而基于PC机的视频监控录像系统其软件的实现是在Windows95/98/NT、Unix、Linux等通用操作系统上,同时系统文件、应用软件和图像文件都存储在硬盘上,视频处理必须高密度输入大量数据,同时硬盘要进行多工工作,普通的硬盘逻辑(如Windows的FAT32)已无法适应,以致极易产生系统的不稳定性,造成死机现象;应用软件,采用简易应用软件的系统是不能够用于安防领域的,视频监控系统的应用软件能力上应支持多任务并发处理,如监视、录像、回放、备份、报警、控制、远程连接等的多工处理能力。2硕士研究生课程《智能传感器技术》(考查)自选课题绪论课题研究任务本课题研究对象是可移动式数字化智能环境监控系统,由于传统的监控系统存在不稳定不便携等特点,对该系统的研究设计及制作提出了特殊要求,因此,本课题的研究任务可归纳为以下几点:准确可靠的主控电路及其软件设计;便于移动,以及能较好的采集温度湿度等数据;清晰易懂的数据显示功能;其它辅助电路及结构设计。硕士研究生课程《智能传感器技术》(考查)自选课题系统总体设计第2章智能环境监控系统总体设计系统总体设计该智能环境监控系统分为数据采集端和移动监控终端两大部分,数据采集端包括SPCE061A核心板、16路温湿度采集模块、16路光照强度采集模块、CD4067数据切换输入模块、语音输入处理电路、OV7670带FIFO摄像头模块、SD卡读写模块、NRF905无线发射模块,移动监控终端包括SPCE061A核心板、SD卡读写模块、NRF905无线接收模块、语音播放电路、3.2寸HMI串口人机界面液晶屏,结构框图如图1-1所示。NRF905无线接收模块NRF905无线发射模块语音输入处理电路3.2寸HMI串口人16路温湿度采机界面液晶屏集模块CD4067数据切换移动监控终端数据采集端输入模块SPCE061A核心板SPCE061A核心板16路光照强度采集模块语音播放电路OV7670带FIFO摄像头模块SD卡读写模块SD卡读写模块图1-1系统总体结构框图硕士研究生课程《智能传感器技术》(考查)自选课题系统总体设计2.2工作原理在数据采集端:16路温湿度采集模块、16路光照强度采集模块将采集到的数据传输给CD4067数据切换输入模块,该模块进行模数信号转换后,将模拟信号转换成电信号。语音输入处理电路、OV7670带FIFO摄像头模块将采集到的数据连同CD4067数据切换输入模块的信号一并传输给SPCE061A核心板。该核心单片机一方面将信息存入SD卡备用,一方面把信息通过NRF905无线发射模块发射出去。在移动监控终端:首先,NRF905无线接收模块接受NRF905无线发射模块发射的信息,并传输给移动监控终端的SPCE061A核心板。通过特定的软件设计控制,使核心板接受的信息分成三部分展现:一,存入SD卡作为备用资料;二,通过语音数模转换得到人能够识别的语音信号,并播放;三,视频信息则是通过3.2寸HMI串口人机界面液晶屏实现人机信息交互。5硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择第3章系统硬件选择3.1处理器的选择基础单片机概述51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。若采用普通型的的51单片机(例如AT89S51、STC89C51),数据采集与处理速度、片内RAM大小、片内ROM大小以及对语音、视频、图片等数字信号的处理能力,是远远不能满足本系统的要求,即使采用增强型的51单片机(例如STC12C5A60S2),也是不够的。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstruetionSetCPU)精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。相对51单片机而言,数据处理速度有一定的提升,如采用ATMEGA128等高档型的单片机还是可以的,但对语音、视频、图片等数字信号的处理还是较麻烦的,需要较复杂的软件编程支持,开发周期较长,不便于维护。DSP(DigitalSignalProcessor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作AcornRISCMachine。ARM处理器本身是32位设计,但也配备16位指令集。一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。1、 体积小、低功耗、低成本、高性能;2、 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;6硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择5、寻址方式灵活简单,执行效率高;[16,18]6、指令长度固定。这两种处理器完全可以满足系统的需要,但是性能过剩,价格过高,软件编程较复杂,在PCB生产方面需要较高的工艺,不经济。SPCE061A单片机,SPCE061A是继nSP?(MicrocontrollerandSignalProcessor)系列产品SPCE500A等,之后凌阳科技推出的又一款16位结构的微控制器。C51是nVIDIA公司推出的首款K8平台整合芯片组的产品系列代号,现在使用C51系列芯片组的北桥芯片分为两个版本:GeForce6150和GeForce6100,它们与Nforce400系列的南桥芯片搭配组成新一代平台。16位处理器NVidiaC51芯片组是nVidia的K8IGP芯片组,于2005年推出。它是nVidia第一款为K8平台而设的整合型芯片组。它建了Geforce6100显示核心,完整支援DirectX9.0和HDR,是当时缯图效能最佳的整合型芯片组。南桥的硬盘支援部分有小BUG(有时不能启动NCQ)。nVidia眼见ATi在Intel和AMD平台芯片组市场渐有成绩,逐在AMD平台芯片组下工夫,推出支援AMD64-bit处理器的整合形芯片组。本来计划推出Intel平台整合形芯片组(代号C60),但Intel推出内建ATI整合形芯片组的主板,NVIDIA为免尴尬,决定终止C60计划。C51是MCS-51系列单片机,是一种低端的8位单片机。在存储器资源方面考虑到用户资源的需求以及便于程序调试等功能,SPCE061A里内嵌32k字的闪存(FLASH)和2k字SRAM。较高的处理速度(最高可达49.152MHz),,配合库文件操作,使EMBEDEquation.3nSP?能够非常容易地、快速地处理复杂的,[1]数字信号。在低功耗方面,用户可在0.32MHz-49.152MHz范围内自由设定处理器运行速度,因此SPCE061A单片机是适用于数字信号应用领域产品的一种最经济的选择。3.1.3方案选择综上所述,我们采用方案三。3.2温度传感器的选择[17]3.2.1热敏电阻简介热敏电阻是开发早、种类多、发展较成熟的敏感元器件。热敏电阻由半导体陶瓷材料组成,用半导体材料的大多为负温度系数,即阻值随温度增加而降低。温度变化会造成大的阻值改变,因此它是最灵敏的温度传感器。但热敏电阻的线性度极差,并且与生产工艺有很大关系。制造商给不出标准化的热敏电阻曲线。热敏电阻体积非常小,对温度变化的7硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择响应也快。但热敏电阻需要使用电流源,小尺寸也使它对自热误差极为敏感。热敏电阻的电阻,温度特性可近似地用下式表示:,,,,R,RexpB1T,1T00:温度时的电阻值;:温度时的电阻值。,,RTK,,TKR00实际上,热敏电阻的值并非是恒定的,其变化大小因材料构成而异,最大甚至可达Bo5。因此在较大的温度范围内应用式1时,将与实测值之间存在一定误差。热敏电阻KC的电阻值会随相应环境的变化而变化,加上电阻分压电路,再用单片机内自带的AD转换器对电压采集,从而间接得出环境温度和环境湿度。该方案中传感器电路的输出数据都是模拟量,在多路数据采集下,单片机AD需要占用过多的IO口采集数据,而且受电阻线性度和电阻制造误差的约束,很难得到稳定而又相对准确的数据。DS18B20温度传感器简介DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。具有抗干扰能力强、温度采集精度高、不需要复杂的调理电路和AD转换电路等特点DS18B20是一种精度较高的单总线温度传感器,片内自带唯一序列号,但是价格也比较高。湿度测量的方案同上述方案一。温度、湿度的采集需要过多的传感器,外围电路复杂,占用单片机较多的IO口。3.2.3DHT11数字温湿度传感器DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。湿度传感器单片集成,而且片内集成8位单片机,不需要额外的外围电路;单总线数字数据输出,转换时间和单次通讯时间较短。若对温湿度精度要求不高,可采用DHT11;若对温湿度精度要求较高,可采用DHT21。该温度检测系统是以AT89S52单片机为核心,采用新型可编程温度传感器DHT118硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择或DHT21进行温度检测,具有抗干扰能力强、温度采集精度高、不需要复杂的调理电路和AD转换电路等特点。综上所述,我们选择DHT11数字温湿度传感器。3.3湿度传感器的选择[2]3.3.1湿敏电阻简介湿敏电阻是利用湿敏材料吸收空气中的水分而导致本身电阻值发生变化这一原理而制成的。工业上流行的湿敏电阻主要有:氯化锂湿敏电阻,有机高分子膜湿敏电阻。多片电阻组合式氯化锂湿敏传感器是利用湿敏元件的电气特性(如电阻值),随湿度的变化而变化的原理进行湿度测量的传感器,湿敏元件一般是在绝缘物上浸渍吸湿性物质,或者通过蒸发、涂覆等工艺制各一层金属、半导体、高分子薄膜和粉末状颗粒而制作的,在湿敏元件的吸湿和脱湿过程中,水分子分解出的离子H+的传导状态发生变化,从而使元件的电阻值随湿度而变化。氯化锂湿度传感器具有稳定性、耐温性和使用寿命长多项重要的优点,氯化锂湿敏传感器已有了五十年以上的生产和研究的历史,有着多种多样的产品型式和制作方法。湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。湿敏电容一般是用高分子薄膜电容制成的,常用的高分子材料有聚苯乙烯、聚酰亚胺、酪酸醋酸纤维等。当环境湿度发生改变时,湿敏电容的介电常数发生变化,使其电容量也发生变化,其电容变化量与相对湿度成正比。电子式湿敏传感器的准确度可达2-3%RH,这比干湿球测湿精度高。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。这方面没有干湿球测湿方法好。总体来说,湿敏电阻的电阻值会随相应环境的变化而变化,加上电阻分压电路,再用单片机内自带的AD转换器对电压采集,从而间接得出环境湿度,因而很难得到稳定而又相对准确的数据。DHT11数字温湿度传感器在3.2方案三中已经做出综合论述,在此不在介绍。9硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择3.4光照强度传感器的选择光感芯片光感芯片是组成数码摄像头的重要组成部分,根据元件不同分为CCD(ChargeCoupledDevice,电荷耦合元件)应用在摄影摄像方面的高端技术元件。CMOS(ComplementaryMetal-OxideSemiconductor,金属氧化物半导体元件)应用于较低影像品质的产品中。目前CCD元件的尺寸多为1/3英寸或者1/4英寸,在相同的分辨率下,宜选择元件尺寸较大的为好。CCD的优点是灵敏度高,噪音小,信噪比大。但是生产工艺复杂、成本高、功耗高。CMOS的优点是集成度高、功耗低(不到CCD的1/3)、成本低。但是噪音比较大、灵敏度较低、对光源要求高。在相同像素下CCD的成像往往通透性、明锐度都很好,色彩还原、曝光可以保证基本准确。而CMOS的产品往往通透性一般,对实物的色彩还原能力偏弱,曝光也都不太好。采用专门的光感芯片,能够精确的得到光照强度数值的大小,但是价格很高,单是芯片价格就几十元,芯片外围电路复杂,PCB生产工艺较高。光敏电阻比较电路采用光敏电阻,外加比较器以及分压调节电位器,调节电位器至光照强度所需位置,大于设定光照强度,比较器输出低电平;小于设定光照强度,比较器输出高电平。在实际应用中,我们没必要实时测量环境光照强度的准确数值大小,只是需要一个临界值,确保待监控环境光照强度不超过安全值即可。综上所述,我们选择光敏电阻比较电路。3.5传感器数据输入方式选择3.5.1单片机IO口并行输入方式SPCE061A单片机只有32个IO口,如采用并行输入方式,仅16路温湿度传感器和16路光照强度传感器就全部占满了,其他模块就没法连接单片机了,因此该方案不可取。3.5.2CMOS模拟开关开关在电路中起接通信号或断开信号的作用。最常见的可控开关是继电器,当给驱动继电器的驱动电路加高电平或低电平时,继电器就吸合或释放,其触点接通或断开电路。CMOS模拟开关是一种可控开关,它不象继电器那样可以用在大电流、高电压场合,只适于10硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择处理幅度不超过其工作电压、电流较小的模拟或数字信号。其典型应用:单按钮音量控制器、四路视频信号切换器、数控电阻网络、音量调节电路。模拟开关是通过数字量来控制传输门(TG)的接通和断开以传输数字信号或模拟信号的开关。它具有功耗低、速度快、体积小、无机械触点及使用寿命长等优点,因此在一定程度上可以用来代替继电器。它的缺点是导通电阻不够小(几十至几百欧),断开时仍有泄露电流(约0.1口A),且通过的电流一般为毫安级。此智能环境监控系统采用2片CD4067BE16选1数字控制CMOS模拟开关,共用4条数据编码选择线和1条数据输出线,再外加一个非门控制2片CD4067BE的分时选通。采用查询的方式,定时巡检32路传感器数据。采用此方案,仅占用单片机6个IO口。综上所述,我们采用数字控制CMOS模拟开关。3.6图像采集方式的选择实时采集单片机的运算能力强有力,运算速度快,I,O接口功能完善,抗干扰能力强,可靠性高,对于现场数据采集处理时,它仍然是现场数据采集器的核心元件之一。当现场测试点较为分散时,通常以串行通信方式将数据采集连接成网络,主机采用主从访问方式,实现多点的数据采集。这种方案在数据传输量较小且频率较高、采样周期较长时,可以较好地完成多点数据采集处理任务。但是,当现场信号频率较高时,根据香农定理可知,采样频率也应提高,这样在单位时间内的数据传输量也相应增大,若采用这种主从式网络进行多点采集,实时性难以满足,甚至会造成系统崩溃。具体到此系统,OV7670的数据输出速度较高,数据流很大,单片机与OV7670直连,需要单片机腾出较多的资源来配合OV7670,采集图像数据,从而使得单片机与OV7670很难匹配,增大了单片机的功耗,增加了数据的出错率,稳定性下降。3.6.2存储芯片AL422B先入先出存储芯片内部可存储3M位(384k字节)的数据,0V7670输出的数据暂存入AL422B中,起到缓冲作用,单片机仅需要定时读取一次AL422B中的图像数据即可,而且读取速度由用户自由设定,大大降低了单片机的资源消耗。综上所述,我们选用存储芯片式。11硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件选择3.7数据存储方式的选择3.7.1片外ROM芯片存储空间小,价格昂贵,一般都是并行操作,占用IO口多,而且不方便取放,不方便与外部设备进行数据拷贝。SD卡读写模块SD卡容量大,方便取下,采用SPI通信方式,单片机IO口占用少,读写速度快,再配合FAT文件系统,可以很方便的对SD卡进行读写操作,最大可支持2GSD卡。综上所述,我们选择SD卡。3.8显示方式的选择TFT彩色液晶屏其核心电路均采用大规模可编程逻辑器件设计,全硬件实现,性能稳定可靠,产品一致性好。采用简单的并行总线方式与51单片机、AVR、DSP、PIC、ARM等CPU直接连接,信号包括数据D[7:0]、地址A[l:0]、片选/CS、写/WR、读/RD。也可进行单片机串口驱动TFT液晶显示屏,开发人员需要熟悉产品的通讯协议,进行二次开发,需要编写底层的驱动程序。因此基于此系统,单片机驱动复杂,并行操作占用单片机IO口较多,屏幕刷新速度慢,很难满足图像的瞬间显示,单片机资源占用率大,可视化人机交互能力较差。3.8.2HMI串口液晶屏HMI是HumanMachineInterface的缩写,“人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。HMI的接口种类很多,有RS232,RS485,RJ45网线接口。串口通讯,TTL电平,操作简单,仅需要2个IO口,波特率最高可达961200bps。内部集成专用TFT驱动芯片以及图形操作SPI函数接口,可存储255张图片,图像刷新速率快,大大降低了单片机的资源占有率,具有较高的人机交互能力。综上所述,我们选择HMI串口液晶屏。12硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件设计第4章系统硬件设计SPCE061A单片机最小系统SPY0029低压稳压芯片,带有低电压保护功能,最高输入电压7V,输出电流最大50ma,稳定输出3.3V电压,用来给单片机供电;32.768kHz晶振外加PLL倍频电路,提供给单片机0.32MHz-49.152MHz时钟频率;复位电路采用按键手动复位和芯片上电复位;芯片供电引脚以及内核电压引脚,需要加合适电容去耦滤波;单片机所有IO口通过跳线选择,[13,14,15]可以工作在3.3V模式下和5V模式下。SPCE061A单片机最小系统电路如图4-1所示。13硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件设计C5C4C7C8++100uVCPPLL100u104104R2VSSVSSC33.3KBP_H3300p_PSDDCEDDVRIOB0IOB1IOB2IOB3IOB4IOB5IOB6IOB7IOB8IOB9IOB10C10VV104VSSU110432109876511987654321888887777712OSCOOSC32O13CCCCCOSCIDHOSC32INNNNN14DDVSSVCPXTESTIOB0IOB1IOB2IOB3IOB4IOB5IOB6IOB7IOB8IOB9VD15IOB10VDDVVDDXRESB1674ICE_ENXICENCC17C181773+ICE_SCKXICECLKNC1872ICE_SDAXICESDANC100u1041971VSSVSSNC2070VSSPVINNC2169DAC1DAC1PVPP2268DACDAC2IOB11DAC2IOB112367VREF2IOB12VREF2IOB122466AVSS1IOB13VSSIOB132565AGCIOB14AGCIOB142664OPIIOB15OPIIOB152763MICOUTSLEEPMICOUTXSLEEP2862MICNVSSMICNVSS2961PFUSEXROMTOSC3060IOA15NCIOA153159Y1IOA14NCIOA143258OSCOOSCIIOA13NCIOA1357IOA12IOA12C143276856IOA11IOA11C1555HHIOA10IOA10DDD20P20P54VSSIOA9IOA9DCCDDMICPVCMVRTPADVVMICVSSNNIOA0IOA1IOA2IOA3IOA4IOA5IOA6IOA7VSSVSSVVIOA8VDDRESET345678901234567890123333333344444444445555R184.7KA1T_SHHRMDSSSDDRES_BVCDVSSDDMICPVVVMICAIOA0IOA1IOA2IOA3IOA4IOA5IOA6IOA7VVVVIOA8S1104C37C27C28C31C29++104100uVSS104100uR140AVSS1VSSVDD_AR150VDD_PU3R16023V5V3VDDVIVOPOWERR170VDDH3DNG22D3SPY0029D41S0T-89DI0DEDI0DE+J10C33C34C35R190VSS15VC36++112104R210AVSSlC0N2220ul04220uR220VSSAVSS2图4-1SPCE061A单片机最小系统14硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件设计4.2光照强度采集电路光敏电阻在有光的时候和无光的时候,电阻值会发生变化,分别称为亮阻和暗阻,本电路中采用的光敏电阻亮阻为0.5kQ,暗阻为5-10kQ。电位器取合适分压做基准电压,通过4路电压比较器芯片LM339,与光敏电阻采集电压进行比较。LM339输出端外加上拉电阻,当同相输入电压高于反相输入电压时,LM339输出高电平;当同向输入电压低于反相输入电压时,LM339输出低电平,从而可间接得出:超过设定光照强度,LM339输出低电平,同时指示灯亮起;低于设定光照强度,LM339输出高电平,同时指示灯熄灭。光照强度采集电路如图4-2所示。U3VCCVCCR010KLIG0114LIG810KR80UT20UT3R33R32R110KLIG1213LIG910KR9R40R410UT10UT491K91K31291K91KVCCGNDGND411IN1-IN4+20K20K51020K20KIN1+IN4-69IN2-IN3+RP1RP078RP9RP8IN2+IN3-RL1RL0LM339RL8RL9GNDGND图4-2光照强度采集电路4.3传感器数据选择输入电路采用2片CD4067BE16选1数字控制CMOS模拟开关,共用4条数据编码选择线和1条数据输出线,再外加一个非门控制2片CD4067BE的分时选通,在一定时间内,只允许一路数据输入。在软件上,配合巡检读取数据,从而仅需要6个IO口就可以操作32个传感器,完成32路数据的采集。传感器数据选择输入电路如图4-3所示。15硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件设计U1VCC124IO0DATAI/OVCC9WT0CH08WT1CH17WT2CH26WT3CH3105WT4IO1ACH4114WT5IO2BCH5143WT6IO3CCH6132WT7IO4DCH723WT8U7ACH822WT9CH9121521WT10IO5INHBITCH1020WT11CH1119WT12CH12CD4069UBCM18WT13CH1317WT14CH141216WT15GNDCH15CD4067BEGNDU2VCC124DATAI/OVCC9LIG0CH08LIG1CH17LIG2CH26LIG3CH3105LIG4ACH4114LIG5BCH5143LIG6CCH6132LIG7DCH723LIG8CH822LIG9CH91521LIG10INHBITCH1020LIG11CH1119LIG12CH1218LIG13CH1317LIG14CH141216LIG15GNDCH15CD4067BEGND图4-3传感器数据选择输入电路4.4语音输入处理电路话筒采集语音信号,电路提供给话筒工作电压,经过滤波,将差分信号送入处理器,经过处理器内部10位AD将语音模拟信号转换为数字信号,最后调用语音库编码函数函数进行压缩编码。语音输入处理电路如图3-4所示。16硕士研究生课程《智能传感器技术》(考查)自选课题系统硬件设计ClRllKAGCAVSSlVMICR3C2+220u470K+VCM4.7uC9C6+AVSSlR4R5R610422u3K10K10KAVSS1C12X1C111041MICPMIC0UT22424-MICR0PH0NEC13MICN0PI224R8R75.1K3KC165021SSVA1SSVA图4-4语音输入处理电路4.5语音播放电路语音信号经语音库函数解码后,由处理器内部10位DA将数字编码转换为语音模拟信号,最后经过SPY0030将语音信号放大后播放。语音播放电路如图4-5所/示OVDDHJ2SPHC0N3C20C21U2C23+87J3104100u521234-VSS2224411SPLSPY0030ClAD36C25Speaker2R10104R91K1KC261043AVSS2图4-5语音播放电路17硕士研究生课程《智能传感器技术》(考查)自选课题系统软件设计第5章系统软件设计系统软件部分采用C语言和汇编语言混合编程,驱动层面用汇编语言编写,功能层面[9,10,11,13]用C语言编写。对于整体软件部分,采用模块化编程,预留出相应的通信接口,最后通过API函数进行整合,便于系统整体调试、维护和软件升级,数据采集端和移动监控终端程序流程图分别如图5-1、5-2所示。开始系统初始化32路传感器自检显示故障点否自检通过是每隔1秒读取一每隔1分钟巡检一次传感器,并录制环境声音次OV7670FIFO数记录数值据数据通过NRF905发射出去图5-1数据采集端程序流程图18硕士研究生课程《智能传感器技术》(考查)自选课题系统软件设计开始系统初始化读取NRF905缓存数据处理数据,分离出温度值、湿度值、光照强度值、语音压缩编码、图像数据帧数据写入SD卡模式二模式一显示模式判断图像数据由SD卡上传至HMI内部用户存储器读取SD卡分离出温度值、湿度值、光照强度值调用语音解码库对语音解码播放液晶显示环境参数数值处理器向HMI发送图像显示指令以显示图像图5-2移动监控终端程序流程图19硕士研究生课程《智能传感器技术》(考查)自选课题结论第6章结论该智能环境监控系统整体设计方案较为合理,成本控制较低,可以满足32节点传感器数据的处理,能够全面兼顾温度、湿度、光照强度的数据采集,以及环境声音的录制和现场照片的拍摄,通过无线传输方式能够很方便的实现环境现场外部监控,并且具有很好的移动便携性、实用性,推广前景较为广阔。20参考文献参考文献:1(雷思孝•单片机原理及实用技术[M].西安:西安电子科技大学出版社,2004:245-250.2(黄飞,毛钢元•基于凌阳16位单片机的温度控制系统[J].淮阴工学院学报,2007,(5):63-66.3(江东,杨嘉祥,赵宏.Z-温度传感器的非线性补偿[J].传感器与微系统,200&27(7):121-125.4(沙占友•集成传感器应用[M].北京:中国电力出版社,2009:46-48.(康晓东,杨海英•无线音视频处理、传输及其标准[M].北京:北京工业大学出版社.2005,8:190-192.(凌阳科技•凌阳16位单片机开发实例[M].北京:北京航空航天大学出版社,2006:18-24.7(孙肖子,张企民编著•模拟电子技术基础[M].西安:西安电子科技大学出版社,2006:10-19,112-136,383-396,492-547.8(蔡莲红,黄德智,蔡瑞•现代语音技术基础与应用[M].北京:清华大学出版北京:电子工业出版社.2006:18-19.10(陈龙三编著.C语言控制与应用[M].北京:清华大学出版社,2002:67-75.11(谭浩强编著.C语言程序设计[M].北京:清华大学出版社,2007:43-60.12(段晨东,王俭(张文革(智能化住宅小区监控系统设计?.电气自动化.2006(13(虞鹤松,武自芳(微机控制技术[MJ(西安:西安交通大学出版社,200814(万福君等,,单片机原理系统设计与应用,中国科学技术大学出版社,2001.8:32-3415(李朝青,PC机与单片机&DSP数据通信技术选编(2),北京航空航天大学出版社,2003.5:18-2516(李朝青,PC机及单片机数据通信技术,北京航空航天大学出版社,2000.12:1-1417(周继明,江世明,传感技术与应用,中南大学出版社,2005.3:281-28518(宋浩,田丰,单片机原理及应用,清华大学出版社;北京交通大学出版社,2005.1:13-1422附录附录附录A数据采集端实物图23附录附录B移动监控终端实物图24附录附录C数据采集端传感器整体电路图VCCT0T1T2T3T4T5T6T711111111VDDVDDVDDVDDVDDVDDVDDVDDWT0WT1WT2WT3WT4WT5WT6WT722222222DATADATADATADATADATADATADATADATA33333333NCNCNCNCNCNCNCNC44444444GNDGNDGNDGNDGNDGNDGNDGNDDHT11DHT11DHT11DHT11DHT11DHT11DHT11DHT11GNDVCCT8T9T10T11T12T13T14T1511111111VDDVDDVDDVDDVDDVDDVDDVDDVCCD8WT8WT9WT10WT11WT12WT13WT14WT1522222222DATADATADATADATADATADATADATADATAR24LIG833333333NCNCNCNCNCNCNCNC44444444510RGNDGNDGNDGNDGNDGNDGNDGNDD9R25LIG9DHT11DHT11DHT11DHT11DHT11DHT11DHT11DHT11GND510RD10R26LIG10U3VCCVCCR010KLIG0114LIG810KR8U1VCC510ROUT2OUT3D11R33R32R110KLIG1213LIG910KR9R40R41124OUT1OUT4IO0DATAI/OVCCR27LIG1191K91K31291K91K9WT0VCCGNDGNDCH04118WT1510RIN1-IN4+CH1D1220K20K51020K20K7WT2IN1+IN4-CH2R28LIG12696WT3IN2-IN3+CH3RP1RP078RP9RP8105WT4510RIN2+IN3-IO1ACH4D13114WT5IO2BCH5R29LIG13RL1RL0LM339RL8RL9143WT6IO3CCH6132WT725510RGNDGNDIO4DCH7D1423WT8U7ACH8R30LIG1422WT9CH9U4121521WT10510RVCCVCCIO5INHBITCH10D15R210KLIG2114LIG1010KR1020WT11OUT2OUT3CH11R31LIG15R35R34R310KLIG3213LIG1110KR11R42R4319WT12OUT1OUT4CH12CD4069UBCM91K91K31291K91K18WT13510RVCCGNDGNDCH13D041117WT14IN1-IN4+CH14R16LIG020K20K51020K20K1216WT15IN1+IN4-GNDCH1569510RIN2-IN3+D1RP3RP278RP11RP10CD4067BEIN2+IN3-R17GNDLIG1U2VCCRL3RL2LM339RL10RL11124510RDATAI/OVCCD29LIG0GNDGNDCH0R18LIG28LIG1CH17LIG2510RCH2D3U56LIG3VCCVCCCH3R19LIG3R410KLIG4114LIG1210KR12105LIG4OUT2OUT3ACH4R37R36R510KLIG5213LIG1310KR13R44R45114LIG5510ROUT1OUT4BCH5D491K91K31291K91K143LIG6VCCGNDGNDCCH6R20LIG4411132LIG7IN1-IN4+DCH720K20K51020K20K23LIG8510RIN1+IN4-CH8D56922LIG9IN2-IN3+CH9R21LIG5RP5RP478RP13RP121521LIG10IN2+IN3-INHBITCH1020LIG11510RCH11D6RL5RL4LM339RL12RL1319LIG12CH12R22LIG618LIG13GNDGNDCH1317LIG14510RCH14D7U61216LIG15VCCVCCGNDCH15R23LIG7R610KLIG6114LIG1410KR14OUT2OUT3R39R38R710KLIG7213LIG1510KR15R46R47CD4067BE510ROUT1OUT4GND91K91K31291K91KVCCGNDGND411IN1-IN4+20K20K51020K20KIN1+IN4-69IN2-IN3+RP7RP678RP15RP14IN2+IN3-RL7RL6LM339RL14RL15GNDGND附录附录D部分源程序1.DHT11读写程序voidDHT11_Read(void){*P_Watchdog_Clear=0x0001;*P_SystemClock=0x00F8;//初始化,调整系统时钟49.152MHz/1,强振模式*P_IOB_Attrib=OxFFFF;//初始化IOB同相低电平输出口*P_IOB_Dir=0xFFFF;*P_IOB_Data=0x0000;*P_Watchdog_Clear=0x0001;while(1){P1_15=1;Delay_ms(1);P1_15=0;Delay_ms(20);P1_15=1;Delay_us(8);*P_IOB_Attrib&=0x7FFF;//初始化IOB同相低电平输出口*P_IOB_Dir&=0x7FFF;*P_IOB_Data|=0x8000;while(P1_15);Delay_us(1);while(!P1_15);while(P1_15);DHT11_Num=8;while(DHT11_Num){if(P1_15){*P_TimerA_Ctrl=0x0031;*P_TimerA_Data=0x0000;while(P1_15);26附录time=*P_TimerA_Data;if(time>8){DHT11_Temp|=0x0001;}DHT11_Temp<<=1;DHT11_Num--;}}}2.0V7670驱动程序unsignedcharWrCmos7670(unsignedcharregID,unsignedcharregDat){StartI2C0();if(0==I2CWrite0(0x42)){StopI2C0();return(0);}delay_us(100);if(0==I2CWrite0(regID)){StopI2C0();return(0);}delay_us(100);if(0==I2CWrite0(regDat)){StopI2C0();return(0);}StopI2C0();return(1);}unsignedcharrdCmos7670Reg(unsignedcharregID,unsignedchar*regDat){StartI2C0();if(0==I2CWrite0(0x42)){StopI2C0();return(0);}delay_us(100);if(0==I2CWrite0(regID)){StopI2C0();return(0);}StopI2C0();delay_us(100);StartI2C0();if(0==I2CWrite0(0x43)){StopI2C0();return(0);}delay_us(100);*regDat=I2CRead0();27附录NoAck0();StopI2C0();return(1);}voidCmos7670_Size(unsignedintStartx,unsignedintStarty,unsignedintwidth,unsignedintheight){unsignedintendx;unsignedintendy;unsignedcharR1,R2;unsignedcharSeting,mmm;endx=(Startx+width);endy=(Starty+height+height);Seting=rdCmos7670Reg(0x03,&R1);R1&=0xf0;Seting=rdCmos7670Reg(0x32,&R2);R2&=0xc0;mmm=R2|((endx&0x7)<<3)|(Startx&0x7);Seting=WrCmos7670(0x32,mmm);mmm=(Startx&0x7F8)>>3;Seting=WrCmos7670(0x17,mmm);mmm=(endx&0x7F8)>>3;Seting=WrCmos7670(0x18,mmm);mmm=mmm=R1|((endy&0x3)<<2)|(Starty&0x3);Seting=WrCmos7670(0x03,mmm)mmm=Seting=WrCmos7670(0x19,mmm);mmm=endy>>2;Seting=WrCmos7670(0x1A,mmm);}unsignedcharCmos7670_init(void){unsignedcharmmm;unsignedinti=0;InitI2C0();mmm=0x80;28附录if(0==WrCmos7670(0x12,mmm)){return0;}delay_ms(10);set_Cmos7670reg();return1;}3.NRF905驱动程序voidinit_905(void)DDRE|=(1<<CSN)|(1<<PWR_UP)|(1<<TX_EN);//设置端口E的1,2,3引脚为输出引脚DDRB|=(1<<M0SI)|(1<<SCK)|(1<<TRX_CE);//设置MOSI、SCK和SS为输出,其他为输入PORTE|=(1<<PWR_UP);//905上电PORTE|=(1<<CSN);//CSN引脚置位,停止SPI操作,PORTB|=1<<SCK;//SpiclocklineinithighPORTE&=~(1<<TX_EN);PORTB&=~(1<<TRX_CE);//SetnRF905instandbymodeDelay3ms();}voidset_confword(unsignedchar*r_addr){data_conf[0]=0x01;data_conf[1]=0x0c;//不重发数据,接收模式为正常模式,输出功率为1OdB(〃11〃),工作在433MHzdata_conf[2]=0x44;//4字节的接收地址和发送地址data_conf[3]=PACKAGE_LENGTH;//RX有效数据长度data_conf[4]=PACKAGE_LENGTH;//TX有效数据长度data_conf[5]=r_addr[0];//5~8为RX地址data_conf[6]=r_addr[1];data_conf[7]=r_addr[2];data_conf[8]=r_addr[3];data_conf[9]=0xd8;voidTxPacket(unsignedchar*send_d){unsignedchartemp,i;PORTE&=~(1<<CSN);//CSN置零,Spi使能29附录SpiWrite(WTP);//写SPI命令for(i=0;i<PACKAGE_LENGTH;i++){SpiWrite(*(send_d+i));//写21字节的TX数据}PORTE|=(1<<CSN);//禁止SpiPORTB|=(1<<TRX_CE);//SetTRX_CEhigh,开始TX数据发送Delay650us();PORTB&=~(1<<TRX_CE);//SetTRX_CElow,进入standby模式}4.FAT文件系统//=============================================================//语法格式:voidFS_Init(void)//实现功能:文件索引表初始化//参数:无//返回值:无//=============================================================voidFS_Init(void){while(SD_Initialize()!=SD_NO_ERR);//初始化SD卡g_FileNum=0;UsedSecNum=0;CurFileStartSec=FS_START_SEC;//当前文件的Sector起始地址CurFileSec=FS_START_SEC;//当前文件的操作Sector地址CurFileEndSec=FS_START_SEC;//当前文件的Sector结束地址CurOffset二0;//当前Sector的操作位置}//=============================================================//语法格式:voidFS_CreatFile(void)//实现功能:创建文件//参数:无//返回值:无//=============================================================voidFS_CreatFile(void)30附录{if(0==g_FileNum){CurFileStartSec=FS_START_SEC;CurFileSec=FS_START_SEC;CurFileEndSec=FS_START_SEC;}elseCurFileStartSec=g_FileListArray[g_FileNum-1].EndSec+1;CurFileEndSec=CurFileStartSec;CurFileSec=CurFileStartSec;CurFileOffset=0;}g_FileListArray[g_FileNum].StartSec=CurFileStartSec;g_FileListArray[g_FileNum].EndSec=CurFileEndSec;g_FileListArray[g_FileNum].Offset=CurFileOffset;CurOffset=0;SD_WriteNewBlock(CurFileSec);}//=============================================================//语法格式:voidFS_WritingFile(unsignedint*Buf,unsignedintLen)//实现功能:向文件结尾处连续写入多个字//参数:Buf-待写入的数据缓冲区首地址//Len-待写入的数据的长度//返回值:无//=============================================================voidFS_WritingFile(unsignedint*Buf,unsignedintLen){unsignedinti;Len<<=1;if(Len>=(SD_BLOCKSIZE-CurOffset)){SD_WritingBlockData((unsignedlongint)(SD_BLOCKSIZE-CurOffset),(unsignedchar*)Buf);SD_Writ31附录CurFileSec++;CurFileEndSec=CurFileSec;i=SD_BLOCKSIZE-CurOffset;CurOffset=Len-i;i>>=1;SD_WriteNewBlock(CurFileSec);SD_WritingBlockData((unsignedlongint)CurOffset,(unsignedchar*)&Buf[i]);}else{SD_WritingBlockData((unsignedlongint)Len,(unsignedchar*)Buf);CurOffset+=Len;}}//========================

温馨提示

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

评论

0/150

提交评论