500字范文,内容丰富有趣,生活中的好帮手!
500字范文 > 基于单片机GSM的防火防盗系统的设计

基于单片机GSM的防火防盗系统的设计

时间:2023-07-13 03:20:49

相关推荐

基于单片机GSM的防火防盗系统的设计

目录

【功能介绍】

【原理图】

【PCB】

【实物图】

【元器件清单】

【源程序】

【原理介绍】

【参考文献】

【功能介绍】

本系统建立了一个基于GSM网络及短信息平台上的安防系统,设计中采用了STC89C52单片机系统、无线GSM短信模块及传感器技术。通过对主控模块、通信网络、传感器模块、短信模块及接口电路的控制。实现了系统的远程报警及控制功能,可以实现如下功能。

(1)该设计包括硬件和软件设计两个部分。模块划分为数据采集、单片机控制、GSM短信报警等模块子函数。

(2)系统可实现功能。当人员外出时,可把报警系统设置在外出状态,探测器开始工作,当有人闯入时,热释电红外传感器将探测到动作,并短信报警,向用户发送短信息实现远程防盗报警功能。

【原理图】

【PCB】

【实物图】

【元器件清单】

【源程序】

#include<reg52.h>#include<intrins.h>#include "sim800.h"#define uchar unsigned char#define uint unsigned int#define K_MG_MV 120/66 typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */typedef unsigned int U16;/* defined for unsigned 16-bits integer variable 无符号16位整型变量 */unsigned char aa,bb,cc;/********测试GSM是否启动**********/int test_boot;/********测试GSM是否注册网络**********/int test_net_register;/********GSM串口接收数据缓存**********/unsigned char idata GSM_receive[60];/********GSM串口接收计数器**********/unsigned char GSMDATA_count;unsigned char *content_fire = "Please note that! There are fire,no thief!\r\n"; //请注意!无盗贼,有火灾!unsigned char *content_thief = "Please note that! There are thieves, no fire!\r\n"; //请注意!有盗贼,无火灾!unsigned char *content_fire_thief = "Please note that! There are thieves, there are fires!\r\n";//请注意!有盗贼,有火灾!unsigned char str_yw[12];//烟雾值unsigned char T_baojing = 30; //温度报警值unsigned int C_baojing = 200; //烟雾浓度报警值unsigned char T_buff[3]; //温度报警值显示缓存unsigned char C_buff[4]; //烟雾报警值显示缓存bit sdbj_flag=0; //手动报警标志bit sf_flag=0; //设防标志bit sf_flag_buff=0; //布放开始计时标志unsigned char moshi=0;//设置模式unsigned char data1; //AD转换中间值long Value;// AD转换结果值/*******引脚定义********************/sbit Infra = P3^2; // 人体红外模块sbit bADcs=P3^4; // 模数转换器引脚定义sbit bADda=P3^5; // 模数转换器引脚定义sbit bADcl=P3^6; // 模数转换器引脚定义sbit baojing=P3^7; //手动报警sbit BUZZER = P2^0; // LED蜂鸣器sbit shuibeng = P2^1;//水泵sbit fengshan = P2^2;//风扇sbit sf_led = P1^3;// 设防指示灯sbit shefang= P1^4;// 设防按键sbit shezhi = P1^5; // 设置sbit jia = P1^6; // 加sbit jian = P1^7; // 减unsigned char IntToString(unsigned char *str, int dat);extern bit Start18B20();extern bit Get18B20Temp(int *temp);// ;;;;;、‘ extern void InitLcd1602();extern void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str);float intT, decT; //温度值的整数和小数部分/*------------------------------------------------定时器初始化子程序------------------------------------------------*/void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响TH0=(65536-1000)/256; //重新赋值 1msTL0=(65536-1000)%256;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开PT0=1; //优先级打开}long kssj() //开始收集{unsigned char i;bADcs = 0;//当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用.bADcl=0;bADda=1;bADcl=1;bADcl=0;//i downbADda=1;bADcl=1;bADcl=0;// 2 downbADda=0;bADcl=1;bADcl=0;// 3 downbADda=1;bADcl=1;bADcl=0;// 4 downfor(i=8;i>0;i--){data1<<=1;bADcl=0;bADcl=1;if(bADda==1) data1|=0x01;bADda=1;}bADcs=1;Value=data1*1.0/256*500;Value=Value*K_MG_MV;Value=Value-5;if(Value<0)Value=0;return Value;}void Key_set_scan(){if(baojing==0){Delay_Ms(10);if(baojing==0){ while(!baojing);sdbj_flag =~sdbj_flag;}}if(shezhi==0){Delay_Ms(10);if(shezhi==0){ while(!shezhi);InitLcd1602();//初始化液晶moshi++;if(moshi >= 3)moshi = 0;if(moshi == 0){/*1234567890123456*/LcdShowStr(0,0,"T: C S: PPM");LcdShowStr(0,1,"");}else if(moshi == 1){LcdShowStr(0,0,"");LcdShowStr(0, 1,"Set_T: C");}else if(moshi == 2){LcdShowStr(0,0,"");LcdShowStr(0, 1,"Set_C: PPM");} }}if(jia==0){Delay_Ms(10);if(jia==0){ while(!jia);if(moshi==1){T_baojing++ ;if( T_baojing>=99 )T_baojing =99;}if(moshi==2){C_baojing++ ;if( C_baojing>=999 )C_baojing =999;}}}if(jian == 0){Delay_Ms(10);if(jian == 0){while(!jian);if(moshi==1){T_baojing-- ;if( T_baojing<=0 )T_baojing =0;}if(moshi==2){C_baojing-- ;if( C_baojing<=0 )C_baojing =0;}}}if(shefang == 0){Delay_Ms(10);if(shefang == 0){ while(!shefang);if(sf_flag == 0){sf_flag_buff = 1;sf_led = 0;}else if(sf_flag == 1){sf_flag = 0;sf_led = 1;BUZZER = 1;}}}}

本文介绍了在设计的过程的关键点,供大家参考学习,如果有错误或者不明白的可以直接私信作者,或者添加微信biyezhan007。

其他资料

【原理介绍】

MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。基本电路如图。

【参考文献】

[1]唐文彦. 传感器. 哈尔滨工业大学出版社, . 15~16

[2]伊念东. 单片机基础实用教程. 中国地质大学出版社,

[3]赵茂泰. 智能仪器原理及应用. 电子工业出版社,1999. 43~46

[4]吴政江. 单片机控制红外线防盗报警器. 锦州师范学院学报, 2001, 27(12): 55~59

[5]宋文绪. 传感器与检测技术. 高等教育出版社,

[6]李全利. 单片机原理及接口技术. 北京航空航天大学出版社, . 75~78

[7]薛均义. 张彦斌. MCS-51系列单片微型计算机及其应用. 西安交通大学出版社,

[8]康华光. 电子技术基础(模拟部分). 高等教育出版社,

[10]徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计. 北京: 北京航空航天大学出版社, . 97~99

[11]邓凯. 智能化住宅安防系统的应用. 冶金矿山设计与建设, 2000. 98~99

[12]赵晶. Prote199高级应用.北京: 人民邮电出版社, 2000. 101~103

[13]王振红,李洋.基于DTMF信号收发芯片MT8880的直接接口设计[M],电子与自动化,1999,5(2):23-56.

[14]刘波,韩宪中.MT8880在机房监控系统中的应用[J],河北省科学院学报,1999, 16(4):53-56.

[15]辛德强.X25045与8051的接口技术[J],电子技术应用,2002,4(12):20-22.

[16]石波,陈子春.用单片机实现语音提示、报警系统[J],煤矿自动化,2001,6 (5):43-44.

[17]潘桂忠,丁逸,纪兰花.微电脑自动拨号防盗报警器的设计[J],现代电于技术,,8 ( 1 ):67-69.

[18]李桂桦.家庭保安报警系统的设计[J],计算机应用,2000,6 (9):31-33.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。