基于STM32单片机的温湿度检测报警器(数码管)(Proteus仿真+程序)

这篇具有很好参考价值的文章主要介绍了基于STM32单片机的温湿度检测报警器(数码管)(Proteus仿真+程序)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

编号:27

基于STM32单片机的温湿度检测报警器(数码管)

功能描述:

       本设计由STM32F103单片机最小系统+DHT11温湿度传感器+数码管显示模块+声光报警模块+独立按键组成。
1、主控制器是STM32F103单片机
2、DHT11传感器测量温度和湿度数据
3、数码管显示温度、湿度,精度1℃、1%RH
4、三个按键可设置温度、湿度上限报警值,温度或者湿度超过上限时,蜂鸣器LED声光报警

Proteus 8.11版本才可使用

视频演示链接:

27、基于STM32单片机的温湿度检测报警器(数码管)

仿真图:

基于STM32单片机的温湿度检测报警器(数码管)(Proteus仿真+程序)

程序源码:


#include "delay.h"
#include "seg.h" 
#include "key.h"
#include "led.h"
#include "timer.h"
#include "dht11.h"

#include "stdio.h" 	
#include "stdlib.h" 	


short Tpup = 35 ,Huup = 60 ;				//温度上限 默认35 湿度默认60


_Bool flag_timer = 1;

int main(void)
{	
	char buf[18];
    unsigned char temperature = 0,humidity = 0; 	//温度 湿度

	unsigned char key_value = 0;	//按键返回值
	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级

	LED_Init();
	Seg_Init();
	Smg_Get(0,0,0);
	DHT11_Init();
 
	KEY_Init();										//初始化端口
    
 	while(1)
	{	
		
		if(flag_timer==1)					    //600毫秒赋一次值 flag_timer是标志位
		{
			flag_timer = 0;					    //清除标志  等待下一次600ms
			if(DHT11_Read_Data(&temperature,&humidity)==0)	//读取温湿度值 读取成功?
			{
				Smg_Get(0,temperature,humidity);
			}      
            
            if(temperature>(Tpup)
			||humidity>(Huup))			    //当温度或者湿度超过上限 报警
            {

                BEEP = 0;
            }
            else
            {
				BEEP = 1;
                
            }	
		}
		
		key_value = KEY_Scan(0);		 	//按键单击
		switch(key_value)
		{
			case 1:
				KEY_Set();
			break;
		}
		delay_ms(50);



		
	}	
}
//定时器2中断服务程序
void TIM2_IRQHandler(void)   		//TIM2中断
{
	static unsigned int Cnt = 0;
	if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)  //检查TIM2更新中断发生与否
	{
		TIM_ClearITPendingBit(TIM2, TIM_IT_Update  );  //清除TIMx更新中断标志 
		Smg_display();		//数码管显示函数
		if(++Cnt>200)
		{
			Cnt = 0;
			flag_timer = 1;	//时间到 打开标志位 读取一次传感器数据
		}
	}
}

软件免费下载地址:

1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包

链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w 
提取码:2756 


3、KEIL5 MDK软件(STM32开发软件)
链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg 

提取码:ab58 

文件下载:

https://pan.baidu.com/s/1nE851aWwK07p79j0larQiw?pwd=5zab文章来源地址https://www.toymoban.com/news/detail-436092.html

到了这里,关于基于STM32单片机的温湿度检测报警器(数码管)(Proteus仿真+程序)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包