已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于AVR单片机的智能气象信息采集系统摘要本文从气象数据采集的实际出发,对气象数据的采集、传输以及处理过程进行了研究。提出并设计了一种基于单片机的智能气象数据采集系统,完成了系统的硬件和软件设计。分别介绍了各个模块的电路图,并给出了系统的硬件原理图和软件设计方案。该系统以ATMEL公司推出的AVR单片机为核心,构建了针对温、压、湿等基本气象要素的采集系统。系统采用无线方式将采集到的气象数据传输至上位机,以供显示、分析和储存。数据采集端由光伏电源供电,满足了长期观测的需要。关键字温湿度测量AVR单片机NRF401RS232RS485串行通信光伏电源一引言随着我国经济社会的发展,工农业生产对气象信息的需求日益加大。农业农情灌溉气象环境指标监测、森林火险气象指标监测、各种突发性灾害性天气的快速响应和现场监控均需要对气象信息进行实时采集和分析。本系统采用DS18B20、HS1101等高精度传感器,低功耗高性能的ATMEGA16单片机,数字无线收发芯片NRF401;数据采集端配备光伏电源系统,通过数据采集、传送与处理从而实现全天候检测周遭环境的温度、湿度、气压等气象要素;工作方式灵活,可现场通过1602液晶显示器显示测得数据,也可采用无线通信的方式将数据传送至计算机。二系统设计系统设计包括数据采集端,数据传输,数据处理,光伏电源四个部分。系统工作原理概述上位机定时发出检测指令,下位机通过无线数传模块接收到检测指令后,开始检测气象数据;检测结束后立即再通过无线数传模块把数据发往上位机,然后上位机软件以图形化的界面显示、分析并储存气象数据。现场显示气象数据时无线数传模块被关闭,下位机即数据采集端独立运行,不依赖于上位机发出的检测指令,依次显示采集到的气象数据。系统框图温度传感器图21下位机数据采集原理框图图22上位机数据接收原理框图21数据采集数据采集模块负责完成对气象信息的采集和转换。以ATMEL公司的AVR单片机ATMEGA16为核心。ATMEL公司的AVR单片机,是增强型RISC内载FLASH的单片机芯片上的FLASH存储器附在用户的产品中,可随时编程再编程,使用的产品设计容易,更新换代方便AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHZ湿度传感器气压传感器AVR单片机1602液晶显示NRF401单片射频收发器PTR2000天线MAX232电平转换PC机软件充放电控制器太阳能电池蓄电池NRF401单片射频收发器PTR2000天线供电充放电控制信号可实现1MIPS的处理能力AVR单片机工作电压为2760V,可以实现耗电最优化AVR的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。ATMEGA16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATMEGA16的数据吞吐率高达1MIPS/MHZ,从而可以缓减系统在功耗和处理速度之间的矛盾。ATMEGA16AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元ALU相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATMEGA16有如下特点16K字节的系统内可编程FLASH具有同时读写的能力,即RWW,512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器T/C,片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益TQFP封装的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;STANDBY模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展STANDBY模式下则允许振荡器和异步定时器继续工作。本芯片是以ATMEL高密度非易失性存储器技术生产的。片内ISPFLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用FLASH存储区APPLICATIONFLASHMEMORY。在更新应用FLASH存储区时引导FLASH区BOOTFLASHMEMORY的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的FLASH集成在一个芯片内,ATMEGA16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATMEGA16具有一整套的编程与系统开发工具,包括C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。ATMEGA16产品特性高性能、低功耗的8位AVR微处理器先进的RISC结构131条指令大多数指令执行时间为单个时钟周期32个8位通用工作寄存器全静态工作工作于16MHZ时性能高达16MIPS只需两个时钟周期的硬件乘法器非易失性程序和数据存储器16K字节的系统内可编程FLASH擦写寿命10,000次具有独立锁定位的可选BOOT代码区通过片上BOOT程序实现系统内编程真正的同时读写操作512字节的EEPROM擦写寿命100,000次1K字节的片内SRAM可以对锁定位进行编程以实现用户程序的加密JTAG接口与IEEE11491标准兼容符合JTAG标准的边界扫描功能支持扩展的片内调试功能通过JTAG接口实现对FLASH、EEPROM、熔丝位和锁定位的编程外设特点两个具有独立预分频器和比较器功能的8位定时器/计数器一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器具有独立振荡器的实时计数器RTC四通道PWM8路10位ADC8个单端通道TQFP封装的7个差分通道2个具有可编程增益(1X,10X,或200X)的差分通道面向字节的两线接口两个可编程的串行USART可工作于主机/从机模式的SPI串行接口具有独立片内振荡器的可编程看门狗定时器片内模拟比较器特殊的处理器特点上电复位以及可编程的掉电检测片内经过标定的RC振荡器片内/片外中断源6种睡眠模式空闲模式、ADC噪声抑制模式、省电模式、掉电模式、STANDBY模式以及扩展的STANDBY模式I/O和封装32个可编程的I/O口40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装工作电压ATMEGA16L2755VATMEGA164555V速度等级08MHZATMEGA16L016MHZATMEGA16ATMEGA16L在1MHZ,3V,25C时的功耗正常模式11MA空闲模式035MA掉电模式1A本设计中主要用到ATMEGA16的片内ADC、定时/计数器、I/O口输入输出控制、可编程串行USART等。211温度测量温度信号采集采用美国DALLAS公司生产的DS18B20芯片。DSL8B20是一线数字温度传感器,每片DS18B20都有全球惟一的识别号,可轻松地组建传感器网络,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量。测量温度范围为55C125C,支持3V55V的电压范围,可以程序设定912位的分辨率。DS18B20芯片的管脚简单,它无需任何外围硬件即可方便地进行温度测量,与单片机交换信息仅需要一根I/O口线,如图23图23控制器对DS18B20操作流程1,复位首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480US的低电平信号。当DS18B20接到此复位信号后则会在1560US后回发一个芯片的存在脉冲。2,存在脉冲在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560US后接收存在脉冲,存在脉冲为一个60240US的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与DS18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。3,控制器发送ROM指令双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个DS18B20芯片时可以跳过ROM指令(注意此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。ROM指令在下文有详细的介绍。4,控制器发送存储器操作指令在ROM指令发送给DS18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令DS18B20作什么样的工作,是芯片控制的关键。5,执行或数据读写一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待DS18B20执行其指令,一般转换时间为500US。如执行数据读写指令则需要严格遵循DS18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500US温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。其它的操作流程也大同小异,在此不多介绍。DSL8820的程序设计DSL8B20在使用时,硬件连接非常简单。只需将DSL8B20信号线与处理器L位IO线相连。但对ATMEGA16来说,硬件上并不支持单总线协议,因此,必须采用软件的方法来模拟单总线的协议时序来完成对DSL8B20芯片的访问。1、DSL8B20初始化程序根据DSL8B20的1WIRE协议,处理器首先向DQ发出低电平复位脉冲,宽度在480US到960US之间,然后恢复DQ的高电平,在200US之内,等待由DSL8B20发出的应答脉冲。如果DQ被下拉为低电平,则DSL8B20初始化成功,设备就位。2、DSL8B20写入程序对DSL8B20的写入是在DQ为1的情况下置位O,延时1US以上,随后写入数据位,延时60US,DQ再置为L,各位逐位写入。3、DSL8B20读出程序同DSL8B20的写入相似,先下拉DQ为0,延时1US以上,随后从DQ上读入数据位,延时60US,DQ再置为L,完成一位数据的读取。4、DSL8B20温度采集程序程序开始先进行DSL8B20复位,不成功则返回错误代码0XFFFFFFFF,然后向DSL8B20写入跳出ROM命令CCH和温度转换命令44H,经延时750US等待DSL8B20充分完成温度转换。再进行一次复位后,通过对其发送温度读取命令BEH,即可调用数据读取子程序得到刚刚转换的温度数据。ICC代码示例READ_TEMPERATUREVOIDINIT_DS18B20/DS18B20初始化WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0X44/启动温度转换INIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0XBE/读取温度寄存器TELREADONECHAR/温度低8位TEHREADONECHAR/温度高8位DS18B20温度转换方法读取到的温度值高八位如果大于0X07则温度值为负,应取反加一后乘以0625。温度值高八位如果小于0X07则温度值为正,直接乘以0625即可。图24典型温度值的二进制,十六进制数据对照表222湿度测量湿度测量采用HS1101。湿度传感器HS1101是法国HUMIREL生产的电容式湿度传感器。HS1101是一种在高分子薄膜上形成的电容。高分子薄膜上的电极是很薄的金属微孔蒸发膜,水分子可通过两端的电极被高分子薄膜吸附或释放,随着这种水分子的吸附或释放,高分子的介电系数将发生相应的变化。由于介电系数随空气的相对湿度变化而变化,所以只要测定电容C值就可得相对湿度。HS1101是基于独特工艺设计的固态聚合物结构,在电路中等效于一个电容器CX,其电容随所测空气的相对湿度增大而增大。具有极好的线性输出,在相对湿度为0100RH的范围内,电容的容量由163PF变化到202PF,其误差不大于2RH湿度量程为199RH,工作温度范围为40100湿度输出受温度影响极小温度系数仅为004PF/C常温使用无需温度补偿,无需校准相对湿度在3375RH之间,电容与相对湿度的变化为034PF/RH,相对湿度为55RH时的典型电容值约182PF高可靠性及长期稳定性,年漂移量05RH/年响应时间小于5S采用电容/频率转换电路进行湿度检测,将湿敏电容CX置于振荡电路之中,电路如图25所示。将湿度的变化转换为方波振荡频率变化,该频率信号可以直接被微处理器采集。图25HS1101典型应用电路上图中输出的方波信号可直接被ATMEGA16采集,连续测量一定数量周期所经历的时间,进而可计算出频率值。典型湿度频率值对照表223气压测量本设计要测量的是绝对气压值,为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的气压传感器。经综合考虑,本设计选用美国摩托罗拉公司的集成压力传感芯片MPX4105作为气压传感器。MPX4105可产生于所加气压呈线性关系的高精度模拟输出电压,它具有以下特点供电范围485535V,典型值为51V。测量范围15105KPA。工作温度范围085。温度补偿范围40125。测量精度为17VFSS最低气压对应的输出电压VOFF为01840428V,典型值为0306V;最高气压对应的输出电压VOFF为48044988V,典型值为4896V;满刻度输出电压间距VFSS的典型值为4590V。理想的微处理器接口。被测气压经过气压传感器MPX4105转换成电压输出,输出电压VOUT和大气压P有如下关系VOUTVCC001P009输出的模拟电压可输入ATMEGA16的片内ADC转换成相应电压,再根据以上转换关系即可得出要测的气压值。图26MPX4105与AVR单片机的连接方式ICC代码示例ADCVOID/单次AD转换10位精度UNSIGNEDCHARADCL,ADCHFLOATADC0ADMUX|0X40/参考电压AVCC转换结果右对齐输入端ADC0ADCSRA|1ADEN|1ADPS2/使能AD转换ADC16预分频ADCSRA|1ADSC/启动单次转换WHILE0XEF|ADCSRA/等待转换完成ADCLADCLADCHADCH/读取转换值ADC5000/1024ADCH256ADCL/10位精度参考电压5000MVRETURNADC;2241602液晶现场显示1602属于工业字符型液晶,能够同时显示1602即32个字符。(16列2行)。引脚说明1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC15脚和地线GND16脚,其控制原理与14脚的LCD完全一样。详细说明如下引脚符号功能说明1VSS一般接地2VDD接电源(5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平1时进行读操作,低电平0时进行写操作。6EE或EN端为使能ENABLE端,下降沿使能。7DB0底4位三态、双向数据总线0位(最低位)8DB1底4位三态、双向数据总线1位9DB2底4位三态、双向数据总线2位10DB3底4位三态、双向数据总线3位11DB4高4位三态、双向数据总线4位12DB5高4位三态、双向数据总线5位13DB6高4位三态、双向数据总线6位14DB7高4位三态、双向数据总线7位(最高位)(也是BUSYFLANG)15BLA背光电源正极16BLK背光电源负极寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读BUSYFLAG(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据字符集1602液晶模块内部的字符发生存储器(CGROM已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。显示地址1234567891011121314151600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH写显示位置时要求数据最高位D7恒为高电平,例如,要在第一行第二列显示一字符,此位置地址为01H,则应先写入数据81H,再写入字符数据。基本操作时序1读状态输入RSL,RWH,EH输出D0D7状态字2写指令输入RSL,RWL,D0D7指令码,E上升沿3读数据输入RSH,RWH,EH输出D0D7数据4写数据输入RSH,RWL,D0D7数据,E上升沿(每次对控制器进行读写操作之前,都必须进行读写忙检测,确保STA7即D7为0)初始化过程(复位)1写指令38H显示模式设置2延时5MS3写指令0FH开显示,有光标且光标闪烁4延时5MS5写指令06H设置为光标右移,文字不动6延时5MS7写指令01H清除显示8延时5MS可通过按键设置为1602现场显示气象数据或是设置为无线传输数据至上位机,两种方式选择一种则另一种被关闭以减省功耗。23数据传输本设计中采用无线方式传输数据,选用的无线传输模块为PTR2000,它是一种超小型、低功耗、高速率的无线收发数据传输模块,使用的是挪威NORDIC公司推出的NRF401无线通信芯片。该芯片使用了433MHZIGM频段,是真正的单片UHF无线收发一体芯片。采用抗干扰能力较强的FSK调制/解调方式,其工作频率稳定可靠、外围元件少、功耗极低且便于设计生产,这些优异特性使得PTR200非常适合于便携及手持产品的设计。另外,由于它采用了低发射功率、高灵敏度设计,因而可满足无线管制的要求且无需使用许可证,是目前低功率无线数传的理想选择。PTR2000的主要特征如下该器件将接收和发射合接为一体;工作频率为国际通用的数传频段433MHZ;采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;采用DDS(直接数据合成)PLL频率合成技术,因而频率稳定性极好;灵敏度高达105BBM工作电压低(最低27V),功耗小,接受待机状态电流仅为8A;具有两个频道,可满足需要多信道工作的场合;工作数率最高达20KBIT/S也可在较抵速率下工作,如9600BPS超小体积,约40275MM3可直接与单片机串口进行连接,也可以用RS232与计算机接口,软件编程非常方便;标准的DIR引脚间距更适合于嵌入式设备;由于采用了低发射功率、高接收灵敏的设计,因此使用时无需申请许可证,开阔地时的使用距离最远可达1000米。PTR2000引脚排列及功能PTR2000模板的引脚排列如图1所示。各引脚的功能说明如下;VCC(1脚);下输入端,电压范围为27525V;CS(2脚)频道选择端。CS0时,选择工作频道1,即43392MHZ频道;CS1,芯片工作于频道二,即43433MHZDO(3脚)数据输出端;DI(4脚)数据输入端GND(5脚)电源地PWR(6脚)低功耗控制端。当PWR1时,模块处于正常工作状态,PWR0时,模块处于待机微功耗状态;TXTN(7脚)发射/接收控制端。当TXTN1时,模块为发射状态;当TXTN0时,模块被设置为接受状态。PTR2000可与所有单片机配合使用,可直接接单片机的串口或I/O口,也可与计算机串口进行通讯,此时需要在中间简单地接在一个RS232电平转换芯片,如MAX232等。图27PTR2000与计算机串口的典型连接方式ATMEGA16串行通信ATMEGA16的通用同步和异步串行接收器和转发器USART是一个高度灵活的串行通讯设备。主要特点为全双工操作独立的串行接收和发送寄存器异步或同步操作主机或从机提供时钟的同步操作高精度的波特率发生器支持5,6,7,8,或9个数据位和1个或2个停止位硬件支持的奇偶校验操作数据过速检测帧错误检测噪声滤波,包括错误的起始位检测,以及数字低通滤波器三个独立的中断发送结束中断,发送数据寄存器空中断,以及接收结束中断多处理器通讯模式倍速异步通讯模式ICC代码示例VOIDUART_INITUNSIGNEDINTBAUD/串行通信初始化UCSRB0X00/UART收发允许中断允许UCSRA0X02/收发完成,错误状态寄存器清零/设为双倍速减小波特率设置误差UCSRC1URSEL|0UPM0|3UCSZ0/通信模式设置寄存器选择UCSRC,异步模式,禁止校验,1位停止位,8位数据位BAUDMCLK/8/BAUD1UBRRLBAUD256UBRRHBAUD/256/设置波特率UCSRB1TXEN|1RXEN|1RXCIE/接收、发送使能,接收中断使能SREGBIT7/全局中断开放DDRD|0X02/配置TX为输出RS232VB串口通信VB中可利用MSCOMM控件实现串行通信,VB的MSCOMM控件提供了两种处理通信的方式一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSCOMM控件会产生ONCOMM事件,用户程序可以捕获该事件进行相应处理。另一种为查询方式,在用户程序中设计定时或不定时查询MSCOMM控件的某些属性是否发生变化,从而确定相应处理。在程序空闲时间较多时可以采用该方式。利用MSCOMM控件实现计算机通信的关键是理解并正确设置MSCONUN控件众多属性和方法。以下是MSCOMM控件的常用属性和方法1COMMPORT设置或返回串口号。2SETTINGS以字符串的形式设置或返回串口通信参数。3PORTOPEN设置或返回串口状态。4INPUTMODE设置或返回接收数据的类型。5INPUREN设置或返回一次从接收缓冲区中读取字节数。6INBUFFERSIZE设置或返回接收缓冲区的大小,缺省值为1024字节。7INBUFFERCOUNT设置或返回接收缓冲区中等待计算机接收的字符数。8INPUT从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。9OUTBUFFERSIZE设置或返回发送缓冲区的大小,缺省值为512字节。10OUTBUFFERCOUNT设置或返回发送缓冲区中等待计算机发送的字符数。11OUTPUT向发送缓冲区发送数据,该属性设计时无效。运行时只读。12RTHRESHOLD该属性为一阀值。当接收缓冲区中字符数达到该值时,MSGOMM控件设置CONUNEVENT属性为COMEVRECEIVE。并产生ONCOMM事件。用户可在ONCOMM事件处理程序中进行相应处理。若RTHRESHOLD属性设置为0。则不产生ONCOMM事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将RTHRESHOLD设置为1。这样接收缓冲区中接收到一个字符,就产生一次ONCOMM事件O13STHRESHOLD该属性亦为一阀值。当发送缓冲区中字符数小于该值时。MSCOMM控件设置COMMEVENT属性为COMEVSEND,并产生ONCOMM事件。若STHRESHOLD属性设置为0,则不产生ONCOMM事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生ONCOMM事件。其后就不再产生ONCOMM事件。例如STHRESHOLD设置为3,仅当发送缓冲区中字符数从3降为2时,MSCOMM控件设置COMMEVENT属性为COMEVSEND,同时产生ONCOMM事件。如发送缓冲区中字符始终为2,则不会再产生ONCOMM事件;这就避免了发送缓冲区中数据未发送完就反复发生ONCOMM事件。14COMMEVENT这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSCOMM控件为COMMEVENT属性赋于不同的代码,同时产生ONCOMM事件。用户程序就可在ONCONUN事件处理程序中针对不同的代码,进行相应的处理。23数据处理上位机软件用VISUALBASIC语言编写,上位机软件接收到测得数据后进行转换,显示和储存。上位机软件接收到采集得的数据后可显示在软件界面上,绘制出温度、湿度及气压随时间的变化曲线。还可根据需要在上位机中储存气象数据,以供长期气象的监测和分析。24光伏电源下位机采用节能环保的光伏电源供电。光伏发电的基本原理就是利用光电效应,将太阳辐射能直接转换成电能。当太阳光或其他光照射到太阳能电池上时,电池吸收光能,产生光生电子一空穴对。在电池内建电场作用下,光生电子和空穴被分离,电池两端出现异号电荷的积累,即产生“光生电压”。若在内建电场的两侧引出电极,并接上负载,则负载就有“光生电流”流过。太阳能电池板受环境的影响输出电压不稳定,所以一般不单独作为电源使用,要配合充放电控制器和蓄电池才能为负载提供稳定的电源。本设计中光伏电源主要包括以下三个部分太阳能电池板光伏电源的核心部分,将太阳能直接转换成电能。充放电控制器快速、平稳、高效地为蓄电池充电,同时保护蓄电池,避免过放和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 福建省漳平市焊工操作证理论考试参考题库-含答案
- 2026 电网继电保护运维作业理论考试参考题库-含答案
- 精彩名著竞赛题目与答案呈现
- 民法试题及答案资料集
- 专升本中医内科学试题及答案
- 7 田忌赛马 课件(内嵌视频)2026-2027学年语文四年级上册统编版
- 2026年商南县网格员招聘笔试参考题库及答案解析
- 2026年乐东黎族自治县中小学幼儿园教师招聘考试备考试题及答案解析
- 2026年淮南市洞山中学北校区秋季编外聘用教师公开招聘考试备考题库及答案详解
- 2026河北唐山迁安市招聘公益性岗位笔试备考试题及答案详解
- 2025-2026学年全国初中八年级数学竞赛模拟卷(解析版八年级全国)
- 4.1人的认识从何而来 课件 2025-2026学年统编版高中政治必修四哲学与文化
- 江苏苏州市2025-2026学年七年级上学期期中阳光测试语文卷(无答案)
- 应急演练组织与实施方法
- 2025年北森人才综合测评试题及答案
- 设备维修部门绩效考核与提成办法
- 中止施工期间安全保障措施方案
- 煤粉管道测厚施工方案
- 2025年合肥市社会化工会工作者招聘34人笔试备考题库及答案解析
- 2025至2030中国家政服务行业市场深度分析及前景趋势与投资管理报告
- 2025年秋季高一数学开学第一课课件
评论
0/150
提交评论