基于51单片机温度、烟雾、火焰检测的火灾着火报警毕业设计

基于51单片机温度、烟雾、火焰检测的火灾着火报警毕业设计

摘要

本项目设计并实现了一个基于51单片机的火灾着火报警系统,该系统集成了温度、烟雾和火焰检测功能,用于实时监测环境安全状况。系统采用了LCD1602显示屏用于直观展示当前温度、火焰状态以及系统状态,同时配备了DS18B20温度传感器用于精确测量环境温度,火焰传感器用于检测火焰的存在。此外,系统还通过按键控制驱动继电器,以实现对外部设备的控制,如启动报警器等。

在硬件设计方面,系统以51单片机为核心控制器,通过连接DS18B20温度传感器、火焰传感器以及LCD1602显示屏等模块,构建了一个完整的火灾检测与报警系统。同时,通过按键模块实现对继电器的控制,使得系统能够根据用户需求进行相应的操作。

在软件设计方面,本系统采用C语言进行编程,实现了数据的采集、处理、显示以及报警控制等功能。系统首先初始化各个模块,然后循环读取DS18B20温度传感器和火焰传感器的数据,根据预设的阈值判断是否存在火灾隐患。若检测到异常,系统将通过LCD1602显示屏显示报警信息,并驱动继电器控制外部设备(如报警器)进行报警。同时,用户还可以通过按键模块控制继电器的开关,实现手动报警或关闭报警。

经过实际测试,本系统能够准确检测环境温度、火焰状态,并在检测到火灾隐患时及时发出报警信号。LCD1602显示屏能够实时显示相关信息,方便用户了解当前环境状况。此外,按键模块使得系统操作更加灵活方便,用户可以根据需要控制继电器的开关。

综上所述,本毕业设计实现了一个基于51单片机的温度、烟雾与火焰检测火灾报警系统,该系统具有结构简单、成本低廉、功能齐全等优点,可广泛应用于家庭、工厂、仓库等场所的火灾预警和防范。通过本次设计,不仅提高了我的实践能力,也加深了我对单片机和传感器技术的理解。

一、项目概述

本项目旨在设计一款基于51单片机的火灾着火报警系统。该系统能够实时检测环境温度、烟雾浓度以及火焰状态,一旦检测到异常情况,便会触发报警并驱动继电器进行相应操作。系统采用LCD1602显示屏实时显示相关信息,使用DS18B20温度传感器进行温度检测,火焰传感器进行火焰检测,并通过按键控制驱动继电器。

二、系统组成

  1. 硬件部分
    • 51单片机:作为系统的核心控制器,负责接收传感器数据、处理数据、控制报警和继电器驱动。
    • LCD1602显示屏:用于实时显示温度、烟雾浓度、火焰状态等信息。
    • DS18B20温度传感器:用于实时监测环境温度,并将数据发送给单片机。
    • 火焰传感器:用于检测火焰状态,并将数据发送给单片机。
    • 烟雾传感器:用于检测烟雾浓度,并将数据发送给单片机。
    • 继电器:根据单片机的控制信号,驱动外部设备(如报警器、灭火器等)进行相应操作。
    • 按键:用于手动控制继电器的开关。
  2. 软件部分
    • C语言:作为系统的编程语言,实现数据的采集、处理、显示和报警控制。
    • LCD1602驱动库:用于实现LCD1602显示屏的初始化、清屏、显示文本等功能。
    • DS18B20温度传感器驱动:用于读取DS18B20温度传感器的数据。
    • 火焰传感器和烟雾传感器驱动:用于读取火焰传感器和烟雾传感器的数据。

三、系统设计

  1. 硬件设计
    • 将DS18B20温度传感器、火焰传感器和烟雾传感器分别连接到51单片机的相应引脚上,以便单片机能够读取传感器的数据。
    • 将LCD1602显示屏连接到单片机的I/O口上,用于实时显示信息。
    • 将继电器的控制线连接到单片机的输出引脚上,以便单片机能够控制继电器的开关。
    • 将按键连接到单片机的输入引脚上,以便单片机能够接收按键的输入信号。
  2. 软件设计
    • 初始化LCD1602显示屏和各个传感器。
    • 循环读取DS18B20温度传感器、火焰传感器和烟雾传感器的数据。
    • 根据读取到的数据判断是否有火灾发生,如果有则触发报警并驱动继电器进行相应操作。
    • 通过LCD1602显示屏实时显示温度、烟雾浓度、火焰状态等信息。
    • 实现按键控制继电器的功能,即按一下按键控制继电器开,再按一下按键控制继电器关。

四、系统测试

在实际环境中进行系统测试,验证系统的稳定性和可靠性。测试内容包括:

  1. 温度检测功能测试:测试系统能否正确读取DS18B20温度传感器的数据,并在LCD1602显示屏上正确显示。
  2. 火焰检测功能测试:测试系统能否正确读取火焰传感器的数据,并在检测到火焰时触发报警。
  3. 烟雾检测功能测试:测试系统能否正确读取烟雾传感器的数据,并在检测到烟雾时触发报警。
  4. 继电器控制功能测试:测试系统能否通过按键正确控制继电器的开关。

五、总结与展望

一、总结

本次基于51单片机的温度、烟雾、火焰检测火灾报警系统设计旨在构建一个功能全面、响应迅速的火灾预防与报警系统。通过采用LCD1602显示屏、DS18B20温度传感器、火焰传感器等核心组件,结合按键控制驱动继电器,该系统能够实时监测环境温度、火焰状态,并通过显示屏直观展示相关信息。在检测到火灾隐患时,系统能够迅速触发报警,并通过继电器控制外部设备,如报警器、灭火器等,实现火灾的初步控制。

在系统设计与实现过程中,我们取得了以下成果:

  1. 硬件设计合理:系统硬件部分采用了成熟的51单片机作为核心控制器,结合DS18B20温度传感器和火焰传感器,实现了对温度、火焰状态的实时监测。同时,LCD1602显示屏和按键模块为用户提供了友好的交互界面。
  2. 软件编程可靠:我们采用C语言编写系统程序,实现了数据的采集、处理、显示和报警控制等功能。程序逻辑清晰,运行稳定可靠,能够满足系统的各项要求。
  3. 功能实现完善:系统能够实时监测环境温度、火焰状态,并在检测到火灾隐患时触发报警。同时,通过继电器控制外部设备,实现了对火灾的初步控制。此外,系统还具备按键控制功能,方便用户进行设备控制和系统设置。
  4. 实用性高:该系统结构简单、成本低廉、易于实现,可广泛应用于家庭、工厂、仓库等场所的火灾预警和防范。其准确可靠的性能为人们的生命财产安全提供了有力保障。

二、展望

尽管本次设计的火灾报警系统已经具备了一定的实用性和可靠性,但仍存在一些改进和扩展的空间:

  1. 增加烟雾检测功能:目前系统仅支持温度和火焰检测,未来可以加入烟雾传感器,实现对烟雾浓度的实时监测,进一步提高系统的火灾预警能力。
  2. 优化报警方式:目前系统主要通过声光报警器进行报警,未来可以探索更多样化的报警方式,如短信通知、电话呼叫等,以便更及时地将火灾信息传达给用户。
  3. 提高系统智能化程度:可以引入机器学习等先进技术,对传感器数据进行智能分析,实现更准确的火灾预测和判断。同时,通过物联网技术将系统接入互联网,实现远程监控和控制。
  4. 增强系统稳定性与可靠性:在系统设计和实现过程中,需要进一步优化电路设计和软件编程,提高系统的稳定性和可靠性。同时,加强系统的抗干扰能力,确保在各种复杂环境下都能正常工作。

总之,基于51单片机的温度、烟雾、火焰检测火灾报警系统具有广阔的应用前景和巨大的发展潜力。未来我们将继续深入研究和完善该系统,为人们提供更加安全、智能的火灾预防与报警解决方案。

/*采用51系列的STC12C5A60S2单片机,是升级版带ADC采集功能的51单片机*/
#include "STC12C5A60S2.h"
#include "intrins.h"
#include "stdio.h"
#include "pm2.5.h"
#include "lcd.h"
#include "18b20.h"
#define FOSC    11059200L

uint buf=50,buf1=25,e=0,wen1=0;//设置阈值
uint bug=0;
sbit key1=P3^5;//设置
sbit key2=P3^6;//+
sbit key3=P3^7;//-
sbit led1=P2^2;//led1
sbit led2=P2^3;//led2
sbit beep=P2^0;//蜂鸣器
sbit huo=P3^3;//火焰传感器
void  delay_m(int ms)//延时函数
{
     int i;
	 do{
	      i = 11059200L / 13000;
		  while(--i)	;   //14T per loop
     }while(--ms);
}


void main()
{
	USART_Init();
		ADC_Init();//ADC初始化
	init();//LCD初始化
	delay_m(200);
	key1=key2=key3=1;
    while (1)
		{
			if(key1==0)//设置按键
			{
				bug++;
				if(bug>2) bug=0;
			}
			if(key2==0&&bug==1)//温度按键+
			{
			buf++;
				if(buf>99) buf=99;
			}
			if(key3==0&&bug==1)//温度按键-
			{
			buf--;
				if(buf<1) buf=1;			
			}	

			if(key2==0&&bug==2)//浓度按键+
			{
			buf1++;
				if(buf1>99) buf1=99;
			}
			if(key3==0&&bug==2)//浓度按键-
			{
			buf1--;
				if(buf1<1) buf1=1;			
			}	
			
			e=ADC_Value(0)*100-180;		//读取烟雾浓度
		if(e>400) e=0;		
			write_1602(13, e%1000/100+0x30);	//显示函数					
			write_1602(14, e%100/10+0x30);		 	
			write_1602(15, e%10+0x30);

			write1_1602(13, buf%1000/100+0x30);						
			write1_1602(14, buf%100/10+0x30);		 	
			write1_1602(15, buf%10+0x30);
			wen1=Get_Tmp();                   //读取温度
			write_1602(6, wen1%1000/100+0x30);//显示
			write_1602(7, wen1%100/10+0x30);		
			write_1602(9, wen1%10+0x30);
			
			write1_1602(6, buf1%100/10+0x30);		
			write1_1602(7, buf1%10+0x30);
			beep=1;
			if(e>buf)//浓度大于预设值  led和蜂鸣器报警
			{
			led1=0;
			beep=0;
			}
			else led1=1;
			if(wen1>(buf1*10))//温度大于预设值  led和蜂鸣器报警
			{
			led2=0;
			beep=0;
			}			
			else led2=1;	
			
			if(huo==0) beep=0;  //检测到火焰传感器  蜂鸣器报警
 if(bug==0)
 {
		write1_1602(11, 'E');
	 write1_1602(0, 'S');
 }
  if(bug==1)
 {
		write1_1602(11, 'B');
	 write1_1602(0, 'S');
 }
  if(bug==2)
 {
		write1_1602(11, 'E');
	 write1_1602(0, 'B');
 }
 
		}
}







  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创工作室li

你的鼓励将是大学生的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值