基于单片机便携式气象仪风速风向检测系统Proteus仿真(含全部资料)

    全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等

资料下载:

通过网盘分享的文件:资料分享
链接: 百度网盘 请输入提取码 提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

产品功能描述:
本系统由51系列单片机、风向采集模块、风速采集模块及电源组成。
1、单片机实时采集风速传感器数据,将采集模拟量转化为数字量,计算风速大小,单位m/s,显示精度0.1,范围:0-30m/s。
2、单片机实时采集风向传感器数据,将采集模拟量转化为数字量,计算风向角度,单位度,范围0-360度。
3、LCD1602实时显示当前风速大小,风向角度值。


项目文件:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、器件清单

元件清单
元件符号元件名称数量
C1, C2470uf电解电容2
C3, C4104 瓷片电容2
C510uf电解电容1
C6, C730pf瓷片电容2
C8, C9, C10, C11104瓷片电容4
J1DC005电源插座 5.5-2.1MM DC电源座1
K1轻触按键1
P1LCD1602液晶显示屏+16P排座1
P24针排针1
PR1103排阻1
R13K电阻1
R210K电阻1
SW1自锁开关1
U17805芯片+散热片+螺丝1
U2STC89C52单片机+DIP40插座1
U3风速传感器+XH2.54-3A插座1
U4TLC2543芯片+DIP20插座1
U5风向模块+XH-2.54-3A插座1
Y112M晶振1

五、Keil c语言程序源代码(部分)

#include <REGX52.H>			   //包含头文件
#include "LCD1602.H"		   //液晶显示头文件
#include "TLC2543.H"		   //AD 转换头文件
//下面定义一些变量用于
uint Wind_speed=0,Wind_direction=0;       //Wind_speed  风速度  Wind_direction风向
float speed_Value=0,direction_Value=0;    //speed  风速度  direction风向
void display_dispose()				//显示函数
 {
 	LCD1602_write(0,0x80);		    //第一行显示的是风速
	LCD1602_writebyte("Speed:");	//0x30是字符数字首地址,可以参考1602字符表
	if(Wind_speed>99)LCD1602_write(1,0x30+Wind_speed/100);
	else LCD1602_writebyte(" ");
	LCD1602_write(1,0x30+Wind_speed/10%10);
 	LCD1602_write(0,0xC0);			//第二行显示的是风向
	LCD1602_writebyte("Direction:");
	LCD1602_write(1,0x30+Wind_direction/100);
	LCD1602_write(1,0x30+Wind_direction/10%10);
	LCD1602_write(1,0x30+Wind_direction%10);
 	LCD1602_write(1,0xdf);
	LCD1602_writebyte("  ");
 }
 
//简单叙述一下测量原理,对于风速风向传感器,都是对测量的数据进行电压输出
 //例如风向,0-360度对应着0.4V-2V电压
 //但是这个数据一般情况下是需要校准的,比如下面的这个,风向,实际0-360度对应的是0.42V-2.02V电压
 //每一个器件都有差异性,都需要校准,由于风速无法提供校准环境,所以就没哟进行校准,完全按照说明书上的数据进行计算
 
 void data_dispose()				   //数据处理函数
 {
   if(ms%3==0)
    {
	   speed_Value=read2543(0);			  // 实际输出是,不是说明书里的0-5V     0.04-5V
	 
	   if(speed_Value<32.768)	 Wind_speed=0;
	    else 
		  {	 
		     speed_Value=speed_Value/8.192;	 //得到电压值,并且保留两位小数
		     Wind_speed=(speed_Value-0.04)*0.65322;	     //1V对应风速是6.48  
		  }
	  
	}
	else 
	 {
	   direction_Value=read2543(1);
	   if(direction_Value>=1646.592)	  //方向实际的输出电压值是2.02-0.42V
	    {
		  Wind_direction=360; 
		}
		else if(direction_Value<344.064)
		 {
		   Wind_direction=0;
		 }
		 else 
		  {
		    direction_Value=direction_Value/819.2;	 //得到电压值,浮点型整数
		   Wind_direction=(direction_Value-0.42)*223.60;	 
		  }	
	 }
 }

void main()			//主函数
 {
   TMOD=0x01;	    //配置定时器,使其工作在方式1,中断时间是50ms
   TH0=0x3C;		//
   TL0=0xB0;
   ET0=1;
   TR0=1;
   EA=1;
   
   LCD1602_cls();  //液晶初始化
   while(1)		    
    { 
	  data_dispose();	 //调用数据处理函数
	  display_dispose(); //调用显示函数
	}
 }

六、全套资料包含

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复“资料”!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞鹰工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值