基于51单片机的智能门禁系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能门禁系统
1
1.1
随着社会科学技术和社会经济的快速发展,如今信息技术早己经深入人们生活的各个领域特别是住宅小区的需要。伴随人们对财物的安全与防盗意识的不断提高,于是对高级住宅区的安全性能和门禁的系统人性化要求越来越高。智能门禁系统是现在被广泛的使用在各种建筑和楼房中,它是一种的安全性较高的控制管理系统。现如今,经济社会不断进步,人们对自己生活的要求也越来越高,现在为了保证各方面的安全,开发商一般会建筑物内的主要管理区、楼房的电梯口、数据管理中心、机要库房等重要出入口设置一些保证安全的防护措施,为了解决这些日益显现的安全问题,一种新型智能的门禁系统就诞生了,可以根据不同的时间开启不同的模式,白天自动开关门,晚上需要考虑更多的安全问题,因此需要输入密码开门。
方案一:采用继电器对门的开关进行控制,这个方案的优点是电路比较简单,缺点是继电器的响应时间慢,高频率使用的话,容易损坏。
方案二:采用三级管组成的开关电路,这种方式的过载能力强,能够接受较为频繁的负载冲击,但是需要自己焊接电路,较为复杂。
由于时间有限,而且门不是频繁的开关,对响应时间的要求也不是很高,所以本系统选用方案一。
图2-7AT24C02引脚图
3.
3.1
程序采用模块化编程,首先是按键检测,当有按键按下时,执行相应的功能;没有按键按下时,根据时间判断所处的模式;白天模式时,判断是否有人接近,有的话自动开门,五秒后自动关门;黑夜模式时,进行输入密码判断,正确的话,开门,如果输入密码错误则进入错误次数检验程序。总的程序路程图如图3-1所示。
(2)在设计数码管显示时,一开始数码管闪烁着显示,于是加快扫描时间,结果不闪烁而变得暗淡,又放慢一些扫描时间,最终调整完成。
(3)在黑夜模式时,输入密码后,门不能打。首先排除继电器问题,然后分析软件问题;重新设置初始密码,结果可以正常开门,这就说明是在重新设置密码后,保存密码出现错误,即AT24C02存储出现问题。经过仔细查看程序,分析出原因:在AT24C02存储数据的过程中,其时序不能被打乱,因此,在写入AT24C02时,将中断关闭。
图23动态数码管电路
(4)按键模块
一共16个按键,采用扫描的方法检测按键,占用8个I/O口。使用矩阵按键时,需要将按键功能选择(J5)的1、2短接。电路图如图2-4所示。
图2-4矩阵按键电路
(5)测距模块
通过超声波进行测距,通过P10发出信号,P11接收信号来测量距离。电路图如图2-5所示。
图2-5超声波电路
2.3
(1)主控元器件选择
主控元器件是系统的核心,协调控制系统的各个模块,以下给出两种方案。
方案一:STC89C516是一种灵活性高且廉价的芯片,所以本次课设选择此芯片。并且其抗干扰能力强,保密性好,难以被破解,单片机时钟有防外部电磁辐射功能。使用12M晶振,系统时钟十二分频,速度较慢。
方案二:采用宏晶公司最新STC15系列IAP15F2K61S2芯片。ISP/IAP,在系统可编程/在应用可编程,不需要仿真器;属于增强型8051CPU,1T,单时钟/机器周期,速度比普通8051快将近12倍。
时间显示界面,如图5-6所示。
图5-6时间显示界面
专业实习工作记录
时间安排
1月2日确定设计课题并讲解相关注意问题,分发实验板;
1月3日查找相关资料,并了解相关模块电路图及工作原理,设计初步流程图;
1月4日根据相关模块的原理,设计总体的流程图,然后查找相关资料进行基本功能的设计;
1月5日至1月10日完成门禁系统的密码设计;
(3)门的开关控制
当超声波测距小于30cm或正确输入密码后继电器闭合表示门已打开,5秒后继电器断开表示门已关闭。
(4)报警单元
在输入密码的状态下若连续3次输入错误的密码时,蜂鸣器报警3秒,在修改密码输入旧密码3次输错后蜂鸣器报警3秒并退出密码修改功能。
(5)EEPROM单元
用于存储新密码,当确认输入密码后从EEPROM中取出当前密码与已输入的密码进行对比,判断密码是否正确
#include "ds1302.h"
#include "intrins.h"
#include "iic.h"
#define u8 unsigned char
u8 code smg_du[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40}; //0-9灭横线
方案二:使用传统的数码管显示。数码管具有功耗低、寿命长、稳定性强、抗干扰强的特点;对外界环境要求低,可以轻松维护;同时其精度比较高,精确可靠,编程容易。数码管采用BCD编码显示数字,资源占用较少。
在本系统中,采用数码管的动态显示,以节省单片机的内部资源。
(5)存储模块器件选择
存储模块选用AT24C02用于存储密码。AT24C02内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过I2C总线接口进行操作,有一个专门的写保护功能。在单片机上的应用广泛,可以实现掉电数据不丢失功能。其引脚图如图2-7所示。
完成结果说明
经过三周课设,所有功能都已实现。在输入密码时,为了便于演示观察,直接显示的数字,没有加密处理。由于硬件资源限制,本系统应采用两个超声波测距模块,一个放在门外,一个放在门内,用于检测是进门还是出门状态。
附录A
附录B
main.c代码如下:
/*
2019年1月4日
*/
#include "STC15F2K60S2.h"//
4.
由于系统直接使用的CT107开发板,因此没有硬件仿真调试,主要是软件调试。
软件实现方面,最重要的是按键的调试,不同的按键在不同的界面有不同的功能,在某个界面时,按下不相关的按键,不能干扰程序的运行。因此使用不同标志位,控制按键。
显示方面,就是调Fra Baidu bibliotek延时问题,数码管的亮度与延时有关,需要根据主程序的运行时间,更改数码管动态显示延时,使数码管的亮度达到最佳。
图3-1主程序流程图
3.2
首先输入旧密码,如果输入密码正确,则进入新密码输入界面,输入新密码后,保存即可;如果输入旧密码错误,则进行错误次数检验程序。程序流程图如图3-2所示。
图3-2密码设置流程图
3.3
当错误次数达到三次的时候,蜂鸣器报警,未到三次前如果输入正确密码,则错误次数清0,程序流程图如图3-3所示。
(4)显示模块器件选择
系统需要显示当前时间还有输入的密码。可以考虑一下两种显示方案。
方案一:使用液晶显示屏显示距离。液晶显示屏(LCD)具有轻薄,耗电量较低,没有辐射,显示较稳定且不闪烁、画面效果好、可以显示字符、抗干扰的能力强等特点。但由于只需显示时间和密码这样的数字,八位数码管就可以满足要求,且由于液晶是以点阵的模式显示各种符号,因此需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。
图1-1系统框图
2
2.1电路实现的功能
(1)时间显示单元
通过DS1302获得时间,时间初始值为06:59:00,通过CT107D上的8位数码管显示出来。
(2)矩形键盘功能
4*4键盘功能如表2-1所示。
表2-1按键功能表
7
8
9
4
5
6
设置
1
2
3
退出
0
清除
确认
其中设置键用于修改密码,按下设置键,首先输入原密码,原密码正确后,再输入新密码;退出键用于在修改密码完成之前退出密码的修改回到密码门等待输入密码状态。
图3-3错误次数检验流程图
5.
实物正面照片,如图5-1所示。
图5-1实物正面照片
反面照片如图5-2所示。
图5-2实物反面照片
输入密码界面,如图5-3所示。
图5-3输入密码界面
修改密码,输入旧密码界面,如图5-4所示。
图5-4输入旧密码界面
修改密码,输入新密码界面,如图5-5所示。
图5-5输入新密码界面
1.2
本次课设使用IAP15F2K61S2为主控元件,通过时间模块,判断当前系统所处模式(白天模式和黑夜模式)。开关门通过驱动模块实现。在白天模式,该状态下门的开和关是通过测距模块测量的距离来控制,当测到的距离小于30cm时门就开,门开5秒后自动关闭通。在黑夜模式,门的开是通过输入正确的密码来起动,门开启后5秒后自动关闭,密码输入错误达到3次时则通过报警模块来报警。总的系统框图如图1-1所示。
由于本系统需要动态数码管显示还有按键扫描,对速度的要求较高,因此本系统选用IAP15F2K61S2芯片。其引脚图如图2-6所示。
图2-6引脚图
(2)测距模块器件选择
测距模块是用来判断门的前方是否有人进门,对于测距传感器的选择有以下几个方案。
方案一:采用激光传感器检测距离,利用光的反射原理进行距离的测量。激光具有方向性强、亮度高、单色性好、传输速度快(C=3×108m/s)等优点,因此激光传感器具有抗干扰性强,测量精度高,反应速度快等特点。但由于激光是以光速传播的,距离与时间的关系满足:2S=C×T1,在本系统中人与门的距离最大不超过2m,所以T1≤4/C=1.3X10-8s,而本次课设使用的IAP15F2K61S2的系统时钟为12M,因此远大于T1,因此需要设计外部的发射电路才能使单片机接收。于此同时,由于激光传感器的制作过程比较复杂且价格过高。单片机控制信号在延时后控制激光发射器发射激光束,同时开始计时,当接收器将接收的信号反馈给单片机时停止计时,通过时间差和光速的特点计算路程。
2.3
(1)最小系统模块
最小系统使用12M晶振,接5V电压,电源部分设有电容以防止干扰,最小系统电路如图2-1所示。
图21最小系统电路图
(2)报警模块
使用有源蜂鸣器,内含振荡器,因此只需给其高低电平就可以控制其发声,电路如图 所示。
图22蜂鸣器电路
(3)显示模块
动态数码管采用八个共阴数码管进行动态显示,利用人眼的视觉暂留,用74LS138译码器进行片选,选中M74HC573M1R,通过P2口输出相应的数据,一个输出位选数据,一个输出段码数据。其中M74HC573M1R具有锁存和驱动的功能,可以有效节约单片机资源。通过输出相应的段码后进行延时,就可以观察到八位数码管同时点亮。电路如图2-3所示。
2.2
总的电路原理图见附录A。DS130使用SPI通信时序读取时间;超声波模块测量距离;AT24C02保存密码,通过I2C总线与单片机进行通信;矩阵按键接到P3口,用于设置和输入密码、蜂鸣器模块用于报警。通过IAP15F2K61S2协调控制各个部分,原理图中使用了74LS138译码器,控制各个模块,可以有效的节约单片机端口资源,使系统更加简洁、高效。
(2-1)
在本设计中,采用高灵敏度,高可靠性,高稳定性,耐高、低温度,耐湿度,耐冲击,发射频率为40kHz的超声波传感器判断门与人的距离。在本设计中只要检测是否有人经过门前,所以需要一个超声波模块,如果需要判断人进门出门的状态,这时可设置两个超声波模块。
(3)驱动模块器件的选择
系统通过驱动模块来实现门的开关,对于驱动模块器件的选择有以下几钟方案。
1月11日至1月12日完善程序,改进功能;
1月13日至1月16日开始撰写实验报告,并进一步完善实验设计;
1月17日完成课程实验报告并进行验收,递交修改后的实验报告。
出现问题及解决方法
(1)在输入密码界面,密码为六位数字组成,当输入的密码超过六位时,虽然数码管不显示后六位,密码也显示正确,但是按清除键时,不能清除直接第六位,而是从最后输入的一位开始清除。针对此问题,需要设置当超过位数时,不能输入。同样,当清除完第一位后,不能继续清除。
方案二:采用超声波传感器测距离。由于超声波的波长短,超声波射线可以和光线一样,能够反射、折射,也能聚焦,而且遵守几何光学上的定律。即超声波射线从一种物质表面反射时人射角等于反射角。且超声波方向性好且频率高。声波在空气中传播的速度约为 ,根据公式: ,可知 ,这在单片机的机器周期内,易于进行逻辑判断。基于以上分析,决定采用方案二。单片机一个引脚发出40kHz的脉冲信号,通过驱动电路由超声波的发射器发射出去,一共发送十个,与此同时定时器开始计时,如果接收器在发完十个脉冲后未接收到反馈信号,则判断无人,延时一段时间后,单片机再发十个脉冲信号;如果接收器收到反馈信号,则判断有人,并通知单片机停止计时。通过时间差计算距离。设超声波在空气中的传播速度为340m/s,则根据计时器记录的时间t,就可以计算出发射点距人的距离(S),即
相关文档
最新文档