51单片机对宿舍防火防盗智能报警系统的设计

发布者:SereneNature最新更新时间:2023-10-10 来源: elecfans关键字:51单片机  宿舍 手机看文章 扫描二维码
随时随地手机看文章

0 引言

现如今在学校的寝室里,学生贵重物品被盗、由于学生过失而引起着火等事故时有发生,这些都是一直以来困扰着学生、学工以及学校保卫处的“大问题”。传统的防范措施存在很大的弊端,比如当事故发生时,防护铁门、铁栏杆就会成为主人逃生的最大障碍。而采用智能防火防盗报警系统,便能很好地解决此类问题了。但是市场上防火防盗系统价格对大学生来讲过高,本系统便是针对大学宿舍,从低成本的角度来设计制作的。


1 系统组成及工作原理

本系统通过一个监控室和两个宿舍来模拟,通过RS 485总线来实现通信。考虑到现实中监控室要能监控整栋宿舍楼,因此采用功能强大的ARM7芯片LPC2103作为主机控制芯片,从机采用价格低廉的51系列单片机作为控制芯片。宿舍中采用热释电传感器对人体进行检测,烟雾传感器实现烟火检测,红外传感器实现对宿舍进出人员数量的检测,主机通过RS 485总线对从机实时监控,当有异常出现时,宿舍和监控室的报警装置会同时响起,只有本宿舍成员在本宿舍通过输入从机的密码才可解除报警状态。系统的详细结构图如图1所示。

51单片机对宿舍防火防盗智能报警系统的设计

2 硬件电路设计及相关理论分析

防火防盗智能报警系统硬件主要由七大部分组成:主机部分处理器电路,从机部分处理器电路,传感器检测电路部分,声光报警电路,RS 485总线接口电路,键盘接口电路及显示电路。


2.1 传感器检测及声光报警电路

传感器模块由热释电传感器、烟雾传感器MQ211和红外传感器组成。

烟雾传感器的内部电阻是随着烟雾的浓度的变化而变化,因此要将其转化为变化的电压信号,在此通过电压比较器LM339和几个相应的分压电阻构成,具体电路设计如图2所示。在通电状态下测得传感器的内阻是130 kΩ左右,在烟雾较浓时内阻为6 kΩ左右,在无烟时比较器的负端输入为2.5 V左右,正端为1.2 V左右,有烟雾时负端为2.5 V,正端为3~5 V,此电路能很好地实现电平的转换。热释电红外传感器采用RE200B和信号处理元件BISS0001及少量外接元件组成,电路如图3所示。

51单片机对宿舍防火防盗智能报警系统的设计

51单片机对宿舍防火防盗智能报警系统的设计

红外传感器电路由红外发射二极管及1838B组成,用单片机来检测两个传感器低电平的先后顺序来判断人的进出情况。其原理如图4所示。声光报警模块由蜂鸣器、(红,绿)发光二极管和NPN型三极管驱动电路组成,具体电路图如图5所示。

51单片机对宿舍防火防盗智能报警系统的设计

51单片机对宿舍防火防盗智能报警系统的设计

2.2 RS 485通信电路

本模块采用用于RS 485与RS 422通信的低功耗、限摆率收发器MAX485。MAX485的驱动器摆率不受限制,可以实现最高2.5 Mb/s的传输速率。

3 软件程序设计

该系统软件部分主要完成了系统及各个模块初始化、警情信号检测(火警/盗情)、系统设置、RS 485总线协议及声光报警的程序设计。具体的程序流程图如图6,图7所示。

51单片机对宿舍防火防盗智能报警系统的设计

4 通信协议

在RS 485总线通信系统中,由于供电、空间噪声以及传输路径等因素的影响,数据传播过程中很容易受到干扰或者信号衰减,造成通信失败,因而需要设计一种传输协议,保证在这种不可靠的物理链路上建立起可靠的数据连接。本系统中,数据采集器与监控室主机是一个简单的多点对一点通信。

4.1 波特率设置及通信方式的选择

考虑到RS 485总线自身的特点并兼顾到数据通信的速度和稳定性,波特率选择2 400 b/s,这样可以传输更远的距离。由于通信是多对一的关系,串口选择工作方式3。

4.2 数据校验方式的确定

使用RS 485总线通信技术传输数据时,很容易遇上干扰,使传输数据发生改变,从而导致传输错误。考虑到系统的实际要求,本设计采用8位的CRC(循环冗余校验)校验方式。

CRC校验和的计算是一种循环计算。从数学角度看,CRC校验和是用生成多项式(算法规则)去除一个多项式(由数据块表示),CRC校验为相除后所得的余项。CRC校验是对要传送的一个数据块附加一些校验位,这些校验位(CRC校验位)由该数据块算出,并随同数据块一并传送。在接收端,对收到的数据块重新按规定的算法计算CRC校验和,从而可以判别数据传输过程是否出错。

4.3 通信数据的编码

为保证数据传输的可靠性和准确性,本设计采用的数据帧格式如表1所示。其中,前2个字节为起始同步信号,地址码占用1个字节(0~255),用它来标示不同床位号;待发数据包括:烟雾传感器信号(1 B)、红外传感器信号(1 B)、热释电传感器信号(1 B)和采集时间(7 B);校验码为8位的CRC校验码。传输顺序为:烟雾传感器信号、红外传感器信号、热释电传感器信号(高位在前,低位在后)、采集时间(依次为:秒、分、小时、日、月、年);当发送应答命令时,待发数据为2 B的0xCC或者0xBB。

51单片机对宿舍防火防盗智能报警系统的设计

4.4 RS 485的通信协议

本系统的RS 485总线通信采用轮询的方法。主机向RS 485总线上发送各个从机的地址,对各个从机依次询问查看从机部分是否有警报。如果某从机有警报,就会通过RS 485总线发送指令报告给主机,然后主机和该从机通信,从机发送数据包,主机接受并解析该数据包,并作出相应处理。主机会不断的查询各个从机的状况,做到实时监控。

5 系统测试与结果分析

本系统经测试,传感器性能稳定,热释电传感器检测距离能达到5~8 m,烟雾传感器能够很好地实现防火功能;红外传感器很灵敏,可以有效地检测出人员的进出情况;RS 485总线能够很好地实现主机与从机之间的通信,做到实时监控。各个模块能够很好地链接在一起,有较高的稳定性。经过多次调试,该系统实现了设计要求。整体效果令人满意。


6 结语

本文所述的宿舍智能化防火防盗报警系统为宿舍安防提供了一条可行途径。该系统利用多传感器检测,通过RS 485总线自动实现对外求助,具有智能化、自动化特点,系统具有较为广阔的应用前景,对于日趋提高的安防要求,在系统今后的进一步改进中,可通过在探测器上加微处理器的方法,进行实时监测。对于大学生宿舍的安全建设具有重要意义。


关键字:51单片机  宿舍 引用地址:51单片机对宿舍防火防盗智能报警系统的设计

上一篇:51单片机流水灯电路图大全
下一篇:聊聊你知道的串口

推荐阅读最新更新时间:2024-11-12 00:00

51单片机编程指令系统中符号的意义
指令的长度 所谓指令的长度,就是描述一条指令所需要的字节数,用一个字节能描指令,同理,用两个字令,同理,用两个字节描述的叫2字节指令,用三个字节描述的指令就叫3字节指令。在这里我们对80C51的111条指令进行了分类: 1字节指令共有49条 2字节指令共有45条 3字节指令共有17条 到底哪条指令是1字节、2字节或者3字节指令,在我们后面的指令表中都可以查阅到的。 这里有一个问题请大家引起注意,在前面的课程中,我们学习过指令计数器PC,PC是一个16位的计数器,那么这个指令计数器是怎样来计数的呢?我们的指令有1字节、2字节、3字节指令。是不是每执行一个字节,这个指令计数器PC就自动加1?答案是错误的!!实际上,PC始终是跟踪着指令的
[单片机]
C51单片机的PID程序编写
//主程序====================================================== #include “Main.h” #include “PID_f1.h” /* 。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。.. */ /* 。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。..。.. */ void main(void) { float x,y,z; while(1) { x = PID_Control(y,z); } } //PID子程序=====
[单片机]
基于51单片机的广告灯设计
1.实验任务   利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。 2.电路原理图                   图4.5.1 3.系统板上硬件连线   把“ 单片机 系统”区域中的P1.0-P1.7用8芯排线连接到“八路 发光二极管 指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。 4.程序设计内容   在用表格进行程序设计的时候,要用以下的指令来完成 (1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。 (2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,
[单片机]
基于<font color='red'>51单片机</font>的广告灯设计
C51单片机 定时器模拟单路输出PWM
前言 本博文基于STC89C52RC和Keil5 C51环境开发; 如有不足之处还请多多指教; 需要的东西 定时器0; 管脚P1.0; 代码如下: #include STC89C5xRC.H #define ENABLE 1 #define DISENABLE 0 typedef unsigned char uchar8; sbit P1_0 = P1^0; bit Flag = 0; /* 占空比的时间计算: 占空比 = 高电平时间 /(高电平时间+低电平时间); */ //高电平时间(初始值为:0x02EE,即十进制750) uchar8 Timer0_TH0_High_Level_Time = 0
[单片机]
51单片机中断编写的4x4键盘程序
应用查询扫描编写键盘程序,由于要给按键去抖动,程序变得比较复杂和冗长(详见2013年9月29日博文《MSP430和AT89C51单片机4x4键盘C程序》),如果用中断编写,设置中断响应在下降沿时执行中断,则程序编写不用去抖动判断,所以相比较要简单很多!下面用汇编和C语言两种方式编写4X4键盘程序! 一、汇编程序 ORG 0000H LJMP MAIN ORG 0003h Ljmp ZD0 ORG 000Bh LJMP TZD0 ORG 0013h Ljmp ZD1 ORG 001Bh LJMP TZD1
[单片机]
用<font color='red'>51单片机</font>中断编写的4x4键盘程序
51单片机4种流水灯
程序说明: LED连接在P2引脚上。 程序现象: 1、先从右到左逐个亮灭;再从左到右逐个亮灭; 2、由两侧向中间,再中间向两侧亮灭; 3、先右再左逐个亮起,不熄灭;再从左到右逐个熄灭; 4、先左再右逐个亮起,不熄灭;再从右到左逐个熄灭; #include reg52.h #define led P2 //对整个P2端口进行操作 /* 延时函数 */ void delay(unsigned int del) //10ms * del { unsigned int i,j; for(i=0; i del; i++) for(j=0; j 1827; j++) ; } void Led_Pipeline
[单片机]
C51单片机LED灯的控制
1、一盏一盏的操作:即先令第一盏灯亮,延时,再令它熄灭,延时,再让下一盏灯重复操作即可;(略) 2、利用数组方法点亮:先定义一个数组,其中存入相应8盏灯亮的数字(即0xfe,0xfd,0xfb,0xf7,0xef,oxdf,0xbf,0x7f:依次代表只有第一盏灯,第二盏灯....亮),再利总线,按顺序点亮八盏灯;(后面对数码管的控制将用类似的方法) 3、利用移位方法点亮(这种方法,程序看起来简单些,但实质上还是一个一个的控制)。下面是位移方法的程序 共阳,P2端控制。 下面的代码是两种灯得控制: #include reg52.h typedef unsigned char uchar; typedef un
[单片机]
C<font color='red'>51单片机</font>LED灯的控制
51单片机入门led闪烁程序
简介:51单片机入门led闪烁程序 这一节简单讲下proteus仿真软件的使用,关键在于需要的元器件的代号,比如电阻是resistor,电容是capacitor等等,不过不用刻意去记,用得多了自然就记住了,碰到新的元器件就网上查找。 上图中的例子是单片机的最小系统以及LED灯,...... 这一节简单讲下proteus仿真软件的使用,关键在于需要的元器件的代号,比如电阻是resistor,电容是capacitor等等,不过不用刻意去记,用得多了自然就记住了,碰到新的元器件就网上查找。 上图中的例子是单片机的最小系统以及LED灯,左侧栏里显示了这一原理图的元器件列表,如果要添加某元器件,那么就单击“P”,就会弹出选择元器件的
[单片机]
<font color='red'>51单片机</font>入门led闪烁程序
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved