资源简介
基于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个文件信息
相关资源
- STM32通过串口实现双机通信,达到数据
- STM32通过串口实现双机通信,实现数据
- 通过STM32F103单片机高级定时器TIM8同时
- 通过STM32F103单片机通用定时器TIM2,同
- STM32F1系列单片机,通过TIM4生成4路P
- 1.3寸OLED带字库全套资料及各种单片机
- 0.96寸OLED带字库全套资料包含各种单片
- stm32f7的esp8266spi并口源程序,速率1.
- 基于stm32F4的tcs3200程序
- 基于STM32、Onenet的室内空气质量实时及
- stm32控制74h595驱动四位数码管
- stm32实现modbus主机从机功能通信
- oled案列和中文手册
- 基于stm32的上位机与下位机的通信
- STM32F10xDAC输出特定三角波,绝对好使
- 基于stm32F103的两轮自平衡小车
- STM32二维写字机,解析G码,有注解
- 基于stm32的0v7670图像处理
- stm32f4控制步进电机程序
- STM32F407与OV2640的二维码识别实验
- 基于STM32的智能空调控制系统
- STM32电梯设计
- 基于STM32的USB声卡设计
- PCA9685驱动16舵机电机调速STM32F4代码
- STM32F103驱动7针OLED128x64实现方式:硬件
- OLED程序例程(STM32_OLED(C8T6))
- OLED程序例程K60_4WIRE_SPI例程
- STM32_USART 多机通信学习笔记
- 遥控小车源码
- stm32f103c8t6 Keil led工程
评论
共有 条评论