其他分享
首页 > 其他分享> > 427【毕设课设】基于STM32单片机便携式气象仪风速风向检测系统

427【毕设课设】基于STM32单片机便携式气象仪风速风向检测系统

作者:互联网

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

STM32单片机便携式气象仪风速风向检测系统69
本系统由STM32T103C8T6单片机、风向采集模块、风速采集模块及电源组成。
1、单片机实时采集风速传感器数据,将采集模拟量转化为数字量,
计算风速大小,单位m/s,显示精度0.1,范围:0-30m/s。
2、单片机实时采集风向传感器数据,将采集模拟量转化为数字量,
计算风向角度,单位度,范围0-360度。
3、LCD1602实时显示当前风速大小,风向角度值。
注意:风向角度相对于风向模块上箭头指向的方向位置。

  TIM3_Int_Init(499,7199); //定时器初始化
	
	LED_Init();		  		//初始化接口 	 
	Adc_Init(); //初始化ad转换
	 
	Lcd_GPIO_init();   //液晶接口初始化
	Lcd_Init();		 //液晶配置初始化
	delay_ms(20);	 
		
	 while(1)
	{			

		if(disFlag==1)//定时读取标志
		{
			disFlag=0;//清空标志

			adcx=Get_Adc_Average(ADC_Channel_0,5);//读取ad转换值 5次求平均	
			fanSpeed = ((float)adcx*3.3/4096)*2*MAX_FAN_SPEED/5;  //风速转换 根据手册
			if(fanSpeed>300)fanSpeed=300; //
			
			adcx=Get_Adc_Average(ADC_Channel_1,5);//读取ad转换值 5次求平均	
			fanDir = ((float)adcx*3.3/4096)*2*360/5;       //风向转换 根据手册                  
			if(fanDir>360)fanDir=360;     
 			
			sprintf(dis0,"nowSpeed:%04.1fm/s  ",(float)fanSpeed/10);//打印					
			Lcd_Puts(0,0,(u8 *)dis0);//显示	
			
			sprintf(dis1,"nowDir  :%03d  ",(unsigned int)fanDir);//打印
			Lcd_Puts(0,1,(u8 *)dis1);//显示					
			Lcd_1Put(12,1,0xdf);//显示	

  

标签:初始化,毕设,课设,单片机,Lcd,风速,fanSpeed,风向,气象仪
来源: https://www.cnblogs.com/ythero/p/14082661.html