基于单片机的智能指纹门禁系统的设计+系统电路原理+程序源代码.docx
《基于单片机的智能指纹门禁系统的设计+系统电路原理+程序源代码.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能指纹门禁系统的设计+系统电路原理+程序源代码.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机的智能指纹门禁系统的设计+系统电路原理+程序源代码
摘要
随着社会的发展,人们安全意识不断加强,但是由于工作和生活的原因,在家的时间不断减少,所以社区和住房安全问题困扰这大家。
一般的社区很少有门卫或者安全的大门可以随便出入,或者门禁的采用普通的锁具安全性低,所以我想由此设计出一款安全性高,性价比高,具有大规模普及的智能指纹门禁系统。
指纹识别技术是一门基于图像处理和计算机技术发展而来的学科,随着指纹技术的不断发展,逐渐变得价格低廉并且准确性高,具有大规模普遍的价值。
指纹作为一种生物识别特征,它具有唯一性,不可更改的特性,每个人的指纹都各不相同并且不会随着时间的变化而变化,也不容易被盗取。
本次设计以单片机为基础,采用指纹识别模块,液晶屏,蜂鸣器,矩阵键盘,电源,时钟电路,电磁锁等构成。
设计原理为:
通过指纹识别模块实现指纹的录入,对比以及删除,由模块通过串口将结果上传到单片机,然后由单片机控制门禁系统的开关动作。
关键词:
单片机;指纹识别;指纹锁;液晶屏
最终完成的系统实物可以通过指纹和密码两种方法打开门禁,当指纹开锁不可行的时候,可使用密码开锁,系统具有录入和删除指纹模板,更改管理员密码等功能。
本次设计的智能指纹门禁系统与如今市面上的普通锁具相比,具有安全性高,操作简单,性价比高,可大规模普遍的特点。
可以广泛的应在社区门卫,家庭门锁等方面。
Abstract
Withthedevelopmentofsociety,people'sawarenessofsafetyhasbeencontinuouslystrengthened,butduetoworkandlifereasons,thetimeathomehasbeendeclining,socommunityandhousingsafetyissueshaveplaguedeveryone.Ingeneralcommunities,therearefewdoorguardsorsecuregatesthatcanbeeasilyaccessed,ortheuseofordinarylocksforaccesscontrolhaslowsecurity,soIwanttodesignasmartfingerprintaccesscontrolwithhighsecurity,highcostperformance,andmasspopularity.system.
Fingerprintrecognitiontechnologyisadisciplinebasedonthedevelopmentofimageprocessingandcomputertechnology.Withthecontinuousdevelopmentoffingerprinttechnology,ithasgraduallybecomecheaperandmoreaccurate,andhaslarge-scaleuniversalvalue.Asabiometricfeature,fingerprintsareuniqueandunchangeable.Eachperson'sfingerprintsaredifferentandwillnotchangewithtime.Itisalsonoteasytobestolen.
Thedesignisbasedonasingle-chipmicrocomputer,usingafingerprintrecognitionmodule,LCDscreen,buzzer,matrixkeyboard,powersupply,clockcircuit,electromagneticlock,etc.Thedesignprincipleis:
fingerprintsareentered,compared,anddeletedthroughthefingerprintrecognitionmodule.Themoduleuploadstheresultstothemicrocontrollerthroughtheserialport,andthenthemicrocontrollercontrolstheopeningandclosingoftheaccesscontrolsystem.
Thefinalsystemobjectcanbeunlockedbyfingerprintandpassword.Whenfingerprintunlockingisnotfeasible,passwordunlockingcanbeused.Thesystemhasthefunctionsofenteringanddeletingfingerprinttemplatesandchangingtheadministratorpassword.Comparedwithordinarylocksonthemarkettoday,theintelligentfingerprintaccesscontrolsystemdesignedthistimehasthecharacteristicsofhighsecurity,simpleoperation,highcostperformance,andcanbewidelyusedonalargescale.Canbewidelyusedincommunitydoorguards,familydoorlocksandsoon.
KeyWords:
MCU;Fingerprintrecognition;Fingerprintlock;LCD
1引言
在传统意义上的各种防盗系统我们大多数情况下都是采用各种各样的钥匙来保护我们的财产安全,比如说各种防盗门,安全柜以及各种行旅箱上采用的数码锁,大多采用物理性结构,而在网络上,大多采用密码的形式,比如电子邮箱的登陆密码,各种论坛的密码,以及各类网银的支付密码等各种形式,这基本上都是属于传统形式上的安全防盗系统,一但密码或者钥匙被盗取,钥匙遗失以及忘记密码等情况,都会造成经济上的损失。
随着社会的不断发展,传统意义上的安全防盗系统的安全性不断被削弱,越来越容易被破解和盗取,而我们对个人信息的安全认证和个人权限的安全认定要求也不断加强。
指纹是人的身体皮肤上很小的一部分,但是这很小的一部分却蕴含着巨大的信息量,想要对这些信息一一的进行比照,最终得出比照的结果,运算量也是巨大的,但是随着科学技术的进步和发展,集成化技术的不断成熟使我们可以将大量的元器件集成在一小块的芯片上,制作出体积小质量轻的指纹采取设备,并且计算机的运算量也跟着迅猛发展的科技而不断提高,微型计算机甚至是单片机也因为快速提升的运算速度达到可以支撑指纹对比的运算量。
综合以上使得小型的指纹识别设备可以在各种轻型锁具上的以应用。
1.1指纹识别技术的发展与原理
指纹技术的系统化的研究是从十九世纪开始并且得出来两个重要的结论:
一是没有任何两个指纹的纹线形态是一致的;二是指纹纹线的形态终身不变。
指纹技术因为集成化技术的迅速成熟,加上指纹技术的快速发展到了二十一世纪开始出现了体积小易携带,价格低廉,识别准确度高可靠性强的指纹识别设备开始出现,生活中也出现了大量与指纹识别技术相关的产品。
指纹识别技术进入飞速发展的时代,与之相关的各个领域不断成熟,指纹识别技术也逐步的在世界上流行了起来。
准确而快速的运算速度与现代电子集成化技术是指纹识别技术快速发展的主要因素,这使得指纹识别的设备可以做的更小更准确更可靠。
虽然指纹很小但包含的数据却是十分巨大的,指纹识别技术不是单纯的对图像数据进行找相同或者找不同,如果这样做的话,对于计算机的要求就会大大增加,例如需要储存大量的数据,运算量大大增加运算时间增加。
对于指纹识别设备,一般都是先进行指纹的采集和录入,然后输入指纹进行指纹的对比匹配运算,然后输出运算结果,通过对比结果判断是否解锁。
指纹识别设备在工作时,首先通过指纹采集设备完成指纹图像的采集,然对采取的指纹图像的特征进行简单的处理,这样可以让我们指纹的个人特征变的更加的明显,可以有效的降低运算量和更好的提高准确率。
然后根据指纹特征算法建立指纹特征数据。
将每个指纹的特征数据保存下来,这些数据通常就被称为模版,通过模版和输入的指纹进行对比得出结果。
这就相当于先对门禁系统设置相应的指纹密码,然后在解锁的时候输入自己的指纹进行解锁,将输入的指纹再次提取指纹特征数据并上传到单片机,由单片机将上传的指纹特征数据与储存的指纹特征模版进行比对运算,从而判断出两个指纹特征数据的相似程度得出对比结果,通过对比的结果判断是否打开门禁。
1.2系统设计的目的及意义
在现代社会对于身份验证越来越严格,所以我们就需要更加准确的身份检验方法,而传统的身份检验认证的方法,比如密码,银行口令牌,身份证等一系列身份检验的方法因为各种原因,容易被盗取,被复制,被破解等各种不安全的因素,已经不能满足现代社会人们对于身份安全的要求,所以我们需要更加安全,高效的身份认证的方法,而生物特征认证由于其与人体的不可分割特性,唯一性,终身不变的特性,开始逐渐流行了起来,其中指纹认证是最为成熟的生物特征认证技术。
现在用单片机当作控制器的核心来制作各种电子产品的技术已经相当之成熟,生活中的各种电子设备基本上都离不开单片机,经过我对单片机的系统的学习,了解了单片机的种种优势,因此我想将我所学到的和生活实际联系起来,因此我想以单片机和指纹识别技术想结合,设计出一款性价比高,准确度高,识别速度快,使用方便简洁的智能门禁系统,可以让他给社区安全的身份认证带来便利。
1.3设计主要内容
基于单片机的智能指纹门禁系统的设计主要以绕单片机、指纹识别模块为主体,同时与电子锁,液晶屏,按键键盘等各部分共同构成的系统。
在第二章中主要介绍了系统的总体设计方案的选择和系统的主要内容,第三章着重介绍硬件部分,第四章主要是软件部分流程图的设计,第五章为实物的制作与调试,第六章为结论部分。
2系统的总体设计
基于单片机的智能指纹门禁系统是以单片机和指纹识别为核心而设计的系统。
系统的设计考虑过两种方案。
方案一:
以数字电路为核心
采用以数字的电路为核心设计系统的优点为设计简易。
系统的控制核心为数字逻辑电路,按键为4*4键盘,16个按键中有12为密码按键。
按键密码的清除采用干扰按键,如果需要将输入的密码清除只需要按下干扰按键,然后重新输入。
数字电路为核心的优点是设计简易,但是不容易拓展功能,方案活动空间小,有可能不能满足设计所需要的功能。
方案二:
以单片机为核心
采用以单片机为控制核心的优点是程序编写灵活,可以根据自己的需求自行编写适合设计要求的程序,然后使用专用的软件将程序下载到单片机中,并且可以根据自己的需求重新写入新的程序,达到节约成本和增强安全性的目的。
单片机还具有多个拓展端口,可以根据自己的需求添加组件,以此完成普通机械锁无法单独完成的任务。
同时单片机具有很高的准确性可以达到智能指纹门禁系统的需求。
总体来说单片机为核心的优点是程序编写灵活,实验成本低,安全性高,准确性高,可拓展额外的功能的特点。
通过比较,本次系统采用单片机为核心进行设计,因为单片机与数字电路相比,活动空间大,可拓展功能,可根据需求更新系统,更加满足本次系统设计的需求。
2.1系统的主要内容
基于单片机的智能指纹门禁系统的主要功能为:
1.通过指纹判断想要通过门禁的人是否为小区住户从而判断是否打开门禁。
2.在紧急情况下通过密码锁打开门禁。
3.可添加删除系统内储存的指纹模板。
4.可根据需求更换管理员密码。
智能指纹门禁系统主要作用为提升社区的安全性,并同时提高便利性,利用住户指纹快速而准确的判断是否打开门禁。
2.2系统的主要模块
系统主要包含单片机,指纹识别模块,电源模块,按键模块,警报模块,液晶显示模块,掉电保护模块等各模块组成的智能指纹门禁系统。
单片机模块为系统的核心模块,是控制整个系统的关键所在,单片机的主要作用是统一调动各个模块协调工作。
指纹识别模块是系统的另一个核心部分,主要作用为判断当前指纹和数据内储存的指纹模板是否一致,将结果送至单片机,由单片机决定下一步动作。
电源模块是系统的动力,作用是为系统提供运作的能量。
按键模块的作用是通过按键选择工作状态以及输入密码等。
警报模块是在有人恶意使用门禁系统时发出警报。
液晶显示模块为显示系统的工作状态。
掉电保护模块是保护系统在突然掉电的情况下保护系统数据不丢失。
2.3本章小结
本章主要介绍了系统在设计过程中考虑过的两种设计方案,通过比较最终选择了以单片机为控制核心的方案。
介绍了系统的主要内容和可以实现的功能。
介绍了系统都是由那些模块组成,介绍了各个模块的功能。
本章是智能指纹门禁系统的总体设计章节。
3系统的硬件设计
本次设计的系统主要采取两种方式解锁,住户指纹密码解锁和管理员密码解锁,为了提升人机交互的能力,增加了液晶屏,蜂鸣器,和信号灯。
当门禁系统运行时,通过指纹模块采取指纹图像,将采取到的指纹图像和数据库中储存的指纹信息进行比对,以此来判断这个人的身份是否为本小区住户,检测和识别来人的身份,如果指纹和数据库中提前储存过的指纹一致则打开门禁,同时通行绿灯亮起,液晶屏上显示住户身份检测通过。
如果指纹和数据库中提前储存的信息不一致,并且连续错误两次则开锁失败并发出警报,红灯亮起,蜂鸣器发出警报,液晶屏显示门禁已锁死。
当连续错误两次后需要使用管理员密码开锁。
当确认为临时的访客或者遇见紧急情况时,也可以使用管理员密码开锁。
系统设计的总体框图如图3-1所示。
图3-1系统总体框架图
3.1单片机及最小系统
3.1.1STC89C52单片机介绍
单片机简单的讲就是通过集成化手段将电脑上的功能集成到芯片上。
现在市面上的单片机种类很多,相关方面的大公司也都在开发自己的单片机。
本次设计的系统中选用的是STC公司生产研制的STC89C52单片机。
STC89C52单片机采用PDIP封装技术,单片机芯片具有I/O引脚,控制引脚,时钟和电源引脚等三类引脚。
STC89C52单片机与传统51单片机的指令代码相兼容,并且具有高速、低功耗、不易受干扰的特点。
图3-2为STC89C52引脚图
图3-2STC89C52引脚图
VCC(40引脚):
电源电压
VSS(20引脚):
接地
P0口:
八位准双向I/O接口,可作为输入线或者输出线使用,在使用的时候要接上拉电阻,八位都可以采用独立控制,能够启动4个TTL负载。
P1口:
八位准双向I/O接口,和P0口一样不是真正意义上的双向接口,可以作为输入或输出线使用,八位都可以采用独立控制,可以启动4个TTL负载。
P2口:
八位准双向I/O接口,因为P2口自带上拉电阻,所以它在作为I/O口使用的时候可以直接连接外部设备的I/O口。
P3口:
八位准双向I/O接口,可用于第二功能也可用于简单使用,P3口的第二功能需要查表使用。
XTAL1:
震荡电路的输入端口,时钟电路可通过此端口接入。
XTAL2:
反相放大器输出端口。
3.1.2晶振电路的设计
晶振全程是晶体振荡器,晶振电路的正常与否会影响到系统的运行速度和系统的正常运行。
单片机的系统如果想要保证各个模块同步运行就需要共享晶振系统来保证系统的正常运行,并且单片机的运行速度与晶振频率成正比。
单片机语句的主线由晶振的节拍来提供。
本次晶振电路的设计直接将作为振荡源的晶振和两个电容与单片机连接,构成时钟回路。
电容的容量选择30pf左右即可,作为振荡源的晶振选择11.0592MHZ的晶振。
然后自激振荡电路可以将外部的晶振通过单片机的XTAL1和XTAL2端口与内部反向放大器连接完成。
为了防止在测试时候因为使用了外部晶振导致软件测试的时候找不到信号,所以晶振要尽可能的离单片机近。
晶振电路如图3-3外部晶振电路。
图3-3外部晶振电路
3.1.3复位电路的设计
复位电路就是将单片机进行初始化。
以一般的情况来讲,单片机的复位电路是让状态置空,在单片机的内部,置位是让寄存器或者储存设备置入出产公司的预设值。
复位由高电平复位和按键复位两部分共同组成。
高电平复位是将电容与RST引脚以及电源VCC串联,然后再与GND端之间串联电阻构成回路,以此来让单片机在复位的过程中有足够的时间来完成动作,然后返回低电平恢复正常工作。
按键复位就是在高电平复位的基础上增加一个复位按键,复位按键并联在高电平复位电路中的电容两边。
通过按键控制电容放电,使RST置于高电平并保持,从而完成复位动作。
在本次设计中的复位电路如图3-4所示,在上电的时候自动复位也可以按键复位。
图3-4复位电路
3.2电源模块
本次设计的系统为了可以方便普及和增强实用性,采用了现在使用最多的USB接口供电,电路由两部分构成分别是直流电源插口和自锁开关,其电路设计如图3-5所示。
图3-5电源模块电路设计
图中POWER为直流电源插口,插口的2引脚和3引脚接GND接地端,1引脚用来连接电源VCC,但是因为需要连接自锁开关,所以将电源VCC连接到自锁开关的5引脚上。
3.3液晶显示模块
液晶是一种优秀的显示屏材料,液晶显示屏具有轻便,功耗低,易于操作的优点。
本次设计的系统采用的液晶显示屏型号为LCD12864型号,才用5V的电源电压驱动,有背光,像素规格为128*64,这个模块有友好的人机交互,便捷的接口,写入方便,同时还拥有下面的特点:
一是内部具有八千多个汉字和128个ASCII字符集;二是需要电压低,功耗低;三是具有显示图形的功能。
同时LCD12864型号的液晶屏同时具有串口通讯和并口通讯两种通讯方式。
本次设计的系统中采用串口通讯方式。
连接方式如图3-6所示。
图3-6LCD12864引脚连接图
液晶显示模块的作用是展示数据的工作过程,在编写液晶显示模块的相关程序时首先要进行屏幕的初始化命令然后再正常启动运行。
如果需要液晶显示模块接收内容,需要保证模块不是忙碌状态后才可以接收相关的内容。
1、使用RS确认是写数据还是命令。
写数据就是指定显示的内容,写命令包含确定光标的状态位置,是否要移动屏幕,在屏幕中的显示位置等。
2、将读写控制端置写模式。
3、把命令和数据送到数据线上。
4、完成写操作,即是给E一个高脉冲把数据送到控制器里。
3.4按键模块
按键判断是否有按键按下的方法是检测电压的高低。
按键处于低电压状态就是按下,按键处于高电平状态就是松开。
键盘模块还需要加入防抖动措施,按键防抖可以防止CPU对按键的一次活动进行多次判断,并同时可以防止信号干扰的影响。
下图3-7为按键抖动示意图。
图3-7按键抖动示意图
按键消抖的方法有两种。
1、硬件消抖:
采用消抖电路。
2、软件消抖:
编写一段软件消抖的延时程序,通过延时程序确认按键是否真的被按下以此来消除抖动。
按键接口有独立式和矩阵式两种方法,独立式接口的特点是电路多变,软件便捷,按键各自具有单独的端口。
矩阵式接口的特点可靠性高,设计方法简单。
本次系统采用矩阵式。
矩阵式按键的键盘由行线和列线构成。
按键处于行列线的相交的位置上,当按键按下的时候行线和列线就会接通,同时电压产生变化,系统通过电压的改变来判断按键按下的位置。
本次系统的设计中采用逐行扫描法来完成按键检测,P1.0-P1.3为行线,P1.4-P1.7为列线。
按键识别过程:
1、确认是否有按键按下:
将所有的行线设置为输出口并输出低电平,将所有的列线设为是入口。
通过检测列线的电平状态来判断,如果都为高电平则没有按键被按下,有低电平的一列表示有按键被按下同时按下的按键为与行线相交的四个按键中的一个。
2、确认按下按键的位置:
当确认有按键按下后,依次只将一排行线设置为低电平,同时检测列线状态,当行列线状态同时处于低电平,那么按下按键的位置就处于行列相交处。
3、按键编号:
在完成按键位置的确认后,对按键进行按键编码,通过计算法对按键进行编码。
按键的电路设计如图3-8所示。
采用软件方式消抖。
图3-8按键电路
3.5指纹识别模块
3.5.1指纹识别模块介绍
在指纹识别模块中指纹图像的采集有直接和间接两种采集方式。
间接采集的方法就是使用其他的介质来获取指纹图像,然后将获取的指纹通过电子手段录入计算机中。
直接采集就是通过指纹模块的指纹传感器直接采集并将图像数字化后储存到数据库中。
指纹模块电路如图3-9所示。
图3-9指纹模块电路
指纹模块生成的指纹模板如图3-10所示,指纹模块通过CMOS芯片将需要采集的指纹进行“照相”,然后将采集到的图像生成指特征,连续采集两次录入两次特征就会获得一个指纹模板。
指纹模块主要由DSP芯片和CMOS芯片组成。
图3-10指纹模板
指纹模块工作时第一步是完成指纹的扫描工作,再根据扫描的到指纹图像生成特征,最后合成指纹模板。
指纹模板就是进行“照相”后,将指纹模块收集到的指纹图像进行模糊化处理,使用0和1的形式表达图片,然后将其存入到FLASH芯片中。
3.5.2指纹识别模块引脚接法
ZFM60指纹识别模块引脚功能:
指纹模块的1引脚与电源VCC相连,单片机的RXD端口与2引脚相连,单片机的TXD端口和3引脚相连,4引脚悬空,5引脚接地,表3-1如下:
表3-1指纹识别模块引脚功能
引脚号
名称
类型
功能描述
1
Vin
in
电源正输入端
2
TD
out
串行数据输出。
TTL逻辑电平
3
RD
in
串行数据输入。
TTL逻辑电平
4
GND
-
信号地。
内部与电源地连接
3.5.3指纹识别模块的模式
指纹识别模块有两种工作模式,一种是一般模式,另一种是管理员模式。
一般模式的情况下,指纹识别模块只对要打开门禁的指纹进行识别判定,具体的模块运行状况是在电源接通的情况下,液晶屏第一行显示“欢迎使用”第二行显示“指纹门禁系统”第三行显示“请按指纹开锁”,将手指对准传感器按下。
如果识别成功则单片机控制继电器打开门禁,同时液晶屏显示“门已打开”,在屏幕下方显示指纹编号,如果识别失败,第一次显示屏显示“没有搜索到指纹请重新按手指”,第二次单片机会控制蜂鸣器发出警报。
管理员模式下可以进行管理员操作。
如果想要更改密码、录入指纹、删除指纹或者有紧急情况需要使用密码开锁的时候,可以选择进入管理员模式进行相关的操作。
当需要进入管理员模式的时候,首先按下对应的管理员按键,然后就可以根据自己的需要选择相对应的模式,再根据相应的提示进行操作即可。
3.6警报模块
系统中还设计了警报模块,如果当前指纹识别模块接受到的指纹和指纹数据库中的指纹数据连续不匹配,或者密码多次输入错误的时候,单片机就会向警报模块发送警报信号,然后蜂鸣器就会发出警报声用来提醒。
如果输入的密码正确或者指纹识别模块接受的指纹与数据库中指纹一致,则不会报警。
单片机的22引脚与下图中的P21引脚相接。
警报模块电路如图3-11所示。
图3-11警报模块电路图
3.7掉电保护模块
掉电保护模块的作用是在突然断电的情况下