一.系统概述
本次设计的火灾检测报警系统使用温度传感器进行温度检测,使用烟雾传感器进行烟雾浓度检测,检测到的数据会通过显示屏进行显示,并且当检测到烟雾浓度超限或者检测到温度超过设定阈值就会控制报警,并进行灭火。
二.仿真概述
1. 启动仿真显示屏上显示温度和烟雾浓度数据,并且还会实时显示设定的阈值。
2. 调节烟雾传感器的滑动变阻器,当检测到烟雾浓度超过设定阈值就会控制报警并进行灭火
3. 调节DS18B20的红色按钮,当检测到温度超过设定阈值就会控制报警并进行灭火
4.使用按键进行温度和烟雾浓度的阈值设定,按下设置按键就能重新设置,设置完需要按下确认
三.程序设计
#include#include #include #include #include #include #include #include "PCF8591.h" int main(void) { u8 t,s,k,m=0,Tmax = 50,Smax=50; Key_Init(); Lcd1602_Init(); Led1_Init();//PC0 Beep_Init();//PA13 Ds18b20_Init();//PA12 PCF8591_Init(); Lcd1602_Write_String(0x80,2,(u8*)"T:"); Lcd1602_Write_String(0x86,2,(u8*)"!:"); Lcd1602_Write_String(0xc0,2,(u8*)"S:"); Lcd1602_Write_String(0xc6,2,(u8*)"!:"); Lcd1602_Write_String(0xc4,2,(u8*)"%"); while(1) { k =Key_detect(); Lcd1602_Write_Num8(0x8c,m); t =Ds18b20_Temp() ; s =PCF8591_ADC_Input(0x90,1); Lcd1602_Write_Num8(0x82,t); Lcd1602_Write_Num8(0x88,Tmax); Lcd1602_Write_Num8(0xc2,s); Lcd1602_Write_Num8(0xc8,Smax); if(Key2==0) { m++; if(m==3) m=0; } if(Key3==0) { m=0; } // if(m==1) { Lcd1602_Write_String(0xcA,1,(u8*)" "); Lcd1602_Write_String(0x8A,1,(u8*)"<"); if(Key0==0) Tmax++; else if(Key1==0) Tmax--; } else if(m==2) { Lcd1602_Write_String(0x8A,1,(u8*)" "); Lcd1602_Write_String(0xcA,1,(u8*)"<"); if(Key0==0) Smax++; else if(Key1==0) Smax--; } else if(m==0) { Lcd1602_Write_String(0x8A,1,(u8*)" "); Lcd1602_Write_String(0xcA,1,(u8*)" "); if(t>Tmax||s>Smax) { Beep_1;Led1_1; } else if(t
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6011文章
44166浏览量
624507 -
报警系统
+关注
关注
5文章
629浏览量
74765 -
STM32
+关注
关注
2251文章
10728浏览量
350515
原文标题:Proteus仿真实例_基于STM32单片机的火灾检测报警系统(仿真文件+程序)
文章出处:【微信号:小常硬件,微信公众号:小常硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于单片机的实时温度检测报警系统
谁帮我设计一下啊,基于单片机的实时温度检测报警系统 ,用STC89C52,DS1302,DS18B20,LCD1602,要总体仿真图,总程序,以及各部分的仿真模块及程序,谢谢哦~{:7:}
发表于 05-17 20:51
红外遥控设置单片机的温度检测报警系统的上下限
怎么样实现红外遥控设置基于单片机的温度检测报警系统的上下限设定?如题啊,求资料。。。。。。。。497530765@qq.com
发表于 01-05 19:12
评论