资源简介
51单片机 GSM模块 烟雾模块 有源码Keil4/5 有仿真 送参考论文
代码片段和文件信息
#include
#include
#include //头文件
#define uint unsigned int
#define uchar unsigned char //宏定义
//按键
sbit key1=P3^2; //布防
sbit key2=P3^3; //撤防
sbit key3=P3^4; //紧急报警
sbit BUZZ=P0^4; //蜂鸣器
sbit rsd=P2^4; //热释电输入
sbit yanwu=P2^5;
sbit LED_B=P2^3; //布防指示灯
sbit LED_S=P2^0; //发送消息指示灯
uchar code PhoneNO[] =“15046397767“; //接受号码
uchar code somebody[] =“67094EBA8FDB5165FF0C8BF76CE8610F3002“; //有人进入,请注意。
uchar code somebody1[] =“70DF96FE6D535EA68FC79AD8FF0C8BF76CE8610F3002“; //烟雾浓度过高,请注意。
uchar code somebody2[] =“67094EBA8FDB5165FF0C70DF96FE6D535EA68FC79AD8FF0C8BF76CE8610F3002“; //有人进入,烟雾浓度过高,请注意。
uint TIME_50ms=0; //计时的最小分辨率50ms
uint time_continue;
uchar TIME_ALAM=0;
bit flag=0flag_BF=0;
bit flag_time_start=0;
bit again=0;
bit flag_alam;
bit SOS;
bit flag_continue;
bit into_BF=0;
void delay(uint z)//延时函数
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void Uart_init()
{
TMOD= 0X20; //T1 方式2 ,8位 自动重装
TH1=0Xfd;
TL1=0Xfd; //9600
TR1=1; // 定时器1启动
SM0=0; // 设置串口的工作模式
SM1=1; //方式1
REN=0; // 不允许串口接收数据
ES=0; // 串口中断不允许
EA=1; // 开启中断总开关
}
void SendASC(uchar d)
{
SBUF=d;
while(!TI);
TI=0;
}
void SendString(uchar *str)
{
while(*str)
{
SendASC(*str) ;
str++;
//delay_uart(1);
}
}
void TIME()
{
if(flag==0)
{
delay(50);
TIME_50ms++;
if(TIME_50ms%10==0)
LED_B=!LED_B;
if(TIME_50ms>=400)
{
TIME_50ms=0;
flag_BF=1;
LED_B=0;
flag_time_start=0;
again=1;
}
}
else
{
delay(50);
TIME_50ms++;
if(TIME_50ms%10==0)
{
LED_B=!LED_B;
if(flag_alam==1)
{
if(flag_continue==0)
{
flag_continue=1;
time_continue=TIME_50ms;
}
BUZZ=!BUZZ;
if(TIME_50ms>=time_continue+100)
{
BUZZ=1;
flag_continue=0;
flag_alam=0;
time_continue=0;
}
}
}
if(TIME_50ms>=1200)
{
LED_B=0;
TIME_50ms=0;
flag_time_start=0;
again=1;
}
}
}
//按键扫描函数
void keyscan()
{
if(key1==0&&flag_BF==0)//布防
{
delay(5);//延时
if(key1==0)
{
LED_B=0;
flag=0;
flag_time_start=1;
}
while(key1==0);
}
if(flag_time_start==1)
{
TIME();
}
if(key2==0)
{
delay(5);//撤防
if(key2==0)
{
BUZZ=1; //关闭蜂鸣器
flag_alam=0;
flag_BF=0;
flag=0;
flag_time_start=0;
LED_S=1;
LED_B=1;
}
while(key2==0);
}
if(key3==0)
{
delay(5);
if(key3==0)
{
SOS=1;
flag_alam=1;
}
while(key3==0);
}
}
void GSM_work()
{
unsigned char send_number;
if((rsd==0||yanwu==0)&&flag_BF==1)
flag_alam=1;
if(((rsd==0||yanwu==0)&&flag_BF==1&&again==1)||SOS==1)
{
LED_S=0;
BUZZ=1;
SendString(“AT+CMGF=1\r\n“);
delay(200);
SendString(“AT+CSCS=\“UCS2\“\r\n“);
delay(200);
SendString(“AT+CSMP=170225\r\n“)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 813056 2014-12-04 23:25 单片机控制红外报警系统毕业设计.doc
文件 355328 2015-04-03 10:13 基于GSM模块的防盗报警系统-毕业论文设计终稿.doc
文件 231424 2014-12-04 23:27 单片机的红外防盗系统.doc
----------- --------- ---------- ----- ----
1399808 3
- 上一篇:并网双馈异步风力发电机运行控制
- 下一篇:Hspice 很经典的教程,写的特别好
相关资源
- 8位抢答器PCB原理图
- 大话设计模式带目录完整版[中文PDF
- HyperLynx仿真与PCB设计306页.pdf
- OpenCpn源代码和可执行软件
- 吉日嘎啦 - 通用权限管理系统 V3.7源代
- 《机器学习实战:基于Scikit-Learn和T
- 大量图像去雾源代码和图像去雾质量
- linux C 编程实战PDF+源代码
- 高仿抖音微视源代码
- 偏微分图像去噪中的经典算法分裂B
- 电容式触摸按键-PCB布线
- opencv教材书籍与源代码
- Altium_Designer快速入门.pdf
- Cadence Concept-HDL Allegro原理图与电路板
- NB-IOT主流模块资料含原理图,PCB,S
- GrabCut源代码实现包含BorderMatting
- 旋转LED,各种显示方式源代码,
- 4g模块电路设计pcb
- 三路抢答器源代码
- 带中文注释的 linux 0.11 源代码
- 3D迷宫源代码+演示程序
- 编译原理语法分析、词法分析源代码
- 第七届“蓝桥杯”单片机组省赛“模
- 模块最全的51单片机开发板原理图
- dsp28335最小系统原理图
- AD18链接
- 基于单片机的老人防跌倒蜂鸣器报警
- Linux内核网络栈源代码情景分析.pdf
- 图像灰度共生矩阵的C源代码,计算灰
- PCA LabVIEW源代码
评论
共有 条评论