资源简介

基于STM32的自动浇水系统,OLED 屏幕采用SPI协议控制,可显示湿度、绘制曲线,单片机控制水泵实现自动浇水。

资源截图

代码片段和文件信息

#include “adc.h“
#include “delay.h“
__IO uint16_t ADC_ConvertedValue;


// ADC GPIO 初始化
static void ADCx_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

// 打开 ADC IO端口时钟
ADC_GPIO_APBxClock_FUN ( ADC_GPIO_CLK ENABLE );

// 配置 ADC IO 引脚模式
// 必须为模拟输入
GPIO_InitStructure.GPIO_Pin = ADC_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

// 初始化 ADC IO
GPIO_Init(ADC_PORT &GPIO_InitStructure);
}

//配置ADC工作模式
static void ADCx_Mode_Config(void)
{
ADC_InitTypeDef ADC_InitStructure;

// 打开ADC时钟
ADC_APBxClock_FUN ( ADC_CLK ENABLE );

// ADC 模式配置
// 只使用一个ADC,属于独立模式                             
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;

ADC_DeInit(ADCx);

// 配置ADC时钟为12MHz
RCC_ADCCLKConfig(RCC_PCLK2_Div6); 

// 禁止扫描模式,多通道才要,单通道不需要
ADC_InitStructure.ADC_ScanConvMode = DISABLE ; 

// 连续转换模式
ADC_InitStructure.ADC_ContinuousConvMode =DISABLE;

// 不用外部触发转换,软件开启即可
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

// 转换结果右对齐
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;

// 转换通道1个
ADC_InitStructure.ADC_NbrOfChannel = 1;

// 初始化ADC
ADC_Init(ADCx &ADC_InitStructure);

// 开启ADC ,并开始转换
ADC_Cmd(ADCx ENABLE);

// 初始化ADC 校准寄存器  
ADC_ResetCalibration(ADCx);
// 等待校准寄存器初始化完成
while(ADC_GetResetCalibrationStatus(ADCx));

// ADC开始校准
ADC_StartCalibration(ADCx);
// 等待校准完成
while(ADC_GetCalibrationStatus(ADCx));

// 由于没有采用外部触发,所以使用软件触发ADC转换 
ADC_SoftwareStartConvCmd(ADCx ENABLE);
}




void ADCx_Init(void)
{
ADCx_GPIO_Config();
ADCx_Mode_Config();
}



u16 Get_Adc()   
{
ADC_RegularChannelConfig(ADCxADC_CHANNEL1 ADC_SampleTime_239Cycles5); //ADC1ADC通道采样时间为239.5周期        
  
ADC_SoftwareStartConvCmd(ADCx ENABLE); //使能指定的ADC1的软件转换启动功能
 
while(!ADC_GetFlagStatus(ADCx ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADCx); //返回最近一次ADC1规则组的转换结果
}

u16 Get_Adc_Humidity()//返回湿度值
{
u32 temp_val=0;
temp_val+=Get_Adc();
if(temp_val>=3700)
temp_val-=3300;
return temp_val*100/3300;
//return temp_val*100/4000;
}   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-02 19:09  autowatering\
     文件       87689  2018-12-02 19:09  autowatering\autowatering.uvguix.ASUS
     文件       20778  2018-11-27 19:31  autowatering\autowatering.uvoptx
     文件       21438  2018-11-07 22:05  autowatering\autowatering.uvprojx
     目录           0  2018-10-30 13:57  autowatering\DebugConfig\
     文件        6956  2015-12-10 17:06  autowatering\DebugConfig\Target_1_STM32F103RC_1.0.0.dbgconf
     目录           0  2018-12-02 17:02  autowatering\driver\
     文件        2367  2018-12-02 17:02  autowatering\driver\adc.c
     文件         684  2018-11-08 17:52  autowatering\driver\adc.h
     文件       12249  2015-12-04 10:25  autowatering\driver\ASCII_CODE_8X16_5X8_VERTICAL.H
     文件       14542  2018-04-17 09:21  autowatering\driver\Chinese_And_Graphic.H
     文件        1458  2018-11-20 11:59  autowatering\driver\jz_key.c
     文件         758  2018-11-20 11:59  autowatering\driver\jz_key.h
     文件       16892  2018-11-20 12:15  autowatering\driver\oled.c
     文件        3039  2018-11-20 12:15  autowatering\driver\oled.h
     文件       19316  2018-11-20 12:11  autowatering\driver\oledfont.h
     文件        9479  2018-10-31 14:30  autowatering\driver\oled_iic.c
     文件         932  2018-10-31 14:30  autowatering\driver\oled_iic.h
     文件         479  2018-11-11 20:49  autowatering\driver\pump.c
     文件         367  2018-11-08 13:17  autowatering\driver\pump.h
     目录           0  2018-10-30 14:06  autowatering\libraries\
     目录           0  2018-10-30 14:38  autowatering\libraries\CMSIS\
     文件       17273  2010-06-07 10:25  autowatering\libraries\CMSIS\core_cm3.c
     文件       85714  2011-02-09 14:59  autowatering\libraries\CMSIS\core_cm3.h
     文件       15503  2011-03-10 10:52  autowatering\libraries\CMSIS\startup_stm32f10x_hd.s
     文件      633941  2016-11-03 11:22  autowatering\libraries\CMSIS\stm32f10x.h
     文件        3231  2018-09-06 16:13  autowatering\libraries\CMSIS\stm32f10x_conf.h
     文件       36557  2011-03-10 10:51  autowatering\libraries\CMSIS\system_stm32f10x.c
     文件        2085  2011-03-10 10:51  autowatering\libraries\CMSIS\system_stm32f10x.h
     目录           0  2018-10-30 14:06  autowatering\libraries\STM32F10x_StdPeriph_Driver\
     目录           0  2018-10-30 14:06  autowatering\libraries\STM32F10x_StdPeriph_Driver\inc\
............此处省略174个文件信息

评论

共有 条评论