基于STM32风速风向检测仿真
目录
一、项目描述
二、仿真
三、程序
资料下载地址:基于STM32风速风向检测仿真
一、项目描述
获取风速风向值并在OLED液晶上显示。
二、仿真
系统未上电
系统上电
更改风速风向
三、程序
主程序
#include "main.h"
#include "stm32f1xx.h"
#include "./usart/bsp_debug_usart.h"
#include <stdlib.h>
#include "./adc/bsp_adc.h"
#include "string.h"
#include "oled.h"uint16_t value[5];
char strvalue[10];uint8_t Wind_Direc[10][10] =
{"north ", //北风"northeast", //东北风"east ", //东风"southeast", //东南风"south ", //南风"southwest", //西南风"west ", //西风"northwest", //西北风
};
int main(void)
{ SystemClock_Config();//配置系统时钟为72 MHz DEBUG_USART_Config(); //初始化USART1 配置模式为 115200 8-N-1 DisPlay_Init();//配置OLED液晶屏ADCx_Init();//AD功能初始化HAL_ADCEx_Calibration_Start(&hadcx);//启用ADC校准HAL_ADC_Start(&hadcx );//开始采集delay_ms(10);//等待AD采集while (1){Get_Pressure_Gas_Value();}
}void Get_Pressure_Gas_Value(void)
{static int idx = 0;value[0] = ADC_Get_Average(0,1);Current_Voltage = value[0] * 100 / 4095;//采集电位计电压sprintf(strvalue,"%d ",Current_Voltage);//整型数据转化为字符串OLED_ShowString(45,2,strvalue);//显示风速value[1] = ADC_Get_Average(1,1);if(value[1] < 511 ){idx = 0;}else if(value[1] < 1022 && value[1] >= 511){idx = 1;}else if(value[1] < 1533 && value[1] >= 1022){idx = 2;}else if(value[1] < 2044 && value[1] >= 1533){idx = 3;}else if(value[1] < 2555 && value[1] >= 2044){idx = 4;}else if(value[1] < 3066 && value[1] >= 2555){idx = 5;}else if(value[1] < 3577 && value[1] >= 3066){idx = 6;}else if( value[1] >= 3577){idx = 7;}OLED_ShowString(45,4,Wind_Direc[idx]);//显示printf("WindSpeed = %d\r\nWindDirect = %s\r\n" ,Current_Voltage,Wind_Direc[idx]);HAL_Delay(10);}/*** @brief System Clock Configuration* The system Clock is configured as follow : * System Clock source = PLL (HSE)* SYSCLK(Hz) = 72000000* HCLK(Hz) = 72000000* AHB Prescaler = 1* APB1 Prescaler = 2* APB2 Prescaler = 1* HSE Frequency(Hz) = 8000000* HSE PREDIV1 = 1* PLLMUL = 9* Flash Latency(WS) = 2* @param None* @retval None*/
void SystemClock_Config(void)
{RCC_ClkInitTypeDef clkinitstruct = {0};RCC_OscInitTypeDef oscinitstruct = {0};/* Enable HSE Oscillator and activate PLL with HSE as source */oscinitstruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;oscinitstruct.HSEState = RCC_HSE_ON;oscinitstruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;oscinitstruct.PLL.PLLState = RCC_PLL_ON;oscinitstruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;oscinitstruct.PLL.PLLMUL = RCC_PLL_MUL5;if (HAL_RCC_OscConfig(&oscinitstruct)!= HAL_OK){/* Initialization Error */while(1); }/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */clkinitstruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);clkinitstruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;clkinitstruct.AHBCLKDivider = RCC_SYSCLK_DIV1;clkinitstruct.APB2CLKDivider = RCC_HCLK_DIV1;clkinitstruct.APB1CLKDivider = RCC_HCLK_DIV2; if (HAL_RCC_ClockConfig(&clkinitstruct, FLASH_LATENCY_2)!= HAL_OK){/* Initialization Error */while(1); }
}
基于STM32风速风向检测仿真相关推荐
- 【资料转发分享】基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计
1604基于STM32智能路灯灯光自动控制系统设计-毕设课设资料 实现的功能如下,下图是仿真原理图: 通过ARM内部的ADC采集光敏电阻电压,判断电压值 电压值低于设定的值,表示光强太弱,开路灯 光强 ...
- 基于STM32单片机水位检测系统仿真设计
文章目录 主要功能 仿真图 程序(提供源文件源码) 本设计基于STM32单片机水位检测系统仿真设计(proteus仿真+程序) 仿真图proteus 8.11 程序编译器:keil 5 编程语言:C语 ...
- 基于stm32的温湿度检测案例(一)
系列文章目录 一.基于stm32的温度检测案例(一) 文章目录 目录 系列文章目录 一.基于stm32的温度检测案例(一) 文章目录 前言 一.实验器材简介 1.1.基于STM32F042F6P6的最 ...
- stm32采集交流电压信号_基于STM32的交流电压检测.pdf
第24卷第13期 电子设计工程 2016年7月 V01.24 No.13 Electronic Jul.2016 DesignEngineering 基于STM32的交流电压检测 任宏斌,冷建伟 (天 ...
- 基于stm32的温湿度检测案例串口通信屏显示(二)
文章目录 前言 一.串口通信屏幕 二.DHT11测试效果与说明 三.读入数据 四.串口及中断配置 五.屏幕上显示数据 5.1.屏幕内嵌指令 5.2.静态数据 5.3.动态数据 六.效果 前言 因为st ...
- 基于STM32指纹密码锁proteus仿真设计
基于STM32指纹密码锁proteus仿真设计. 有仿真,程序,原文. 功能: 1.六位密码,设定初始密码(123456) 2.Electronic Locks(电子密码锁) (等待输入密码,密码用* ...
- 基于STM32可调时钟仿真
目录 一.项目功能概述 二.仿真 三.程序 资料下载地址:基于STM32可调时钟仿真 一.项目功能概述 1.LCD1602液晶屏实时显示当前时间 2.通过按键调整时间 二.仿真 定时使用stm32内部 ...
- STM32项目设计:基于STM32的风向风速测量仪
目录 一.项目功能概述 二.材料选择 三.程序设计 四.实物 资料下载地址:基于STM32风向风速检测设计 一.项目功能概述 1.通过风向.风速传感器获取当前风向.风速 2.通过DHT11获取温湿度 ...
- 7位格雷码计算风向_基于单片机的风速风向检测系统设计
摘 要:介绍了一种风速风向传感器原理,选用LPC921单片机设计了数据采集和数据传输的检测系统,给出了系统硬件电路图和软件流程图,分析了硬件设计和软件编程中的一些问题. 1 引言 风速风向测量是气象监 ...
最新文章
- 算法刷题宝典.pdf
- Java算法之 选择排序
- python当中pip使用_python
- 番茄花园该打,反垄断更该升级
- ASP.NET 2.0 中的 Theme 功能
- log4cplus导致主进程不能退出问题解决
- 阿里云移动端播放器高级功能---截图和音频波形 1
- awss3 android,aws s3 命令
- java 占位符_Java重要知识点
- 二分类问题的评分值与损失函数
- 网易云音乐 网络错误 linux,archlinux下网易云音乐netease-cloud-music启动报错,无法打开...
- 常见的研究方法有哪些?
- datealive软件最新_约会大作战手游官网版下载-约会大作战正版手游下载地址v3.79_86PS软件园...
- php怎么规范图片大小,如何在PHP中调整图片大小?
- 做跨境电商的Anker的也回来“内卷”了?
- 本地如何内网穿透映射外网
- 计算机哪里找产品密钥,计算机windows的密钥在哪里可以找到?
- 最简单的九九乘法表打印
- 端口渗透—23端口Telnet
- Elasticsearch:运用 Java 创建索引并写入数据