标题:
STM32连接DHT11传感器监控温湿度源程序
[打印本页]
作者:
lsyll
时间:
2021-9-14 11:15
标题:
STM32连接DHT11传感器监控温湿度源程序
使用KEIL 5 打开
解压文件后弹窗点击选择 Cancel
否则编译会出现错误
如果第一次弹窗没有点击取消,则重新解压。
51hei.png
(102.32 KB, 下载次数: 63)
下载附件
2021-9-15 00:39 上传
51hei.gif
(239.43 KB, 下载次数: 69)
下载附件
2021-9-15 00:39 上传
单片机源程序如下:
/**************************************
* 文件名 :main.c
* 描述 :串口显示温湿度,当温度高于设定阈值时,LED闪烁,当湿度低于设定阈值时,蜂鸣器鸣响。
* 实验平台:CH32最小系统 基于CH32F103C8T6
* 库版本 :ST3.0.0
*********************************************************/
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "led.h"
#include "dht11.h"
//测试主函数
#define LED_ON GPIO_SetBits(GPIOC, GPIO_Pin_13)
#define LED_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_13)
#define Buzzer_ON GPIO_SetBits(GPIOC, GPIO_Pin_14)
#define Buzzer_OFF GPIO_ResetBits(GPIOC, GPIO_Pin_14)
void Buzzer_Init()
{
GPIO_InitTypeDef p;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
p.GPIO_Pin = GPIO_Pin_14;
p.GPIO_Mode = GPIO_Mode_Out_PP;
p.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &p);
}
int main(void)
{
u8 temp,humi;
LED_Init();
Buzzer_Init();
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
printf("串口测试\r\n");
while(DHT11_Init())
{
printf("传感器设置错误\n");
delay_ms(500);
}
while(1)
{
DHT11_Read_Data(&temp,&humi);
printf("temp:%d humi:%d \n",temp,humi);
delay_ms(500);
if(temp>30)
{
LED_ON;
printf("LED On\n");
delay_us(200000);
LED_OFF;
delay_us(200000);
}
else
{
LED_OFF;
}
if(humi>30)
{
Buzzer_ON;
printf("Buzzer On\n");
delay_us(200000);
}
else
{
Buzzer_OFF;
}
delay_us(500000);
}
}
复制代码
所有代码51hei附件下载:
基于STM32F103C8T6+DHT11.7z
(1.15 MB, 下载次数: 45)
2021-9-15 00:39 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1