logo资料库

风速风向的设计 风速风向的设计 运用单片机.docx

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
风速、风向检测仪 一、组员 陈杰 杨璨铭 二、功能 检测风速、风向并进行收集处理显示 三、元件 AT89S52 芯片 硅微压传感器 SM5551-001-D LM324 放大器 ADC0832 芯片 LM016L 显示屏 光电编码器 LED 显示屏 4 个 7805 芯片
风速、风向检测仪 硬件系统框图 单片机部分 单片机型号:AT89S52 单片机电路:
风速、风向检测仪 风速风向系统的主电路设计主要有(1)系统时钟电路设计;(2)系统复位 电路设计;(3)电源电路设计; (1)系统时钟电路设计; (2)系统复位电路设计 (3)电源电路设计
风速、风向检测仪 风速测量的设计 美国的 SMI 系列硅微压传感器 SM5551-001-D 当硅片上方受力时产生变形,电阻产生压阻效 应而失去电桥平衡,输出与压力成比例的电信号 信号放大部分 LM324 放大器引脚图
放大器电路图 风速、风向检测仪 AD 转化 ADC0832 芯片 AD 转化器接线示意图 显示部分 LM016L 液晶显示器接线图
风速、风向检测仪 风向测量的设计 采用光电编码器 风向电路 LED 显示原理图
风速、风向检测仪 风速软件设计 风速部分程序 AD 转换子程序部分: /************ 读 ADC0832 函数 ************/ uchar Adc0832(unsigned char channel) { uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0; _nop_(); _nop_(); ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); ADCLK=1; ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); ADCLK=1; ADDI=(channel>>1)&0x1; _nop_(); _nop_();
风速、风向检测仪 ADCLK=0; ADDI=1; _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO; ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO; ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1; ADCLK=0; ADDO=1; dat<<=8; dat|=ndat; return(dat); //return ad k } 风向软件设计 风向部分程序 格雷码转化二进制码程序部分: Unsigned int Wind_Drct=0; Unsigned int Wind_Gray=0; if (KBA1==1) Wind_Gray+=0x0001; if (KBA2==1) Wind_Gray+=0x0002; If (KBA3==1) Wind_Gray+=0x0004; if (KBA4==1) Wind_Gray+=0x0008;
分享到:
收藏