版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
届别2015届学号201015240302毕业设计基于单片机的风力检测系统设计完成时间2015年5月目录TOC\o"1-3"\u摘要 IABSTRACT II1绪论 11.1研究动态 11.2研究意义 12风速风向测量结构及工作原理 22.1风向结构 22.2风向原理 22.3风速结构 32.4风速原理 33硬件设计 53.1风向测量电路的设计 53.2风速测量电路的设计 63.3单片机控制电路的设计 73.4方向北设置键的设计 93.5显示电路的设计 104软件设计 124.1风速测量子程序设计 124.2风向测量子程序设计 124.3总程序流程图 135总结与展望 13致谢 13参考文献 14附录 15摘要风速风向测量是气象监测的重要组成部分,测量风速风向对人类更好地研究及利用风能和改善生活生产有积极的影响。本文介绍了用STC12C5410AD系列单片机设计测量风速风向的数据采集处理系统以及显示模块。该系统采用单片机技术。红外反射式光电传感器采集的数据交给单片机处理,再由LM016L液晶显示屏显示测量的风速值。对于风向该系统采用由风向标和红外反射式光电传感器组成的测量模块,当风向标随风旋转指向某一方位,遮挡该方位红外反射式光电传感器时,获得一个电信号,进而获取当前风向,测量风向通过数码管显示。软件部分的设计采用模块编程,以便今后的维护和改进工作。关键词:红外反射式光电传感器;STC12C5410AD单片机;LM016L液晶显示器ABSTRACTWindspeedanddirectionmeasurementisanimportantpartofmeteorologicalmonitoring,measuringwindspeedanddirectionofhumanbetterstudyanduseofwindpowerproductionandimprovethelifehaveapositiveimpact.
ThispaperintroducesthemeasuringwindspeedanddirectionwithSTC12C5410ADseriessingle-chipmicrocomputerdatacollectionandprocessingsystem,anddisplaymodule.ThesystemUSESsingle-chipcomputertechnology.InfraredreflectiontypephotoelectricsensortocollectdatatoMCUprocessing,againbytheLCDdisplayshowsthemeasuredwindspeedvalue.Isusedbythesystemforthewindvaneandinfraredreflectiontypephotoelectricsensorofmeasuringmodule,wheninthewindvanerotarypointingtoaparticularlocation,keepouttheorientationreflectingtypeofinfraredphotoelectricsensor,obtainanelectricalsignal,andthengetsthecurrentwinddirection,measurethedirectionofthewindthroughdigitaltubedisplay.Thedesignofthesoftwarepartadoptsthemoduleprogramming,convenienttomaintainandimproveinthefuture.Keywords:Theinfraredreflectiontypephotoelectricsensor;STC12C5410ADsinglechipmicrocomputer;LM016LLiquidcrystaldisplay1绪论1.1研究动态1.1.1国外动态研究:近几年来,全球风力发电行业迅速发展,累计装机容量以年均20%以上的速度递增。德意志银行发布的研究报告显示,全球风力发电行业发展正进入迅速发展扩张阶段,风力发电行业保持每年20%的增速,到2015年该行业总价值将达到目前平均水平的5倍以上。风力发电行业在技术上的成熟度和在经济上的可行性,再加上各国政府有不断出台可再生资源的鼓励政策,使得风力发电行业的发展前景相当可观。目前,中、大型风力发电机组已在世界上40多个国家陆地和近海并网运行,风电增长率比其它电源增长率高的趋势仍然继续。据英国路透社网站10月22日报道,全球风能理事会和国际环保组织绿色和平发布报告称,全球风电装机容量到2030年可能增加530%,达到2000吉瓦,为全球提供高达19%的电力。报告称,去年底全球的风电装机容量总计为318吉瓦,为全球提供了大约3%的电力。今年的风电装机容量将再增加45吉瓦,达到363吉瓦。1.1.2国内研究动态:2003年底中国风电装机有50万千瓦,到了2013达到了7千7百万千瓦,2014年超过了9千万千瓦,上升为世界第一的风电大国,十年中我们建立了世界规模最大的风电产业,风电设备制造商,风电开发商开始数量扩张向提高质量,降低全寿命周期,风电的成本方向转变,步入了稳定持续健康发展的阶段。从10月22日举行的2014北京国际风能大会暨展览会上获悉,到今年8月,中国风电的并网容量已经超过8300万千瓦,预计2014年底将接近1亿千瓦,从而提前一年完成“十二五”规划目标,风电发电量占全国比重也将由2008年的0.38%增长到2.52%,连续两年超过核电,成为国内第三大电源。“十三五”期间,将进一步提高可再生能源比重,到2020年,风电发电装机达到2亿千瓦,发电量比重也将达到5%以上,进而可以实现从替补电源到替代电源的转变。1.2研究意义目前,风力发电已成为世界上公认的最接近商业化、市场竞争力最强的可再生能源技术之一,与太阳能和生物能源等其他可再生能源发电技术相比,风能具有产业成熟度高、发电成本低、自然环境和社会环境影响好等优点。然而风力的利用常常因为风量的不稳定,得到变化的交流电,随着风力发电的快速发展,风力的检测也日益被人民所重视起来。如今大部分风力发电机仍然依靠自然风力或者以人工控制方式将风轮至最大风能的方向,才能达到最大的发电效率。但是这两种方法对风速的响应过快,致使风叶的旋转过于频繁,对于发电设施的机械结构很容易造成严重磨损,较大程度上降低了风力发电机的使用寿命,增加了发电机的维护费用,甚至会给发电机留下严重的安全隐患。本论文尝试设计一套实时风速、风向检测的智能风力信息采集系统,采集的数据用以自动调整风力发电机风轮,用于风轮的调整自动化,以期最大限度的改善上述问题。2风速风向测量结构及工作原理STC12C5410AD单片机STC12C5410AD单片机晶振电路显示模块复位电路风速检测模块风速检测模块风向检测模块风向检测模块图1系统结构图2.1风向结构风向测量模块由带扇叶的3/4圆盘、4块红外反射式光电传感器、传输电缆等装置构成。风向测量模块的扇叶通常由高耐候性、高强度、防腐蚀和防水金属制造;传感器采用的是TCRT5000红外反射式光电传感器,传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。图2红外反射式光电传感器2.2风向原理关于风向的测量一般用以下两种方式实现:1、格雷码此类风向传感器的感应组件为前端有辅助标版的单板式风向标。角度变化采用四位格雷码光电码盘。当风向标随风旋转时,通过主轴带动码盘旋转,每转动一定度数,位于码盘上下两侧的四组发光与接收光电器件就会产生一组新的四位并行格雷码,进过整形、倒相后输出。方位-角度-格雷码-二进制码对照表是风向测量单片机编程的重要依据。2、红外反射此类风向传感器主要由风向标和红外反射式光电传感器组成,其中四个或八个红外反射式光电传感器呈对称分布,当风向标随风旋转指向某一方位时,由于遮挡并反射了红外射线,反射的红外射线被传感器上的收光器接收,从而产生一个电信号,进而输出当前风向。本设计采用的是第二种红外反射原理来构成所需风向传感器。2.3风速结构风向测量模块由带三片扇叶圆盘(圆盘有一个小缺口)、1块红外反射式光电传感器、传输电缆等装置构成。风向测量模块的扇叶通常由高耐候性、高强度、防腐蚀和防水金属制造;传感器采用的是TCRT5000红外反射式光电传感器,传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。图3红外传感器结构图2.4风速原理图3红外传感器结构图关于风速的测量常见的方法有以下六种:(1)风杯式风速计:它是最常见的一种风速计。转杯式风速计最早由英国J.T.R.鲁宾孙发明(1846),当时是四杯,后来改用三杯。三个互成120度固定在架上的抛物形或半球形的空杯都顺一面,整个架子连同风杯装在一个可以自由转动的轴上。在风力的作用下风杯绕轴旋转,其转速正比于风速。转速可以用电触点、测速发电机或光电计数器等记录。当风杯转动时,通过主轴带动多齿转盘旋转,使下面光敏三极管接收上面发光二极管照射下来的光线,处于导通或截止状态,形成与风杯转速成正比的频率信号,通过计数器计数,换算后得到实际风速值。(2)热敏式风速计:基于热原理的硅风速传感器,在流体中存在一个热源,通过测量热源周围的温度场分布或热源的热损失,来得到关于流体的信息。硅的热流量传感器有三种工作原理分别为热损失型风速传感器,热温差型风速传感器以及热脉冲型风速传感器热损失型风速传感器一般含有一个单元,其同时作为加热单元和测温单元,热损失型风速传感器测量单个加热单元的总的热损失量。因为大多数材料的电阻率随温度而变化,所以,可以通过测量电阻的变化反映风速的大小。热损失型风速传感器可以工作在恒功率和恒温差两种工作方式。在恒功率下,通过测量加热单元的温度而得到风速大小,恒功率的反应时间取决于加热单元的热电容和传热速率。热温差型一般含有一个加热单元和两个对称的测温单元,当加热表面被不一致的冷却时,对称测温单元能测量对称点的温度,其温度差和风速成一定的函数关系,同时温差的正负符号反映风向的信息;热脉冲型则通过测量脉冲在流体中传输速度反映流体的速度。热线风速计在小风速时灵敏度较高,适用于对小风速测量。(3)皮托管式风速计:标准皮托管是一根弯成直角的金属细管,它由感测头、外管、内管、管柱与全压、静压引出导管等组成。在皮托管头部的顶端,迎着来流开有一个小孔,小孔平面与流体流动方向垂直。在皮托管头部靠下游的地方,环绕管壁的外侧又开了多个小孔,流体流动的方向与这些小孔的孔面相切。顶端的小孔与侧面的小孔分别与两条互不相通的管路相连。进入皮托管顶端小孔的气流压力(称为全压),除了流体本身的静压,还含有流体滞止后由动能转变来的那部分压力,而进入皮托管侧面小孔的气流压力仅仅是流体的静压,根据全压和静压即可求出动压,从而求出流体的流速。(4)超声波式风速计:当超声波在空气中传播时,受到风速的影响,顺风和逆风情况下存在一个时间差,基于这个原理可制成的时差法超声波风速测量仪表。采用超声波进行气体流速测量可以采用三种形式时差法、多普勒法和涡街风速测量。时差法是根据超声波信号顺流传播时间和逆流传播时间之差来计算流速的,最早应用于超声波流量计,它适用于大、中口径管道及敞开水道流量的测量,此法受温度影响比较大。多普勒法适用于不洁净流体的测量,而涡街法适用于管道流体流速的测量。(5)压力式风速计:当风在传播过程中,对阻碍它前进的物体会有一个压力,利用风对阻碍它传播而产生的压力可以制成一个压力传感器。压力传感器把风对它的压力转换成电信号,根据电信号的大小来求出风速的大小。(6)光电式风速计:光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。当风在传播时,风速带动电动机旋转,光电码盘与电动机同轴,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速,从而求出风速值。本设计采用是是第六种光电式风速计,TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。选用的风力传感器主要由仅有小部分缺口的圆盘与三片扇叶组成的风叶,以及TCRT5000红外反射式光电传感器组成。当风吹过来时,风力带动扇叶旋转,扇叶1与风向平行,风对扇叶1的压力在最直于扇叶轴方向上的分力近似为零。扇叶2与3同风向成60度角相交,对扇叶2而言,其面迎着风,承受的风压最大;对于扇叶3,风的绕流作用使其所受风压比扇叶2小,由于扇叶2与扇叶3在垂直于扇叶轴方向上的压力差,而使扇叶开始顺时针方向旋转,风速越大,起始的压力差越大,产生的加速度越大,扇叶转动越快。扇叶开始转动后,由于杯2顺着风的方向转动,受风的压力相对减小,而杯3迎着风以同样的速度转动,所受风压相对增大,风压差不断减小,经过一段时间后(风速不变时),作用在三个扇叶上的分压差为零时,扇叶就变作匀速转动。这样根据扇叶的转速(每秒钟转的圈数)就可以确定风速的大小。扇叶旋转时每旋转一周会露出一次扇叶下方的TCRT5000红外反射式光电传感器。由于未挡住传感器发出的红外射线,无法反射红外射线给传感器的收光器,因而产生一个低电平。低电平信号被单片机接收并给予计数,通过计算公式便能得到当前风的风速大小。3硬件设计3.1风向测量电路的设计TCRT5000红外反射式光电传感器具有一个红外发射管和一个红外接收管.当发射管的红外信号经反射被接收管接收后,接收管的电阻会发生变化,在电路上一般以电压的变化形式体现出来.电阻的变化起取于接收管所接收的红外信号强度,常表现在反射面的颜色和反射面接收管的距离两二方面。本设计主要是应用反射面的颜色来实现信号的接收。四个传感器呈对称方向固定,传感器的上面是个带扇叶的1/2圆盘,圆盘停止的位置,会挡住传感器,然后通过电平的变化就能判断出方向可以准确的输出相对应的风向信息。图4风向测量模块电路图3.2风速测量电路的设计当风吹过来时,风力带动扇叶旋转,扇叶旋转时每旋转一周会露出一次扇叶下方的TCRT5000红外反射式光电传感器。由于未挡住传感器发出的红外射线,无法反射红外射线给传感器的收光器,因而产生一个低电平。低电平信号被单片机接收并给予计数,通过计算公式便能得到当前风的风速大小。图5风速测量模块电路图3.3单片机控制电路的设计单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机是本设计的核心部件之一,所以单片机的选取影响整个系统的性能和系统的设计成本。单片机的选型对系统的反应速度,功耗,系统的复杂程度以及系统的成本等有着直接的影响。本设计选用宏晶科技的STC12C5410AD。STC12C5410系列单片机是由宏晶科技生产的单时钟/机器周期(1T)的兼容8051内核单片机,是高速/低功耗的新一代8051单片机,全新的流水线/精简指令集结构,内部集成MAX810专用复位电路。其主要性能特点如下:
1.增强型1T流水线/精简指令集结构8051CPU
2.工作电压:5.5V‐3.4V(5V单片机)/3.8V‐2.0V(3V单片机)3.工作频率范围:0‐35MHz,相当于普通8051的0‐420MHz4.用户应用程序空间12K/10K/8K/6K/4K/2K字节
5.片上集成512字节RAM
6.通过I/O口(27/23个),复位后为:准双向口/弱上拉(普通8051传统I/O口)
可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏
7.ISP(在系统可编程)/ASP(在应用可编程),无需专用编程器
可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8.EPROM功能
9.看门狗
10.内部集成MAX810专用复位电路(外部晶振20M以下时,可省外部复位电路)
11.时钟源:外部高精度晶体/时钟,内部R/C振荡器
用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟
常温下内部R/C振荡器频率为:5.65MHz~5.95MHz
精度不高时,可选择使用内部时钟,但因为有温漂,应认为是5MHz~6.5MHz
12.共2个16位定时器/计数器
13.PWM(4位)/PCA(可编程计数器阵列),也可用来在实现4个定时器
14.ADC,10位精度ADC,共8路
15.通用异步串行口(UART)
16.SPI同步通信口,主模式/从模式
17.工作温度范围:0‐75℃/-40‐+85℃
18.封装:PDIP—28,SOP—28,PDIP—20,SOP—20,TSSOP—20,PLCC—32
STC12C5410AD单片机中包含中央处理器、程序存储器(Flash)、数据存储器(RAM)、EEPROM、定时/计数器、I/O接口、UART接口和中断系统、SPI接口、高速A/D转换模块、PWM(或捕捉/比较单元)以及硬件看门狗、电源监控、片内RC振荡器等模块。可以说STC12C5410AD单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统(SOC),可以很容易地构成典型的测控系统。表1:引脚功能序号引脚名称功能序号引脚名称功能1P2.2标准I/O15P2.6标准I/O2P2.3标准I/O16P2.7标准I/O3RST复位脚17P3.7/PWM0/PCA0标准I/O口,脉宽调制输出0,可编程阵列输4P3.0/RxD标准I/O口,串口数据接收18P1.0/ADC0标准I/O口,ADC输入通道5P3.1/TxD标准I/O口,串口数据发送19P1.1/ADC1标准I/O口,ADC输入通道6XTAL2内部时钟电路反相放大器的输入端,接外部晶振的另一端。当直接使用外部时钟源,此引脚可浮空。20P1.2/ADC2标准I/O口,ADC输入通道7XTAL1内部时钟电路反相放大器的输入端,接外部晶振的一端。当直接使用外部时钟源,此引脚是外部时钟源的输入端。21P1.3/ADC3标准I/O口,ADC输入通道8P3.2/INTO标准I/O口,外部中断022P1.4/ADC4标准I/O口,ADC输入通道9P3.3/INT1标准I/O口,外部中断123P1.5/ADC5标准I/O口,ADC输入通道10P3.4/T0标准I/O口,定时器/计数器0的外部输入24P1.6/ADC6标准I/O口,ADC输入通道11P3.5/T1/PWM1/PCA3标准I/0口,定时器/计数器1的外部输入,脉宽调制输出1,可编程阵25P1.7/ADC7标准I/O口,ADC输入通道12P2.4/PWM3/PCA3标准I/O口,脉宽调制输出3,可编程阵列输26P2.0/PWM2/PCA2标准I/0口,脉宽调制输出2,可编程阵列输13P2.5标准I/O27P2.1标准I/O2814GND电源负极,接地28VCC电源正极图6单片机引脚图3.4方向北设置键的设计为了更好的测量实时风向,使测量设备能够移动到其他地方使用。从而获得更好的测量效果。本设计采用重新设置方向北来实现,在设备移动到其他地方,各个方位相对设备发生改变时用方向盘挡住其他三个方位的传感器,是方向盘上的叶片处于第四个传感器上方时使之对应正确的方向北,同时按下设置键,从而实现方向北的设置。电路图如图7所示:图7方向北设置键电路图3.5显示电路的设计在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:1、显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。2、数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。3、体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。4、功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。因而为了能够更加直观展示得到的测量结果,本设计选用液晶显示屏来显示得到的测量数值,在此选用的芯片是LM016L。LM016L的特点是:(1)显示容量:16×2个字符(2)芯片工作电压:4.5—5.5V(3)工作电流:2.0mA(5.0V)(4)模块最佳工作电压:5.0V(5)字符尺寸:2.95×4.35(W×H)mm1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2所示:表2:1602LCD引脚接口说明LM016LCD的读写端口接的是单片机的P2.0和P2.1端口,使能端口接的是单片机的P2.2端口,显示器的数据输入端口D0到D7分别接单片机的P1.0到P1.7口。接线示意图如图8:图8LM016LCD电路图4软件设计4.1风速测量子程序设计将T1做为定时器,将T0作为计数器。T1与T0同时工作,如果T1定时1秒,则T0计数值即为此刻风速的10倍。由此可知最终的风速测量精度为0.1m/s。LPC921的两个定时计数器共有5种工作模式,本系统选择模式1,即T0,T1均为16位定时器/计数器,THn和TLn级联,无预分频器。低电平信号计数流程图如右图图9所示:图9低电平信号计数流程图4.2风向测量子程序设计红外反射式光电传感器是把发射器和接收器装入同一个装置内,在其前方装一块反光板,利用反射原理完成光电控制作用的光电传感器。可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体,从而得到电信号。开始开始结束发射器发射信号接收器接收信号显示测量数据启动测量风向模块,由于扇叶挡住红外传感器发射信号,置于下方的接收器收到信号,根据设定值转换,显示出当前风向,测量结束。图10风向测量流程图4.3总程序流程图首先把风速风向测量器置于有风的位置,连接测量器的电源,按下电源开关按钮。风速测量模块获取脉冲,传递给单片机,单片机计数,再根据公式换算成风速。与此同时,风向测量模块工作,得到风向的信息,与风速的信息一起传递给显示器。最后显示器显示测量结果,测量结束。首先把风速风向测量器置于有风的位置,连接测量器的电源,按下电源开关按钮。风速测量模块获取脉冲,传递给单片机,单片机计数,再根据公式换算成风速。与此同时,风向测量模块工作,得到风向的信息,与风速的信息一起传递给显示器。最后显示器显示测量结果,测量结束。开始设定采样周期脉冲计数计算风速风向测量结束显示测量数据图11总程序流程图5总结与展望历时多个月的设计过程中,从最初的查资料,到仿真。在设计过程中,我感觉到即使是一个简单的模块,要想很轻松的设计好,也不是很容易的事情。有时是参数设置的原因,有时可能是接线错误等。这使我深刻地感受到理论与实际间的差距。通过本次设计的制作,较大程度地提高了我的实际动手能力。本设计采用的是stc12c5410ad单片机,这主要是因为该单片机的稳定性比较好,当前比较流行,可供参考资料多。当然还可以采用其它系列的单片机。致谢历时三个月的毕业设计已经告一段落。经过自己不断的搜索努力以及谢光奇老师的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,谢老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。参考文献[1]洪乃刚电力电子技术基础[M].清华大学出版社.2005[2]杨恢先黄辉先单片机原理及应用[M].湘潭大学出版社.2013[3]席军风力发电技术的研究现状[J].科技创新与应用.2013[4]百度百科[5]中国行业研究网[6]中国风力发电网环球网[8]赵月飞,郭会平,胡仁喜Protel99se基础与实例教程[M].机械工业出版社[9]顾兴海,高富强,张帆风速测量系统设计[J].微计算机信息.2005(01)[10]郑志强风速监测仪表的改进探讨[J].电子质量.2002(07)[11]张永枫单片机应用实训教程[M].西安电子科技大学出版社,2005[12]李叶紫等MCS-51单片机应用教程[M].清华大学出版社,2004[13]冯澜,万军红风速与风力智能测定装置的设计[J].上海电机学院学报.2005(03)[14]王益祥,王聿彪,周勇新型风速测量装置设计
[J].自动化仪表.2008(03)[15]刘艳华,李富余,张宏升,陈重,康凌,张霭琛超声风速仪与三轴风速仪测风的比较研究[J].气象水文海洋仪器.2003(03)[16]梁宇飞风电机组风速风向仪未来发展趋势研究[J].风能.2013(12)[17]刘立军矿用手持便携式风速智能测量仪的设计研究[J].煤炭技术.2009(09)[18]陈梅,洪飞,李鑫,许正荣风速风向传感器在风机控制中的应用与研究[J].自动化技术与应用.2008(04)[19]邵玫基于单片机的风速检测系统
[J].华电技术.2008(06)[20]程为基于单片机的风速风向检测系统设计
[J].自动化技术与应用.2010(08)附录系统源程序:主程序:/************************************************单片机型号:STC12C5410AD*外部晶振频率:12M***********************************************/#include"STC12C5410AD.h"#include"1602.h"#include"Init.h"sbitled=P3^7;//01234567unsignedchar*table2[]={"N","NE","E","SE","S","SW","W","NW"};//显示方向数组unsignedintready;//允许外部中断标志//unsignedintspeed_count;unsignedintt_count,t;//单位时间记的个数unsignedintt_th,t_tl;//unsignedcharn_temp,e_temp,w_temp,s_temp;unsignedcharstate,n;voidmain(){InitDisplay();//初始化LCD1602Timer0_init();//初始化定时器0INT0_Init();//初始化外部中断0ready=0;//speed_count=0;t_count=0;t_th=0;t_tl=0;EA=1;//开总中断state=0;//n_temp=0;//e_temp=0;//w_temp=0;//s_temp=0;n=0;while(1){led=1;switch(state){case0:state+=1;break;case1:{if(t<1)WriteCharacter(0x00,"speed:***cm/s");elseif(t_count>2000)//超过2秒钟,则速度显示为0{WriteCharacter(0x00,"speed:0cm/s");//显示速度timer0_stop();//停止定时器t_count=0;//清零计数标志t=0;//清零计数缓存}else{display(25120/t);//周期的倒数就是频率//WriteAscii(1,1,(t/100)+48);//WriteAscii(2,1,(t%100)/10+48);//WriteAscii(3,1,(t%10)+48);//display(t);//周期的倒数就是频率风速=2*π*r/t=2*3.14*4cm/t}if(k1==1){if(k2==1)//根据设定的方向显示,默认为table2[1]{if(n>0)WriteCharacter(0x40+10,table2[8+1-n]);elseWriteCharacter(0x40+10,table2[1-n]);//WriteCharacter(0x40,table2[1]);}elseif(k4==1)//根据设定的方向显示,默认为table2[7]{//if(n>0)//WriteCharacter(0x40+10,table2[7-n]);//elseWriteCharacter(0x40+10,table2[7-n]);//WriteCharacter(0x40,table2[7]);}else{if(n>0)//根据设定的方向显示,默认为table2[0]WriteCharacter(0x40+10,table2[8+0-n]);elseWriteCharacter(0x40+10,table2[0-n]);//WriteCharacter(0x40,table2[0]);}}if(k2==1){if(k3==1)//根据设定的方向显示,默认为table2[3]{if(n>2)WriteCharacter(0x40+10,table2[8+3-n]);elseWriteCharacter(0x40+10,table2[3-n]);//WriteCharacter(0x40,table2[3]);}elseif(k1==1)//根据设定的方向显示,默认为table2[1]{if(n>0)WriteCharacter(0x40+10,table2[8+1-n]);elseWriteCharacter(0x40+10,table2[1-n]);//WriteCharacter(0x40,table2[1]);}else{if(n>2)WriteCharacter(0x40+10,table2[8+2-n]);elseWriteCharacter(0x40+10,table2[2-n]);//WriteCharacter(0x40,table2[2]);}//根据设定的方向显示,默认为table2[2]}if(k3==1){if(k4==1)//根据设定的方向显示,默认为table2[5]{if(n>4)WriteCharacter(0x40+10,table2[8+5-n]);elseWriteCharacter(0x40+10,table2[5-n]);//WriteCharacter(0x40,table2[5]);}elseif(k2==1)//根据设定的方向显示,默认为table2[3]{if(n>4)WriteCharacter(0x40+10,table2[8+3-n]);elseWriteCharacter(0x40+10,table2[3-n]);//WriteCharacter(0x40,table2[3]);}else{if(n>4)WriteCharacter(0x40+10,table2[8+4-n]);elseWriteCharacter(0x40+10,table2[4-n]);//WriteCharacter(0x40,table2[4]);}//根据设定的方向显示,默认为table2[4]}if(k4==1){if(k1==1)//根据设定的方向显示,默认为table2[7]{//if(n>0)//WriteCharacter(0x40+10,table2[7-n]);//elseWriteCharacter(0x40+10,table2[7-n]);//WriteCharacter(0x40,table2[7]);}elseif(k3==1)//根据设定的方向显示,默认为table2[5]{if(n>4)WriteCharacter(0x40+10,table2[8+5-n]);elseWriteCharacter(0x40+10,table2[5-n]);//WriteCharacter(0x40,table2[5]);}else{if(n>6)WriteCharacter(0x40+10,table2[8+6-n]);elseWriteCharacter(0x40+10,table2[6-n]);//WriteCharacter(0x40,table2[6]);}//根据设定的方向显示,默认为table2[6]}}break;case3:{state=0;}break;default:{state=0;}break;}if(set_key==0)//方向设置键{delay(10);//10msif(set_key==0){while(set_key==0){if(k2==1&(k3==0&k4==0&k1==0)){n=2;WriteCharacter(0x40+10,"OK");}//设定K2为北if(k3==1&(k4==0&k1==0&k2==0)){n=4;WriteCharacter(0x40+10,"OK");}//设定K3为北if(k4==1&(k1==0&k2==0&k3==0)){n=6;WriteCharacter(0x40+10,"OK");}//设定K4为北if(k1==1&(k2==0&k3==0&k4==0)){n=0;WriteCharacter(0x40+10,"OK");}//设定K1为北//led=0;}}}}}/*********************************************************************外部中断0********************************************************************/voidINT0_int()interrupt0{timer0_stop();t=t_count;//保存计数t_count=0;timer0_begin();}/*********************************************************************定时器0中断********************************************************************/voidtimer0()interrupt1{timer0_begin();//启动定时器并初始化t_count++;//定时器计数累加}显示模块:/********************************************1602详细的时序控制参照手册*******************************************/#include"1602.h"//unsignedchartable1[]={'n','a','e','b','s','c','w','d'};//unsignedchar*table2[]={"south","east","west","north"};//******************************************//*获取LCD的状态寄存器,并判断是否busy//*状态寄存器:BUSY0ON/OFFRESET0000//******************************************voidCheckState(){unsignedcharrlt;RS=0;RW=1;LCD_DATA=0xff;do{EN=1;rlt=LCD_DATA;EN=0;}while(rlt&0x80);}//******************************************//*写LCD控制命令//******************************************voidWriteCmd(unsignedcharcmd){CheckState();RS=0;RW=0;LCD_DATA=cmd;EN=1;EN=0;}//******************************************//*写LCD数据//******************************************voidWriteData(unsignedchardat){CheckState();RS=1;RW=0;LCD_DATA=dat;EN=1;EN=0;}//******************************************//*LCD初始化//******************************************voidInitLCD(){AK=1;WriteCmd(0x38);//设置8位格式,2行,5x7WriteCmd(0x0c);//整体显示,关光标,不闪烁WriteCmd(0x06);//设定输入方式,增量不移位WriteCmd(0x01);//清除屏幕显示}//*******************************************************************//*显示ASCII8*16//*x:坐标0~7//*y:坐标0~127//*cd:ASCII显示的码值//*******************************************************************voidWriteAscii(unsignedcharx,unsignedchary,unsignedcharcd){unsignedcharaddress;if(y==1)address=0x80+x;elseaddress=0xc0+x;WriteCmd(address);WriteData(cd);}//*******************************************************************//*显示ASCII8*16//*x:坐标0~7//*y:坐标0~127//*cd:ASCII显示的码值//*******************************************************************voidW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中小学校长职业聘用协议示例(2024版)版B版
- 2024版劳动合同乌鲁木齐
- 个人对个人汽车租赁合同样本2024版B版
- 西华师范大学《工程地质》2023-2024学年第一学期期末试卷
- 二零二五版城市公交出租车服务承包管理合同3篇
- 无锡学院《水声学原理》2023-2024学年第一学期期末试卷
- 2024版建筑工程保险条款标准协议样本版B版
- 二零二五版合同能源服务与节能技术研发合作协议3篇
- 二零二五年酒店客房用品绿色包装设计采购合同2篇
- 专业集装箱订制服务协议2024版版A版
- 调解行业可行性分析报告
- 科创板知识题库试题及答案
- 《血管活性药物静脉输注护理》团体标准解读
- GB/T 3324-2024木家具通用技术条件
- NGS二代测序培训
- 《材料合成与制备技术》课程教学大纲(材料化学专业)
- 小红书食用农产品承诺书示例
- 钉钉OA办公系统操作流程培训
- 新生儿科年度护理质控总结
- GB/T 15934-2024电器附件电线组件和互连电线组件
- 《工贸企业有限空间作业安全规定》知识培训
评论
0/150
提交评论