资源简介
基于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个文件信息
相关资源
- STM32F103C8T6硬件I2C2成功驱动ADS1115源代
- STM32F407ZGT6实现HAL库硬件I2C读写EEPROM功
- stm32做的红外遥控解码程序
- 《emwin实战指南(基于STM32-ISO开发板)
- Beginning STM32: Developing with FreeRTOS libo
- stm32f103c8t6_sch.Lib
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
评论
共有 条评论