基于51單片機設計的的GSM的遠程家庭智能報警系統PPT內容預覽:
本設計采用的是飛思卡爾公司的加速度傳感器MMA7455I。
差容式加速度傳感器
輸出信號為數字信號,CS端口的高低電平決定其通信方式
在本設計中采用IIC通信
內部還有信號調理和電壓轉換電路電路
二 溫濕度傳感器
在本設計中采用的是溫濕度傳感器DHT11,DHT11 數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,采用的是NTC測溫元件。
運用IIC協議讀出加速度信號,并通過液晶屏分別顯示X、Y和Z軸的加速度。
對加速度信號的處理過程:
本設計只對X軸信號進行處理,為了有效避免誤報現象,我采用的是用加速度的平均值進行位移的計算:
其中的時間t我們設定為加速度值大于
到位移大于0.1m之間的時間長度。此時停止對加速度信號進行采集同時報警!
DHT11為溫濕度傳感器,我只取其采集的溫度信息并對其判斷處理。
在DHT11子函數中,由于其通信的特點,運用最多的是對不同延時程序的調用。
本設計針對現有的GSM無線網絡,介紹了基于GSM的遠程家庭智能報警系統的設計及實現方法。利用各種傳感器,如溫濕度傳感器、加速度傳感器等對家中可能出現的各種意外情況進行采集,并通過組建的家中內部無線網絡及時向單片機進行中斷報警。GSM模塊在單片機控制下,利用GSM網絡,將各種報警信息通過短信的方式發送到預先設定的手機中,達到了遠程無線智能報警的功能。同時,本文在對加速度信號的處理上,采用新的方法,即使用加速度平均值,并設定參考點的思路和方法,有效避免了漏報、誤報現象的產生,是系統更加穩定。經過測試,該系統經濟、可靠、穩定性高。家庭無需為傳感器布線,具有廣泛的市場推廣價值。
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #include <lcd_1602.h>
- #include <IIC.h>
- #include <DHT11.h>
- #include <DGSM.h>
- #include <math.h>
- #define uchar unsigned char
- #define uint unsigned int
- uint ttt,tt;
- int jiasu;
- uint chen,juli,flag;
- uchar str[8]="H: T: ";
- uchar code table4[10]="0123456789";
- //uchar U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L;
- /***************rs=P1^2;rw=P1^1;e =P1^0;液晶顯示還有P0*****************/
- /***************sda=P1^3;scl=P1^4;傳感器************/
- /***************P2_0 = P2^0 ;溫濕度**********************/
- /**************************************************************************/
- /************ 延時程序 **************/
- /**************************************************************************/
- void DelayUs(unsigned char us)//delay us
- {
- unsigned char uscnt;
- uscnt=us>>1;/* Crystal frequency in 12MHz*/
- while(--uscnt);
- }
- void DelayMs(unsigned char ms)//delay Ms
- {
- while(--ms)
- {
- DelayUs(250);
- DelayUs(250);
- DelayUs(250);
- DelayUs(250);
- }
- }
- void delay_50ms(uchar t)
- {
- uint j;
- for(;t>0;t--)
- for(j=6245;j>0;j--);
- }
- void sendx() //函數功能:向1602發送x軸測量數據
- {
- uchar x1,x2,x3,xsign;
- char x;
-
- x=iic_read(0x06);
- if(abs(x)>5)
- {
- TR0=1;
- while(abs(x)>5)
- {
-
- flag++;
- x=iic_read(0x06);
- //if((x&0x80)==0x00)
- //{
- // xsign=0x2b; //+
- // }
- // else
- // {
- // xsign=0x2d; //-
- // x=x-0x01;
- // x=~x;
- // }
- // x1=(x/63);
- // x2=((x*100/63)%100)/10;
- // x3=(x*100/63)%10;
- jiasu=jiasu+x;
- }
- }
- TR0=0;
- chen=tt;
- tt=0;
- juli=(jiasu/flag)*15*chen*chen/200;
- if(juli>100)
- A1=0;
- if((x&0x80)==0x00)
- {
- xsign=0x2b; //+
- }
- else
- {
- xsign=0x2d; //-
- x=x-0x01;
- x=~x;
- }
- // x1=(x/63);
- // x2=((x*100/63)%100)/10;
- // x3=(x*100/63)%10;
-
- // else
- // A1=1;
- x1=x/100;
- x2=x%100/10;
- x3=x%10;
- write_com(0x8B);
- write_data(xsign);
- delay_50us(10);
- write_com(0x8C);
- write_data(table9[x1]);
- delay_50us(10);
- write_com(0x8E);
- write_data(table9[x2]);
- delay_50us(10);
- write_com(0x8F);
- write_data(table9[x3]);
- delay_50us(20);
- }
-
- /***********************************************************/
- /**************** 主函數 ****************/
- /***********************************************************/
- void main()
- {
- uchar j;
- uchar shi,ge,shi0,ge0;
- init1602();
- Ini_UART(); //串口初始化
- Delaym();
- DelayMs(15);
- self_test7455();
- iic_write(0x10,0x15);//校正X值
- iic_write(0x12,0x25);//校正Y值
- iic_write(0x14,0x10);//校正Z值
- delay_50ms(20);
-
- while(1)
- {
-
- RH();
- shi=U8RH_data_H%100/10;
- ge=U8RH_data_H%10;
- str[2]=table4[shi];
- str[3]=table4[ge];
-
- shi0=U8T_data_H%100/10;
- ge0=U8T_data_H%10;
- str[6]=table4[shi0];
- str[7]=table4[ge0];
- if((shi0>3)||(shi>4))
- {
- if(shi0>3)
- A2=0;
- else
- A2=1;
- if(shi>4)
- A1=0;
- else
- A1=1;
- }
- write_com(0x80);
- for(j=0;j<8;j++)
- {
- write_data(str[j]);
- delay_50us(10);
- }
-
- sendx();
- //delay_50ms(1);
- if(A1==0)
- {
- ATD(); //打電話
- Delaym();
- Delay1(10000);
- ATH();
- Delaym();
- A1=1;
- }
- if(A2==0)
- {
- CMGF();
- Delay1(3000);
- CMGS();
- Delay1(3000);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼完整的文檔預覽: http://www.zg4o1577.cn/bbs/dpj-85501-1.html
所有資料51hei提供下載(含完整文檔+程序+ppt文件):
基于GSM的遠程家庭智能防盜系統.rar
(2.53 MB, 下載次數: 234)
2017-5-21 13:23 上傳
點擊文件名下載附件
|