基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

您所在的位置:网站首页 火灾报警器内部结构 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

2024-07-09 19:42| 来源: 网络整理| 查看: 265

本设计: 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告) Proteus仿真版本:proteus7.8 原理图:Altium Designer 程序编译器:keil 4 编程语言:C语言 编号C0017

【腾讯文档】C0017 网盘链接 https://docs.qq.com/doc/DS3JiakhvUFJneHFL

整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。 1.烟雾采集传感器选用MQ-2,由于该传感器输出的是模拟信号,因此需要模数转换芯片ADC0832,把模拟信号转为数字信号再传给单片机; 2.温度采集使用DS18B20数字传感器,该传感器通过单总线和单片机相连; 3.火焰检测使用火焰检测模块,该模块完成了信号的检测、放大、比较等处理,最终输出高低电平信号给单片机; 4.显示设备使用1602液晶,可以在屏幕上显示实时烟雾浓度值、温度值,以及报警值等信息; 5.报警模块则采用蜂鸣器和LED灯组成,三个LED分别代表了火焰报警指示、烟雾报警指示和温度报警指示,无论哪个检测元素超标,蜂鸣器都会鸣叫报警; 6.3个按键作为操作输入设备,可以用来调节报警阈值的大小; 7.供电采用常用的USB 5V进行供电。 在这里插入图片描述

仿真图(提供源文件): 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

原理图(提供源文件): 在这里插入图片描述

源程序(提供源文件):

void main(void) { int temp; // 保存温度值 uchar num; // 保存烟雾值 uchar i; // 循环变量 LcdInit(); // 液晶功能初始化 LcdShowInit(); // 液晶显示内容初始化 gMqAlarm=EEPROM_Read(0x2000); // 从EEPROM中读取报警值 if((gMqAlarm==0)||(gMqAlarm>100)) // 如果读出来数据异常,则重新赋值30 gMqAlarm=30; LcdGotoXY(0,11); // 光标定位 LcdPrintNum1(gMqAlarm); // 显示烟雾浓度的报警值 gTempAlarm=EEPROM_Read(0x2001)-55; // 将温度报警值读取出来 if((gTempAlarm125)) // 如果读出来数据异常,则重新赋值40度 gTempAlarm=40; LcdGotoXY(1,11); // 光标定位 LcdPrintNum2(gTempAlarm); // 显示温度的报警值 while(DS18B20_ReadTemp()==85) // 等待传感器初始化完成 { DelayMs(10); } while(1) { num=Get_ADC0832(); // 获取烟雾的浓度值 num=num/2.2; // 调整浓度值,使其在0-100之间变化 if(num>100) num=100; LcdGotoXY(0,5); // 液晶光标定位到第0行第5列 LcdPrintNum1(num); // 显示烟雾浓度的值 temp=DS18B20_ReadTemp(); // 读取温度值 LcdGotoXY(1,5); // 液晶光标定位到第1行第5列 LcdPrintNum2(temp); // 显示温度值 AlarmJudge(num,temp); // 报警判断 for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3