推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

获得赏金
20.00元
ADC多通道采集数据 采用电位器和ADC转换 STM32CUBEMX+PROTEUS开发

更新时间:2024-06-03 07:32:52 大小:23M 上传用户:mulanhk查看TA发布的资源 标签:adc电位器stm32cubemxproteus 下载积分:4分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

项目内容:

本项目主要包括

    实现电压模数转换的电路原理图

    keil的源代码内容,包含详细注释

    用markdown语法,写的教程配置,尽量详细


项目配置:

引脚配置

高速低速时钟打开

image.png

 IIC,oled的传输数据引脚

image.png


ADC引脚,1的IN1,IN2

image.png


第四个的间隔转换


image.png

将第一二通道配置一下

image.png


时钟树配置


image.png


存储路径


image.png

仿真电路搭建

image.png


源代码部分


[[OLED#OLED.C]]

[[OLED#OELD.H]]

[[oled#OELD_FONT.H]]


主函数实现

定义相关的变量

float ADC_Value[2] = {0}; //用于存放ADC数据

float V_Value[2] = {0}; //用于存放电压数据

uint8_t i; //定义循环变量


OLED_ShowString(1,1,"V1:");

  OLED_ShowString(2,1,"V2:");

  for(i = 0;i<2;i++)

  {

  HAL_ADC_Start(&hadc1); //使能ADC,开始转换

  if(HAL_ADC_PollForConversion(&hadc1,10)==HAL_OK) //等待ADC转换完成

  {

  ADC_Value[i] = HAL_ADC_GetValue(&hadc1);

  

  }

  }

  V_Value[0] = ADC_Value[0]/818.5;       //按照线路的计算,ADC和实际电压值的换算

  V_Value[1] = ADC_Value[1]/818.5;

  OLED_ShowFNum(1,4,V_Value[0],2);

  OLED_ShowFNum(2,4,V_Value[1],2);

  OLED_ShowString(1,10,"V");

  OLED_ShowString(2,10,"V");


最终效果实现图


image.png

image.png

部分文件列表

文件名大小
P10_ADC_Muti_channel/
P10_ADC_Muti_channel/P10_ADC_Muti_channel/
P10_ADC_Muti_channel/P10_ADC_Muti_channel/.mxproject8KB
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/adc.h1KB
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/gpio.h1KB
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/main.h2KB
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/OLED.h1KB
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/OLED_Font.h
P10_ADC_Muti_channel/P10_ADC_Muti_channel/Core/Inc/stm32f1xx_hal_conf.h
...
  • 21ic小能手打赏了20.00

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载