单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 基于51单片机GSM模块的家庭火灾报警系统设计

基于51单片机GSM模块的家庭火灾报警系统设计

.

   线MCUMCURS232GSM


   DS18B20+MQ-2+HC-SR501+SIM800C GSM+LCD1602

.

1

2

3LED+GSM


.

1AD,

2Protues仿


3PCB

.

1

2

/************主函数****************/void main(){ unsigned char i,a,b,c; sf_flag = 0; Uart_Init(); Init_Timer0(); //定时器初始化 InitLcd1602(); //初始化液晶 Start18B20(); LcdShowStr(0,0," System init "); LcdShowStr(0,1," please wait "); for(i = 0;i < 15;i++)//等待网络稳定 { Delay_Ms(1000); } InitLcd1602(); LcdShowStr(0, 0,"T: C"); LcdShowStr(7, 0,"C: PPM"); Receive_message(); //配置成接受短信模式 while(1) { Key_set_scan();//按键扫描 if(moshi == 0) //设置模式切换 { kssj(); //开始收集 ,电压采集检测烟雾浓度 Value = Value-100;//烟雾浓度校准 if(Value<0) Value = 0; IntToString(str_yw,Value); //转换成字符串 LcdShowStr(9, 0, str_yw); //烟雾浓度显示到液晶屏上 wendu(); //温度检测并显示 if(sf_flag == 1) //当开启设防时 { if(Value>=C_baojing||intT>=T_baojing||Infra==1) //有触发报警 { BUZZER = 0; Delay_Ms(1000); LcdShowStr(0, 1," "); if(intT >= T_baojing) { /*1234567890123456*/ LcdShowStr(0,1,"temp"); if(a==0) { a=1; Send_message(content_temp); //发温度超标短信 } } else LcdShowStr(0, 1," "); if(Value >= C_baojing) { /*1234567890123456*/ LcdShowStr(5,1,"smoke"); if(b == 0) { b=1; Send_message(content_smoke); //发烟雾浓度超标短信 } } else LcdShowStr(5, 1," "); if(Infra == 1) { /*1234567890123456*/ LcdShowStr(11, 1,"body"); if(c == 0) { c=1; Send_message(content_body); //发人体进入短信 } } else LcdShowStr(11,1," ");
} else //没有触发报警 { BUZZER = 1; /*1234567890123456*/ LcdShowStr(0, 1," System normal "); } } } else if(moshi == 1) //设置温度上限模式 { T_buff[0] = T_baojing/10+0x30; T_buff[1] = T_baojing%10+0x30; T_buff[2] = '\0'; LcdShowStr(6, 1,T_buff); } else if(moshi == 2) //设置烟雾浓度上限模式 { C_buff[0] = C_baojing/100+0x30; C_buff[1] = C_baojing%100/10+0x30; C_buff[2] = C_baojing%10+0x30; C_buff[4] = '\0'; LcdShowStr(6, 1,C_buff); } }}