传感器课程设计台风监测_第1页
传感器课程设计台风监测_第2页
传感器课程设计台风监测_第3页
传感器课程设计台风监测_第4页
传感器课程设计台风监测_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

传感器课程设计报告台风监测目录TOC\o"1-5"\h\z\o"CurrentDocument"前言 3\o"CurrentDocument"1设计思路 42传感器选择: 4\o"CurrentDocument"3模具制作: 8\o"CurrentDocument"3.1材料 8\o"CurrentDocument"设计模板 8\o"CurrentDocument"4程序设计: 104.1设计思路 10主程序(STC89C52) 11\o"CurrentDocument"程序框图: 11\o"CurrentDocument"主程序原代码 11\o"CurrentDocument"4.3中断程序 13\o"CurrentDocument"中断程序流程图 13\o"CurrentDocument"中断程序源代码 134.4LCD1602程序 14\o"CurrentDocument"LCD1602硬件原理 14\o"CurrentDocument"显示流程图 17\o"CurrentDocument"4.4.3显示驱动程序 17\o"CurrentDocument"设计硬件 24\o"CurrentDocument"时钟电路 24\o"CurrentDocument"复位电路 24LCD1602电路 25整体硬件原理图: 26PCB原理图 26\o"CurrentDocument"总结 27基于AT89C52的台风风速测量——模具制作与软件程序设计前言近年来,在全球气候变暖背景下,全球高影响台风事件频发,灾害影响Et趋严重。在我国,以登陆台风为代表的极端天气事件呈明显增多的趋势,登陆台风的平均强度明显增强、强台风数量明显增多,台风登陆时间更加集中、登陆季节明显缩短。随着近年来高大建筑物的增多,对于台风等自然灾害对其影响的问题逐渐显现,抗风减灾成为一个热门的研究课题,从而需要专门针对高大建筑物的监测系统来实现安全监测任务。风是大自然普遍存在的,而风这一定义的出现以及开始进行测量则是有很久的历史,在奴隶社会初期,我国的人们就开始进行简单的测量以及判断,只是那个时候的测量方法是通过旗帜来判断的,一旗帜飘扬的方向以及平率来进行判断风向风速,这种方法只能进行简单的判断,而在东汉的进一步发展将风向风速的测量有一定的发展,但是在进行测量的时候依旧是只能进行判断,而无法得出准确的值,但是现在使用传感器来进行测量就能够了解到某一时刻的准确的风向风速,同时还能进行计算某一段的风向风速的平均值。目前,在工农业生产领域,工厂的自动流水生产线,全自动加工设备,都大量地采用了各种各样的传感器,它们在合理化地进行生产,减轻人们的劳动强度,避免有害的作业发挥了巨大的作用。在军事国防领域,各种侦测设备,红外夜视探测,雷达跟踪、武器的精确制导,没有传感器是难以实现的。在航空航天领域,空中管制、导航、飞机的飞行管理和自动驾驶,仪表着陆盲降系统,都需要传感器。人造卫星的遥感遥测都与传感器紧密相关。没有传感器,要实现这样的功能那是不可能的。国内外使用的传感器及其部件大多以机械的为主,此类传感器一般是体积大,测量精度不高,响应时间长,灵敏度低,价格昂贵。而且,它们的电路复杂,占用面积大。为了使传感器的测量精度,稳定性和可靠性都较高,同时避免繁琐的机械传动,传感器的研究方向已经向着小型化,低功耗,集成化,智能化方向发展。1设计思路本文针对风杯的转速进行测量,以单片机为核心对光电开关产生的数字信号进行运算,从而测得的转速,然后用1602LCD液晶显示屏把转动频率显示出来。即通过光电开关将转动的频率转换成0,1的数字量,只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数和计算,就可获得转速的信息,从而计算风速的大小。风杯式风速计:它是最常见的一种风速计。转杯式风速计最早由英国J.T.R•鲁宾孙发明(1846),当时是四杯,后来改用三杯。三个互成120度固定在架上的抛物形或半球形的空杯都顺一面,整个架子连同风杯装在一个可以自由转动的轴上。在风力的作用下风杯绕轴旋转,其转速正比于风速。转速可以用电触点、测速发电机或光电计数器等记录。当风杯转动时,通过主轴带动多齿转盘旋转,使下面光敏三极管接收上面发光二极管照射下来的光线,处于导通或截止状态,形成与风杯转速成正比的频率信号,通过计数器计数,换算后得到实际风速值。结构框图:信息米集2传感器选择:这种光电传感器工作原理是将砷化镓红外发光管和硅光敏三极管装在中间带槽的支架上,当槽内无物体是,砷化镓发光管发出的光直接照在硅光敏三极管的窗口上,从而产生大的电流输出,当有物体经过槽内则挡住光线,光敏管无输出,这样可以识别物体的有无。本设计用的槽式光电开关传感器红线是接电源,与蓝线之间接一个上拉电阻来驱动三极管集电极,集电极输出级黄线,二极管正相接电源导通,二极管负相和三极管发射极接地就是黑线。传感器内部电路示意图输出波形外部尺寸inputOutputnputOutput10%90%输出波形外部尺寸inputOutputnputOutput10%90%①Anode0CathodeCollectorEmitter

项目符号数值单位输入耗散功率|575mW反向电压VR5V正向电流IF ' '50mA输出集电极功耗Po50mW集电极电流120mA集-射电压VCEO30V射-集电压VECO5¥|射-集电压VECO5- V工作温度lopr-20^+65X?—储存温度Tstg-20^+75p焊接温度(*>Tso1240prh133.0U!极限参数(Ta=25*C)rh133.0U!极限参数(Ta=25*C)五:光电特性 (Ta=25V)项 目符号测试谿件垠小典型最大—旺输入正向压降VFIT=1OmA—1.21.6V反向电流IRVR=5V——10kaAP1=10mA—940-nm输出集电扱暗电硫ICEOE=OmW/cmJVCE=20V——1JiA集电扱光电流ILVGE=5VIF^IOmA0.6mA悔RI压降VCE(sat)IF^IOmAIC=O.1mA——0.4V上升时间TrVCE=5Vlc=2mARL=100Q-5us下降时间If—5PB

3模具制作:3.1材料硬纸板(风杯的主干与风杯主材料)、电机(转轴)、木条(固定风杯与传感器)3.2设计模板风杯测风速是一种较常见的测风速方式,输入部分一般由3~4个半球形或抛物锥形的空心杯壳组成,杯壳固定在互成120度角的三叉星形支架上或互成90度角的十字星之家的登场旋臂上。杯的凹面顺着同一方向排列,整个横架则固定在能旋转的垂直轴上。由于凹面和凸面所受的风的压力不相等,风杯在受到扭力作用时开始旋转,它的转速与风速呈一定关系。当风杯转动时,通过转盘下面的光电传感器测出转速,从而能测出风速。本次课程设计前期我们买了一个FY-FS风速传感器,就是一个三杯式传感器,内置有光电传感器,但预验收时被要求改,所以我们用硬卡纸和电机转轴做了了一个风杯的模型。风杯参数:风杯的半径3.5cm,风杯到转轴的距离为7cm,底部刻度盘的半径为3.5cm,有16个齿。上图为主干与风杯的设计,风杆加入木条固定。

4程序设计:4・1设计思路因选用槽型透射式光电开关式传感器进行数据的采集,所以采集到的信号为数字量,从而可直接利用单片机的定时器与计数器对数据进行收集之后再处理,再通过显示模块进行结果显示。这里设置T1为定时器,TO为计数器。定时器1选用工作方式2,计数器采用工作方式1。Ml踰工作方式00匚作方武。器D1 '工作方式116m器1C '工作方武2自动科装入E便计鹤器11工作方武3建时器点分成两个&位计数器能佛1;停止计数从表中可以看出,工作方式2为自动再装入8位计数器,定时时间为T=(256-初值)*机器周期。本设计采用12M的无源晶振,所以机器周期为1us,设初值为56,则定时器定时时间为0.2ms。工作方式1为16位计数器最高可计到65536。所以在程序设计时为防止风速过快导致溢出则应该先在0.1s时对于计数的数据做一个判断,这里设置分界点为6000。若小于6000则可累积到1s保持精确度,若大于6000则为防止溢出直接对此数据进行处理及显示,不过需要转换数量级。利用单片机的定时中断在中断程序中要完成对时间的累积、数据的判断、处理及显示。

4・2主程序(STC89C52)4.1.1程序框图:4.2.2主程序原代码#include<lcd1602.h>/ Zf*XT>XT>Xf>定时器为T1方式2,计数器为TO,P3'4;输入方波Zp»XjXXf*///为什么精度变为10HZ//因为一开始把5000写成了500,时间变为0.1s,以致个位丢失#defineuint8unsignedchar#defineuint16unsignedintuint16count,add,last;voidtimer_init(){TMOD=0X25; //定时器1,计数器0TH0=0;TL0=0;TH1=56;//设定为0.2msTL1=56;ET1=1;EA=1;TR0=1;TR1=1;}uint16read_sum(){uint8num1,num2,num3uint16val;do{num1=TH0;num2=TL0;num3=TH0;}//防止进位时读漏while(num1!=num3);val=num1*256+num2;returnval;//防止进位时读漏}voidmain(){inint_lcd1602();show_char();timer_init();while(1){count=read_sum();}}

4.3中断程序4.3.1中断程序流程图TF1=1NAdd>=500YNCount<=6000YNAdd>=5000YTHO=O;TLO=O;add=OTHO=O;TLO=O;add=O->show_dat_h(count)show_dat(count)add++结束开始•返回煤TF1=1NAdd>=500YNCount<=6000YNAdd>=5000YTHO=O;TLO=O;add=OTHO=O;TLO=O;add=O->show_dat_h(count)show_dat(count)add++结束开始•返回煤4.3.2中断程序源代码voidT1_INIT()interrupt4.3.2中断程序源代码voidT1_INIT()interrupt3{add++;if(add>=500){if(count<=6000){//积累到0.1秒if(add>=5000) //积累到一秒{show_dat(count);TH0=0;TL0=0;add=0;}}if(count>6000){show_dat_h(count); //*显示驱动的子函数*/TH0=0;TL0=0;add=0;}}}4.4LCD1602程序LCD1602硬件原理模块尺寸:80加土箱75,00±0.3^70.80±0,3'-64E.3JCr3萸oIDr-FincygtolnmY 56.20tAA>E.3JCr3萸oIDr-FincygtolnmY/-1&-3UD—3010PITCH2/-1&-3UD引脚定义:

编号符号引脚说明编号符号引脚说明1VSS电沥地9D2数据2电源1E板LDD3数据3口液晶显示偏压11D4数据4RS数据/命令选择12D5数据5RM读/写选择13D临数据6E使能信号L4D7数据7DO数据L5BLA背光源正极SD116BLK背光源负祓第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7〜14脚:DO〜D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。指令:序号指令RSR.VE7D6D5D4D3D2DlDO1清显示0000000a012光标返回0004000013置输入模式0O0(»0001IBs4显示开/■关控制0000a01BCB,5光标或字符移位000001S/CR/L6置功能000Q1DLXr7置字捋发生存贮器地址0001字符笈生存旷器地址S置数据存贮黠地址001显示数狂存旷髀迪址9價忙标志或地址01BF汁数器地址10写散到CGELUI或DDRAW10要写的数据内容11从CGRAM戍DDRAII逵数11读出的数据:虬客1602^晶模块的读与探作、屏幕和光称的操件鄙是迪过祎令编程来买址的d(说明土1为髙电平、0为低电平〉指令1:淸显示*指令码(HH光标席位到地址D0H位置口指令2:光标复位,讹标返回到地址OOHo指令3:光标和显示模式设置IZEh光标移动方向*高电平右移,低电平左移£:屏幕上所有丈字是否左若或者右務匚高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制參体显示的开与关,高电平表示开显示,低电平表示关显示心控制光标的开与关,髙电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令吕:光标或显示移位S/C:高电平时移动显示的文字,低电平时穆动光标口指矶:功能设置命呀DL:高电平时为4位总线,低电平时为3位总践E低电平时为单行显示.高电平时双行显示F:低由平时显示漲了的点阵字符,高由平时显示池珂的点阵字符。指令入字符发生器RAM地址设置口指令8:DDRAA哋址设置。指令9:读忙倍号和光标抱址BF:为忙标志位,咼电半表下忙,此时摸块不熊接收命令或者数甥,如果为低电平表示不忙。指令1山写数据「指令n:读数据a

4.4.2显示流程图4.4.3显示驱动程序#ifndef_LCD1602_H_#define_LCD1602_H_#include<reg52.h>#defineuint8unsignedchar#defineuint16unsignedint/*接口定义*/sbitlcdl602_RS=P0'7;//命令控制端口sbitlcdl602_RW=PO飞;//读写控制端口sbitlcdl602_EN=P0'5;//使能端口sbitlcdl602_BUSY=P2'7; //繁忙标志#definelcd1602_dataP2//数据接收/*函数申明*/voiddelay(uint8t);voidlcd1602_busy();voidlcd1602_write_cmd(uint8cmd);voidlcd1602_write_dat(uint8dat);voidinint_lcd1602();voidshow_char();voidshow_dat(uint16hz);voidshow_dat_h(uint16hz);voidlcd_display0(unsignedcharx,unsignedchar*p);#endif#include<lcd1602.h>unsignedcharValue[]={""};floatWS=0;unsignedintWS1=0;//***********************底层函数****************voiddelay(uint8t){uint8i;for(i=0;i<5;i++)while(t--);}voidlcd1602_busy(){do{lcd1602_RS=1;lcd1602_RW=1;lcd1602_EN=0;lcd1602_EN=1;}while(lcd1602_BUSY);lcd1602_EN=0;}voidlcd1602_write_cmd(uint8cmd){lcd1602_busy();lcd1602_RS=0;lcd1602_RW=0;lcd1602_EN=1;lcd1602_data=cmd;delay(1);lcd1602_EN=0;}voidlcd1602_write_dat(uint8dat){lcd1602_busy();lcd1602_RS=1;lcd1602_RW=0;lcd1602_EN=1;lcd1602_data=dat;delay(1);lcd1602_EN=0;}voidinint_lcd1602(){lcd1602_write_cmd(0x38);lcd1602_write_cmd(0x0c);//光标开及设置lcd1602_write_cmd(0x06);//光标移动设置lcd1602_write_cmd(0x01);//清零}//********************LCD显示***************voidlcd_display(unsignedcharx,unsignedchar*p){unsignedintNUM;lcd1602_write_cmd(x);for(NUM=0;NUM<14;NUM++){lcd1602_write_dat(p[NUM]);}}voidshow_char(uint16fre){unsignedintj=0;if(fre==0){WS=0;}else{WS=(float)(fre/16*0.07);}WS1=(int)WS;Value[0]=WS1/100+'0';Value[1]=WS1/10%10+'0';Value[2]=WS1%10+'0';Value[3]='.';Value[4]=(int)((WS-WS1)*10)+'0';for(j=0;j<5;j++){lcd1602_write_cmd(0xc0+0x06+j);lcd1602_write_dat(Value[j]);}lcd1602_write_cmd(0xc0+11);lcd1602_write_dat('');}voidshow_dat(uint16hz){uint8flag[8],i;lcd1602_write_cmd(0x80);lcd1602_write_dat('f');lcd1602_write_cmd(0x81);lcd1602_write_dat('=');if(hz<1000){flag[0]=hz/100;flag[1]=hz/10%10;flag[2]=hz%10;for(i=0;i<=2;i++){lcd1602_write_cmd(0x82+i);lcd1602_write_dat(flag[i]+'0');}lcd1602_write_cmd(0x85);lcd1602_write_dat('H');lcd1602_write_cmd(0x86);lcd1602_write_dat('z');lcd1602_write_cmd(0x87);lcd1602_write_dat('');lcd1602_write_cmd(0x88);lcd1602_write_dat('');lcd1602_write_cmd(0x89);lcd1602_write_dat('');lcd1602_write_cmd(0x80+11);lcd1602_write_dat('');lcd1602_write_cmd(0x80+12);lcd1602_write_dat('');lcd1602_write_cmd(0x80+13);lcd1602_write_dat('');lcd1602_write_cmd(0x80+14);lcd1602_write_dat('');lcd1602_write_cmd(0x80+15);lcd1602_write_dat('');show_char(hz);}if(hz>=1000&&hz<100000){flag[0]=hz/10000+2;flag[1]=hz/1000%10+2;flag[2]=0;flag[3]=hz/100%10+2;flag[4]=hz/10%10+2;for(i=0;i<=4;i++){lcd1602_write_cmd(0x82+i);lcd1602_write_dat(flag[i]+'.');}lcd1602_write_cmd(0x87);lcd1602_write_dat('K');lcd1602_write_cmd(0x88);lcd1602_write_dat('H');lcd1602_write_cmd(0x89);lcd1602_write_dat('z');}if(hz>=100000&&hz<=499000){flag[0]=hz/100000+2;flag[1]=hz/10000%10+2;flag[2]=hz/1000%10+2;flag[3]=0;flag[4]=hz/100%10+2;for(i=0;i<=4;i++){lcd1602_write_cmd(0x82+i);lcd1602_write_dat(flag[i]+'.');}lcd1602_write_cmd(0x87);lcd1602_write_dat('K');lcd1602_write_cmd(0x88);lcd1602_write_dat('H');lcd1602_write_cmd(0x89);lcd1602_write_dat('z');}voidshow_dat_h(uint16hz){uint8flag[8],i;lcd1602_write_cmd(0x80);lcd1602_write_dat('f');lcd1602_write_cmd(0x81);lcd1602_write_dat('=');if(hz>=100&&hz<10000){flag[0]=hz/1000+2;flag[1]=hz/100%10+2;flag[2]=0;flag[3]=hz/10%10+2;flag[4]=hz%10+2;for(i=0;i<=4;i++)lcd1602_write_cmd(0x82+i);lcd1602_write_dat(flag[i]+'.');}lcd1602_write_cmd(0x87);lcd1602_write_dat('K');lcd1602_write_cmd(0x88);lcd1602_write_dat('H');lcd1602_write_cmd(0x89);lcd1602_write_dat('z');}if(hz>=10000&&hz<=49900){flag[0]=hz/10000+2;flag[1]=hz/1000%10+2;flag[2]=hz/100%10+2;flag[3]=0;flag[4]=hz/10%10+2;for(i=0;i<=4;i++){lcd1602_write_cmd(0x82+i);lcd1602_write_dat(flag[i]+'.');}lcd1602_write_cmd(0x87);lcd1602_write_dat('K');lcd1602_write_cmd(0x88);lcd1602_write_dat('H');lcd1602_write_cmd(0x89);lcd1602_write_dat('z');}}5.设计硬件如下图所示,XI为12MHz的晶振,9口为复位接口,通过开关控制。用于测量转速的脉冲通过P3.4输入单片机,定时计数器TO对脉冲信号进行计数,用定时计数器T1的方式2进行定时,每10ms产生一个中断对1602LCD液晶显示屏进行刷新,产生100个中断后(即1s),进行一次转速处理,再通过单片机对T1的脉冲数进行运算转换后,用1602LCD液晶显示屏显示电机的转速。U133SiA心2:口4U133SiA心2:口4JTTTSTTTfmF3.-7IS1STMJT13=5・1时钟电路单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。本设计中此采用内部时钟方式,如图9所示,以石英晶体振荡器和两个片电容组成外部振荡源。片内的高增益

温馨提示

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

评论

0/150

提交评论