⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 security.c

📁 基于AT89S52的GSM安防系统
💻 C
字号:
 /***************************************************************
 ****************************************************************
 ****名 	 称:    security.c  安全监控扫描				*****
 ****														*****
 ****使用的资源:											*****
 ****														*****
 ****														*****
 ****************************************************************
 ****************************************************************/
#include <at89x52.h>
#include <gsm-at.h>
#include <lcd.h>

#define uchar unsigned char
extern uchar idata phonenum[15];//存放要发送对象的号码
extern uchar Nindex[];	//存放发送到SIM卡中短信返回的index

extern uchar key_state;//key_state为录入号码判断位
uchar sec_sign=0;//警报标志位
uchar send_Msg_sign1=0;//发送短信标志位	红外
uchar send_Msg_sign2=0;//发送短信标志位	燃气
uchar send_Msg_sign3=0;//发送短信标志位	烟雾


//警报扫描初始化  初始化所有检测电平,等待警报电平进入
void init_security()
{
	P2_0 = 1;
	P2_1 = 1;
	P2_2 = 1;
}
//安全监控扫描
bit scan_Security()
{
	if(sec_sign == 0 && (key_state =='*' || key_state == '#'))
	{
		LCD_clear();//清屏
		disp16_16(0,0,36);//监
		disp16_16(2,0,37);//控
		disp16_16(4,0,38);//中
		LCD_write_String(0,2,"...");
		init_security();
		send_Msg_sign1=0;//清发送短信标志位 红外
		send_Msg_sign2=0;//清发送短信标志位	燃气
		send_Msg_sign3=0;//清发送短信标志位	烟雾
	}
	
	//if(scan_s & 0x01)
	if(P2_0 == 1)
	{
		send_Msg_sign1++;//置发送短信标志位	红外
		P0_4 = 0;//开指示灯1
		if(send_Msg_sign2 !=1 && send_Msg_sign3 != 1)
			P0_3 = 0;//开蜂鸣器
		P0_7 = 1;//关指示灯4 表示不安全
		if(sec_sign==0)
			LCD_clear();//清屏
		sec_sign=1;//开警报标志位

		disp16_16(0,0,4);//红
		disp16_16(2,0,5);//外
		disp16_16(4,0,10);//警
		disp16_16(6,0,11);//报
		if(send_Msg_sign1++ == 1)
			Send_message(Nindex[1]);	   //发送短信:	有人行窃!
		return 2;
	}
	if(P2_1 == 1)//(scan_s & 0x02)
	{
		send_Msg_sign2++;//置发送短信标志位	燃气
		P0_5 = 0;//开指示灯2
		if(send_Msg_sign1 !=1 && send_Msg_sign3 != 1)
			P0_3 = 0;//开蜂鸣器
		P0_7 = 1;//关指示灯4 表示不安全
		
		if(sec_sign==0)
			LCD_clear();//清屏
		sec_sign=1;//开警报标志位

		disp16_16(0,2,8);//燃
		disp16_16(2,2,9);//气
		disp16_16(4,2,10);//警
		disp16_16(6,2,11);//报
		//LCD_write_char(Nindex[2]);
		if(send_Msg_sign2 == 1)
			Send_message(Nindex[2]);	   //发送短信:	厨房有燃气泄漏!
		return 3;
	}
	if(P2_2 == 1)//(scan_s & 0x04)
	{
		send_Msg_sign3++;//置发送短信标志位 烟雾
		P0_6 = 0;//开指示灯3
		if(send_Msg_sign1 !=1 && send_Msg_sign2 != 1)
			P0_3 = 0;//开蜂鸣器
		P0_7 = 1;//关指示灯4 表示不安全
		
		if(sec_sign==0)
			LCD_clear();//清屏
		sec_sign=1;//开警报标志位

		disp16_16(0,4,6);//烟
		disp16_16(2,4,7);//雾
		disp16_16(4,4,10);//警
		disp16_16(6,4,11);//报
		if(send_Msg_sign3 == 1)
			Send_message(Nindex[3]);	   //发送短信:	屋内有火灾警情!
		return 4;
	}

	if(sec_sign == 0 && (key_state =='*' || key_state == '#'))
	{
		P0_7 = 0;//开指示灯4 表示安全
/*		LCD_clear();//清屏
		disp16_16(2,2,12);//一
		disp16_16(4,2,13);//切
		disp16_16(6,2,14);//正
		disp16_16(8,2,15);//常
*/
		send_Msg_sign1=0;//清发送短信标志位 红外
		send_Msg_sign2=0;//清发送短信标志位	燃气
		send_Msg_sign3=0;//清发送短信标志位	烟雾
		LCD_write_String(6,2,"...");
		return 0;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -