标题:
STM32土壤湿度传感器Res式1.2 程序
[打印本页]
作者:
超大侠
时间:
2021-6-13 22:56
标题:
STM32土壤湿度传感器Res式1.2 程序
土壤湿度传感器Res式1.2
#include "delay.h"
#include "stm32f10x.h"
#include "OLED_I2C.h"
#include "led.h"
#include "usart.h"
#include "string.h"
#include "adc.h"
#include "timer.h"
#include "sys.h"
#include "exti.h"
#include "beep.h"
float temp_avrg=0;
int temp_LL=40;
int shidu;
int num;
int num_adj=1;
int j=0;
int times;
float total=0;
void Hardware_Init(void) //初始化
{
Delay_Init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
I2C_Configuration(); //I2C接口初始化
OLED_Init(); //OLED初始化
Led_Init(); //LED接口初始化
uart_init(9600); //串口初始化
Adc_Init(); //ADC初始化
EXTIX_Init(); //外部中断初始化
BEEP_Init(); //蜂鸣器初始化
}
void OLED_Show(void) //设置OLED显示
{
unsigned char i;
extern const unsigned char BMP2[];
OLED_CLS(); //清屏
OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);//显示惠州学院图标
for(i=10;i<14;i++) //显示校训
OLED_ShowCN(0,2*(i-10),i);
for(i=14;i<18;i++) //显示校训
OLED_ShowCN(112,2*(i-14),i);
DelayMs(2500);
OLED_CLS(); //清屏
for(i=0;i<4;i++) //显示惠州学院
OLED_ShowCN(31+i*16,1,i);
for(i=18;i<21;i++) //显示曾钰琢
OLED_ShowCN(39+(i-18)*16,5,i);
DelayMs(1500);
OLED_CLS(); //清屏
for(i=4;i<10;i++) //显示土壤湿度检测
OLED_ShowCN(14+(i-4)*16,0,i);
for(i=6;i<8;i++) //显示湿度
OLED_ShowCN(0+(i-6)*16,3,i);
OLED_ShowStr(36,4,":",1);
OLED_ShowStr(90,4,"%",1);
/*显示湿度下限*/
for(i=6;i<8;i++)
OLED_ShowCN(0+(i-6)*16,6,i);
for(i=21;i<23;i++)
OLED_ShowCN(32+(i-21)*16,6,i);
/*显示湿度下限*/
OLED_ShowStr(70,7,":",1);
OLED_ShowStr(110,7,"%",1);
OLED_ShowNum(75,7,temp_LL,1);//湿度下限初值
for(i=6;i<8;i++) //显示定值
{
//OLED_ShowCN(0+(i-6)*16,4,i);
}
//OLED_ShowStr(36,5,": cm",1);
//OLED_ShowNum(50,3,temp_avrg,1);
for(i=8;i<10;i++) //显示报警
{
//OLED_ShowCN(0+(i-8)*16,6,i);
}
//OLED_ShowStr(36,7,":",1);
}
/*void HC05_Prepare(void) //蓝牙连接
{
DelayMs(1000); //等待蓝牙模块上电稳定
while(HC05_Init()) //初始化ATK-HC05模块
{
DelayMs(100);
}
DelayMs(100);
}*/
int main(void)
{
num=50;
Hardware_Init(); //初始化
printf("\r\n初始化完成\r\n");
OLED_Show(); //设置OLED显示
//HC05_Prepare(); //蓝牙连接
//USART3_RX_STA=0;
//printf("\r\n显示\r\n");
//Timer2_Init(4999,7199);//10Khz的计数频率,计数到5000为500ms
while(1)
{
Get_Adc_Average(1,10);
DelayMs(500);
if(shidu>10000)
shidu=10000;
if(shidu<0)
shidu=0;
OLED_ShowNum(60,4,shidu%100,1);
OLED_ShowNum(40,4,shidu/100,1);
OLED_ShowStr(64,4,".",1);
if(shidu/100<temp_LL)
{
BEEP=0;
DelayMs(500);
BEEP=1;
DelayMs(500);
}
printf("\r\n您发送的消息为:%f\r\n\r\n",temp_avrg);
printf("\r\n您发送的消息为:%d\r\n\r\n",shidu);
}
/*{
if(USART3_RX_STA&0X80) //接收到一次数据了
{
Usart3_Data(); //蓝牙控制,启动/关闭超声波测距
}
DelayMs(1000);
} */
}
复制代码
代码:
土壤湿度传感器Res式1.2.rar
(327.26 KB, 下载次数: 59)
2021-6-13 22:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
641572636
时间:
2021-6-15 18:41
你好,如果不接LED和蜂鸣器,程序中,这两个代码要屏蔽吗
作者:
超大侠
时间:
2021-6-27 19:17
641572636 发表于 2021-6-15 18:41
你好,如果不接LED和蜂鸣器,程序中,这两个代码要屏蔽吗
不影响
作者:
沈俊霄
时间:
2022-2-24 01:38
你好lcd采用的是什么样的
作者:
超大侠
时间:
2023-11-21 16:40
沈俊霄 发表于 2022-2-24 01:38
你好lcd采用的是什么样的
lcd12864 液晶显示
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1