《基于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

提交評論