📄 security.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 + -