《基于GSM短信模块的安防报警系统设计与实现》6400字(论文)_第1页
《基于GSM短信模块的安防报警系统设计与实现》6400字(论文)_第2页
《基于GSM短信模块的安防报警系统设计与实现》6400字(论文)_第3页
《基于GSM短信模块的安防报警系统设计与实现》6400字(论文)_第4页
《基于GSM短信模块的安防报警系统设计与实现》6400字(论文)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于GSM短信模块的安防报警系统设计与实现目录摘要 附录2程序#include

"main.h"

#include

"lcd1602.h"

#include

"key.h"

#include

"ds18b20.h"

#include

"adc.h"

#include

"SIM900A.h"

uchar

key_num

=

0;//按键标志位

uchar

flag_display

=

0;//显示标志位

uint

time_num

=

0;//计时变量

uint

mq4_value,mq2_value,temp_value;

uint

temp_max

=

400;

uint

mq2_max

=

800;

uint

mq4_max

=

1000

;

bit

flag_mq4,flag_mq2,flag_temp;

void

Delay_function(uint

x);//延时函数

void

Key_function(void);//按键函数

void

Monitor_function(void);//监测函数

void

Display_function(void);//显示函数

void

Manage_function(void);//处理函数

void

main()

{

Lcd1602_Init();

//LCD1602初始化

Delay_function(50);//延时50ms

lcd1602_clean();//清屏

Delay_function(50);//延时50ms

SerialInti();

while(1)

{

Key_function();//按键函数

Monitor_function();//监测函数

Display_function();//显示函数

Manage_function();//处理函数

Delay_function(10);//延时10ms

time_num++;//计时变量+1

if(time_num

>

5000)

{

time_num

=

0;

}

}

}

void

Delay_function(uint

x)

{

uint

m,n;

for(m=x;m>0;m--)

for(n=110;n>0;n--);

}

void

Key_function(void)

{

key_num

=

Chiclet_Keyboard_Scan();//按键扫描

if(key_num

!=

0)//有按键按下

{

switch(key_num)

{

case

1://按键1

flag_display

==3

?

flag_display

=

0

:

flag_display++;

//一共4个模式

lcd1602_clean();//清屏

break;

case

2://按键2

if(flag_display

==

1)

{

temp_max+=

10;

}

if(flag_display

==

2)

{

mq2_max+=

100;

}

if(flag_display

==

3)

{

mq4_max+=100;

}

break;

case

3://按键3

if(flag_display

==

0)

{

flag_mq4

=

0;

flag_mq2

=

0;

flag_temp

=

0;

}

if(flag_display

==

1)

{

temp_max-=10;

}

if(flag_display

==

2)

{

mq2_max-=100;

}

if(flag_display

==

3)

{

mq4_max-=100;

}

break;

default:;break;

}

}

}

void

Monitor_function(void)

{

if(time_num

%

50

==

0)//500ms检测一次

{

mq4_value

=

400*((Adc0832_Get_Value(0)/256.0)*5);//获取甲烷值(0-1000)

mq2_value

=

400*((Adc0832_Get_Value(1)/256.0)*5);//获取烟雾值(0-1000)

temp_value

=

Ds18b20_Read_Temp();

}

}

void

Display_function(void)

{

switch(flag_display)//根据不同的显示标志位,显示不同的界面

{

case

0://界面0

lcd1602_display_str(1,1,"Temp:");

lcd1602_display_temp(1,6,temp_value);

lcd1602_display_str(2,1,"mq4:");

lcd1602_display_gas(2,5,mq4_value);

lcd1602_display_str(2,9,"mq2:");

lcd1602_display_gas(2,13,mq2_value);

break;

case

1://界面1

lcd1602_display_str(1,1,"

Set

Temp

MAX

");

lcd1602_display_temp(2,6,temp_max);

break;

case

2://界面2

lcd1602_display_str(1,1,"

Set

MQ2

MAX

");

lcd1602_display_gas(2,6,mq2_max);

break;

case

3://界面3

lcd1602_display_str(1,1,"

Set

MQ4

MAX

");

lcd1602_display_gas(2,6,mq4_max);

break;

default:

break;

}

}

void

Manage_function(void)

{

if(flag_display

==

0)//显示标志位为0时

{

if(mq4_value>=mq4_max)

{

if(flag_mq4

==

0)

{

BEEP=0;

LED

=

0;

send_msg_chinese("004D0051003468C06D4B6D535EA68FC79AD8FF0C8BF76CE8610F5B895168");//MQ4检测浓度过高,请注意安全

BEEP=

1;

LED

=

1;

flag_mq4

=

1;

}

}

if(mq2_value>=mq2_max)

{

if(flag_mq2

==

0)

{

BEEP=0;

send_msg_chinese("004D0051003268C06D4B6D535EA68FC79AD8FF0C8BF76CE8610F5B895168");//MQ2检测浓度过高,请注意安全

BEEP=

1;

flag_mq2

=

1;

}

}

if(temp_value>=temp_max

&&

temp_value

!=85

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论