智能密码锁设计及开发.docx
《智能密码锁设计及开发.docx》由会员分享,可在线阅读,更多相关《智能密码锁设计及开发.docx(41页珍藏版)》请在冰豆网上搜索。
智能密码锁设计及开发
智能密码锁设计与开发
摘要
伴随着技术的进步和社会的开展,人们在生活中对平安的需求越来越高。
为了满足人们的需求,密码锁的平安性需进一步的提高。
而传统电子密码锁是基于单一数字密码设计,其最大缺陷则是密码容易遗忘以及遭人窃取。
因而传统的密码锁已无法到达平安技术防*的要求。
但近年来随着生物技术的开展,越来越多的活体技术应用到识别系统中,如指纹识别、掌纹识别、虹膜识别等。
而与其它的活体识别技术,指纹识别系统以其可强大的实现性,相对低廉的本钱,同时又具备较高的平安性,被应用到越来越多的场合。
而传统密码锁,结合指纹识别这一技术,其平安性得以提升,满足了人们当前的需求。
本设计采用了STC89C52单片机为核心控制部件,设计电子硬件模块,采用指纹识别模块,应用指纹识别技术对密码锁进展设计。
使其既能通过键盘输入密码实现电子锁的解锁,又能通过指纹的识别进展解锁,提高了密码锁的平安性、实用性和可靠性。
关键词:
指纹识别STC89C52单片机密码锁
第一章绪论
1.1智能密码锁的现状
1.2指纹识别技术简介
指纹识别的原理
指纹识别应用
指纹识别技术的特点
1.3智能密码锁课题背景
第二章智能密码锁整体设计及选择方案
2.1智能密码锁整理设计方案
2.2系统核心单片机
2.2.1单片机的选择
2.2.2STC89C52单片机介绍
2.3液晶显示模块的设计
2.3.1LCD1602选择的原因
2.3.2LCD1602简介
2.3.3LCD1602液晶显示模块与单片机连接原理图
2.4指纹识别模块的设计
指纹识别模块的选择
2.4.2FM-180指纹识别模块系统参数与接口
2.4.3FM-180指纹识别模块指令系统
第三章智能密码锁的硬件设计
3.1智能密码锁硬件设计原理
3.2电源输入电路
3.3复位电路与时钟电路
3.4晶振电路
3.5报警电路
3.6密码锁电路
3.7矩阵键盘电路
3.8指纹模块电路
第四章智能密码锁的软件设计
4.1主程序流程介绍
4.2矩阵键盘模块流程图
4.3LCD1602液晶屏显示模块流程图
4.4开锁和报警模块流程图
4.5密码修改流程图
4.6指纹识别模块流程图
第五章智能密码锁系统调试与仿真
5.1硬件电路调试及分析
5.2软件调试及分析
参考文献
第一章绪论
1.1智能密码锁的现状
传统的电子密码锁是一种输入密码来控制电路工作,从而进展解锁的电子在产品,它的种类之多应用之广,在原先机械锁面前,有着巨大的优势。
但是随着科技的进步,其优异性能的普及,漏洞也逐渐浮出水面。
密码锁平安性的提升,也成为人们讨论的热点。
与此同时伴随着指纹识别技术的出现和完善,它被广泛应用在**,交通工具,手机等更多的领域。
这一技术优异的平安性无疑给止步不前的密码锁提供了有利的技术支持,因而指纹密码锁,也伴随着其开展应运而生。
在未来几年中,我国将会有近百亿元的市场等待着去开拓。
同时在指纹识别技术支持下的密码锁的巨大市场前景,将对国际、国内安防产业带来巨大的影响。
从近年来的开展方向上来看,民用化的指纹识别技术终将取代方便性和平安性都存在缺陷的密码和身份识别码,用来阻止非授权的访问。
并且因为指纹识别技术的民用比刑侦应用更加容易普及,市场的容量也更大,所以它拥有大规模推广的根底。
在一些西方国家,指纹识别技术已进入大规模民用阶段。
早在1990年,就有人在美国洛杉矶采用了世界上第一套救济金发放指纹识别系统。
而在此后,指纹识别技术与电子密码锁的结合也成为全新的,平安性更加优异的加密方式。
1.2指纹识别技术简介
1.2.1指纹识别的原理
指纹是指手指皮肤上凹凸不平的纹路,尽管指纹非常细小,但是其不同的纹路之下包含着大量的信息。
而这些指纹的不同点称为指纹特征。
指纹识别就是利用人体的指纹特征对个体身份进展区分和鉴定。
指纹识别技术在当前所有生物识别技术中是最为成熟,同时也是被应用最为广泛的生物识别技术。
其原因是指纹采用的过程的简单以及指纹识别的准确率高。
指纹识别的原理主要包括以下三局部:
A.指纹采集原理
B.指纹特征提取原理
C.指纹特征匹配原理
指纹采集原理主要是通过各种传感技术,根据指纹的几何特性以及生理特性,把指纹表现出来,转化为数字化表示的指纹图案。
由于人指纹凹凸的几何特性不同,在阳光下造成的反射光强度也不同。
由此可见,每个人指纹的特征都是不一样的,而指纹的采集正是把这些不同的特征进展转化。
指纹特征提取原理是对指纹图案的细节特征和整体特征进展提取、鉴别的原理。
其分析的对象包括纹形特征和特征点的分布、类型,以及特征点之间的平面几何关系。
将这些指纹特征用数字模板的形式展现出来,就能实现一个指纹特征分析的过程。
指纹特征匹配原理是对指纹图案的细节特征和整体特征根据模式识别的原理进展比对匹配。
这个过程是在已有的指纹和需要验证的指纹之间进展的。
根据上述三原理,可以得出,指纹识别的流程图如以下图所示:
图1.2.1指纹识别流程图
1.2.2指纹识别的应用
指纹识别能够通过对每个人独一无二的指纹进展识别,从而确认其身份。
在过去,这一技术活泼于刑侦系统中。
但伴随着指纹技术的普及,近几年,它逐渐走向市场,应用于各个领域。
例如包括已下几个方面
〔1〕指纹支付
将指纹与银行卡进展绑定,只需用手指轻轻一点便能完成消费支付。
这种新型支付方式在美国已经出现多年。
2006年***公司也开场接触到指纹支付的市场。
如图
图1.2.2指纹支付
〔2〕汽车指纹防盗
近年来,汽车指纹防盗也开场兴起,用户能够通过指纹控制车门开关,或者控制引擎点火,这些都是指纹技术在汽车防盗方面的应用,如图
图1.2.3汽车指纹防盗装置
指纹识别技术以其广泛的应用、低廉的价格和易用性高被是国际所公认。
这些手指上的纹路在断点上是各不一样的,在信息处理中将它们称作"特征"。
医学上也已证明这些特征对于每个手指都是不同的,其具有唯一性和永久性。
因此我们可以把一个人和其指纹对应起来,通过比较相应的特征,就可以验证个人的真实身份。
1.2.3指纹识别技术的特点
指纹识别的优点:
A.指纹是人体独一无二的特征,其复杂度足以提供鉴别用的足够特征。
B.可以通过登记多个指纹增加系统的平安可靠性。
C.扫描指纹的速度快,使用非常方便。
D.指纹采集头可以更加小巧,并且价格会变得更加低廉。
指纹识别的缺点:
A.*些人或者群体的指纹特征少,很难成像。
B.使用指纹是在采集头上留下的指纹,存在被用来复制指纹的可能性。
C.指纹是用户的重要个人信息,用户担忧信息的泄漏。
上述可以看出,指纹识别技术拥有不同于其他技术的特点,而同时也正因这些特点,它成为了目前解决各类身份平安问题的最方便可靠的技术。
1.3智能密码锁课题背景
一方面,传统电子锁多年来大量的使用和普及使得平安性提高进度缓慢,社会上也逐渐出现各种破译的技术,一般电子锁的平安性引起了人们的担忧。
而另一方面,指纹检测这一生物识别技术已获得国际公认,具有快速确定个人身份的功能。
这一技术的出现和应用降低了人们在社会中的信任本钱,对于人在社会生活和交往方式上有了前所未有的改变,生活工作的效率也有飞跃性的提高。
由此可见,电子锁的停滞和指纹识别技术的快速开展,对于当前这个对平安要求越来越高的社会,有着非同一般的影响。
近年来,随着指纹识别技术的完善,电子锁平安性的提高这一问题也在指纹识别技术的支持上有了巨大的进展。
本次设计智能密码锁是在一般电子密码锁根底上采用了Biovo乙木-C2暗背景指纹识别模块,可以在按键解锁密码的同时,实现指纹的录入、存储、比对,并通过LCD1602液晶显示出指纹采集存储的过程和比对的结果,从而提高密码锁的平安可靠性。
第二章智能密码锁整体设计及选择方案
2.1智能密码锁整体设计
本设计采用单片机为控制核心,针对传统电子密码锁进展强化,增设指纹识别功能,能够支持指纹采集、存储、比对,以提高密码锁的平安可靠性。
该系统是指纹模块检测手指,一旦搜索到指纹,理科采集指纹图案,并把采集的图像转化为数据发送出去。
此步骤,只需将手指平放在指纹采集仪上,即可完成采集,操作十分便捷。
总体描述本次设计的智能密码锁的功能即键盘输入解锁和指纹识别解锁的可选择式解锁方式,既能够支持传统通过按键输入数字密码解锁,又能够使用指纹模块检测、录入指纹,将注册指纹和检测指纹进展比对解锁。
传统的按键输入局部,用户可通过6位密码的输入,对密码锁进展解锁,假设密码正确,则开锁;假设密码不正确,则提示错误,如假设输入错误连续三次以上,报警装置就会启动。
在成功解锁后,用户可通过密码修改键,进展密码的修正,通过两次密码的输入,如果两次密码一样,新密码就能够被储存,密码修改成功;反之则提示重新输入。
指纹识别解锁局部,用户在进入界面可选择指纹切换键,进入指纹的录入和删除。
当按下录入键后,将手指放置指纹采集头下,假设听到鸣叫声,则表示指纹录入的成功,其相关信息会通过液晶屏显示。
整体框图如图2.1
该系统的主要功能有以下几个方面:
1.密码修改:
解锁后能够通过密码修改功能,重新设置6位数字密码
2.掉电保存:
断开电源后,保存的密码不会丧失,支持复位保存
3.录入指纹:
指纹模块预先设有对指纹进展录入的功能,即可以通过指纹采集头将个人指纹上的特征信息采集。
4.指纹匹配比对:
当有指纹录入时,模块会检索指纹库对指纹进展比照,并将比对结果显示在液晶屏上。
图2.1整体
框图
2.2系统的核心单片机
单片机的选择
单片机微型计算机是微型计算机的一个重要分支,简称其为单片机,它非常适用于控制领域,因而又称之为微控制器。
一般来说,单片机是由单块集成电路芯片构成,其内部包括了:
CPU〔中央处理器〕、程序和数据存储器、定时器和输入输出接口电路等。
所以,单片机只需要和适当的设备结合起来,便能够组成一个单片机控制系统。
单片机经过了几代的开展后,如今正朝着高性能、多功能、低电压、低价格、大存储容量以及强I/O功能拥有加好构造兼容性方向开展。
它的开展趋势包括以下几个方面:
〔1〕多功能
单片机在开展中,人们将所需的存储器和I/O口都尽可能集中在一块芯片上,使单片机能够实现更多的功能。
例如高速I/O口及计数器的捕获/比较逻辑、A/D转换、监视定时器——看家狗等。
〔2〕高效率和高性能
为了提高执行速度和效率,单片机使用流水线和DSP的设计技术,使单片机的性能得到了显著的提高,其表现为,单片机的时钟频率提高;一样的频率下单片机运行的效率有了巨大的提升;高度的集成,使单片机的寻址能力、片内ROM和RAM的容量也有了前所未有的突破。
并且由于系统资源和复杂度的增加,能够开场使用高级语言来开发单片机。
从而有效的降低了开发的本钱,加强了软件的可读性,有利于功能的增加。
〔3〕低电压和低功耗
由于采用了CMOS等工艺,使得单片机能够在比原来更低的电压下工作。
这些特性使单片机能够在小电源的支持下长时间工作。
由此可见,单片机的型号之多,功能之全,能够应对当前所需设计的各大要求,因而,在设计时,对于单片机这一核心元件,需要进展慎重的选择。
针对本次智能密码锁的设计,在比对之下,结合STC89C52的特点:
A.工作电压:
5.5V~3.3V〔5V单片机〕
B.工作频率*围:
0~40MHz
C.8K字节的用户应用程序空间
D.512字节RAM片上集成
E.ISP〔在系统可编程〕/IAP〔在应用可编程〕,无需专用编程器和仿真器,可直接通过串口下载程序
F.拥有EEPROM功能,能够实现掉电保护
G.3个16位定时器/计数器
H.32个I/O口线,5个中断向量
I.一个全双工串行通信口
经过充分的分析智能密码锁所需的系统,关键是在于控制密码锁,在这点之上,STC89C52单片机突显出了它的优势,即控制简单、使用方便。
它能够发挥其丰富的资源、强大的控制功能及可位寻址操作功能以及低廉的价格等优点。
总结来说,STC89C52单片机所拥有的特点,完全符合本次设计的要求,而对于设计最可贵的一点,即单片机低廉的价格,它也完全符合,所以选择STC89C52单片机是毫无争议的。
2.2.2STC89C52单片机的介绍
STC89c52是一款自带8K字节闪烁可编程可擦除只读存储器的高性能,低电压CMOS8位微处理器。
同时STC89c52又是一种高效微控制器,它将多功能的8位CPU和闪烁存储器组合在同个芯片中。
STC89c52为许多嵌入式控制系统提供了一个价廉且灵活性高的方案。
STC89C52的芯片引脚图说明如以下图2.2
图2.2STC89C52芯片引脚图
STC89C52的引脚功能说明:
1.作为主电源引脚VCC与GUD
VCC——〔40脚〕:
接5V的工作电压。
GND——〔20脚〕:
接地。
2.输入/输出〔I/O〕引脚的P0、P1、P2和P3〔合计32根〕
〔1〕P0端口〔39脚—32脚〕:
P0口为一个双向8位三态I/O口。
P0能够用于片外程序数据存储器。
在本设计中,液晶屏局部将会与此端口相连接。
〔2〕P1端口〔1脚—8脚〕:
P1口是一个片内提供上拉电阻的准双向8位I/O口。
因为这种接口输出无高阻状态,输入无法锁存,所以不是真正的双向I/O口。
P1端口,在设计中,被使用到矩阵键盘的局部。
〔3〕P2端口〔21脚—28脚〕:
P2口为一个片内上拉电阻的准双向8位I/O口,P2口缓冲器可接收,并输出4个TTL门电流
P2口,用于片外程序存储器进展存取时,P2口输出地址的高八位。
P2口在进展编程和校验时能够收到高八位控制信号和地址信号。
〔4〕P3端口〔10脚—17脚〕:
P3口管脚是一个自带内部上拉电阻的准双向8位的I/O端口。
P3口能接收输出4个LS型的TTL负载。
P3口还为闪烁编程和编程校验接收一些控制信号。
P3口作为第一功能使用时,就作普通I/O口使用,其功能和使用方式与P1一样。
但作为第二功能使用时,其各引脚的定义如图2-3所示
另外,P3口的每条引脚都可以独立定义为第一功能的输入输出或第二功能。
图2.3P3端口管脚备选功能
正如上表所示,根据P3口的备用功能,其串行输入输出口在本次设计中将会与指纹模块相连接。
3.控制或者与其他电源复用引脚RST、ALE、PSEN以及EA/VPP
〔1〕复位RST(9脚):
复位输入。
在振荡器运行时,在这脚上出现两个机器周期〔24个振荡周期〕及以上的高电平,让单片机复位。
只要将这个引脚保持高电平,51芯片便能够循环复位。
复位后口都置1,引脚表现为高电平,特殊功能存放器SFR与程序计数器全部清零。
复位操作对内部RAM不会有影响。
〔2〕ALE(30脚):
当访问外部存储器时,ALE的输出电平用于锁存地址的地低位字节。
当FLASH编程时,这个引脚将被用作输入编程脉冲。
不访问片外存储器时,ALE端仍然以固定的频率周期产生正脉冲信号。
所以,它能够用作对外输出时钟脉冲信号,或用于定时目的。
但是需要要注意的是:
每次用于外部数据存储器时,都会越过一个脉冲。
〔3〕PSEN(29脚):
片外程序存储器的读选通信号。
当从外部程序存储器取指令或常数期间,每个机器周期该信号两次有效。
但在这个期间,每当访问片外数据存储器时,PSEN信号都将处于无效状态。
〔4〕EA/VPP(31脚):
当EA端口保持低电平时,则只选用片外程序存储器。
当加密方式1时,内部将锁定为RESET;当EA端保持高电平时,选用片内程序存储器。
当FLASH编程时,此引脚也可用作施加12V的编程电源〔VPP〕。
4.外接晶体引脚*TAL1和*TAL2
*TAL1(19脚):
与外部晶体相连接的一个引脚。
在单片机的内部,它作为一个反相放大器的输入端口,是来自反向振荡放大器的输入和内部时钟工作电路的输入。
*TAL2(18脚):
与外部晶体相连接的另一端。
在单片机内部,它是用作上述振荡器的反相放大器的输出。
2.3液晶显示模块的设计
本次设计的智能电子密码锁的显示模块主要是由LCD1602显示组成,它主要用于显示键盘输入的密码和指纹录入的情况,以及密码指纹正确或错误等信息的提示。
同时,为了确保在密码输入时的平安性,所输入的密码均由“*〞号表示。
当输入6位密码后按下确认键,系统便会与储存在ROM中的密码相比对,如假设密码错误,显示屏上会出现“Error〞的字样,如假设正确则会提示相关信息。
2.3.1LCD1602选择原因
液晶显示屏以其微功耗、显示内容丰富、体积小、超薄轻便等诸多有点,在仪表和低功耗系统中得到了广泛的应用。
而本设计之所以在众多的显示屏中选择LCD1602,其主要原因还是由于LCD1602拥有以下有点:
a.位数多,能够显示32位
b.显示内容丰富,可以显示所有数字和字母
c.程序相对简单
d.小设计中使用居多,相对于其他显示屏比较熟悉
e.低廉的价格
综上所述,由于LCD1602低廉的价格和广泛的实用性,并且它完全符合这次设计的根本需求,所以显示屏的选择,非它莫属。
2.3.2LCD1602简介
1.LCD1602功能介绍
1602液晶也叫1602字符型LCD,是一种专门显示字母、数字、符号的点阵式LCD。
目前常用的模块分别有16*1,16*2,20*2和40*2行等的模块。
本次设计采用的是16*2行等的模块。
2.LCD1602分为带背光和不带背光两种,其各引脚接线口说明如下表所示:
表2.3.1引脚功能说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据I/O
2
VDD
电源正极
10
D3
数据I/O
3
VL
液晶显示偏压信号
11
D4
数据I/O
4
RS
数据/命令选择端〔H/L〕
12
D5
数据I/O
5
R/W
读/写选择端〔H/L〕
13
D6
数据I/O
6
E
使能信号
14
D7
数据I/O
7
D0
数据I/O
15
BLA
背光源正极
8
D1
数据I/O
16
BLK
背光源负极
3.LCD存放器的选择
RS:
存放器选择。
1—数据存放器;2—命令状态存放器。
R/W:
读/写。
1—读;2—写。
E:
使能。
下降沿出发
具体内部存放器选择说明如下表所示:
表LCD存放器的选择
E
R/W
RS
功能说明
1
0
0
指令存放器写入
1
1
0
忙标志和地址计数器读出
1
0
1
数据存放器写入
1
1
1
数据存放器读出
0
*
1
不动作
2.3.3LCD1602液晶显示模块与单片机连接原理图(图2.3)
图2.3LCD1602液晶显示模块与单片机连接电路
2.4指纹识别模块的设计
本次课题的智能密码锁除了包含传统电子密码锁的键盘输入设计外,还增设了指纹识别的功能,为了这一功能的实现,指纹模块的选择也是必不可少的。
指纹模块是智能密码锁的重要部件,主要安装在拥有指纹功能的各类器件上,它用于完成指纹的采集和指纹的识别。
2.4.1指纹识别模块的选择
为了符合本次设计的要求,本次设计在经过各个模块的比较后,最终采用FM-180指纹识别模块进展智能密码锁的设计。
FM-180亮背景光学头指纹识别设备是一款采用了光学指纹传感器,并且由高性能DSP处理器和FLASH等芯片构成的模块,它具有指纹图像处理、模板提取、模板匹配、指纹搜索和模板存储等功能。
和同类指纹产品比较,FM-180指纹识别模块具备以下特点:
a.指纹适应性强
指纹图像读取过程中,采用自适应参数调节机制,使手指能够有较好的成像质量,使用人群广泛。
b.价格低廉
c.模块采用自行开发的光学采集头,比起其他模块,本钱大幅度降低。
d.算法性能优异
e.FM-180指纹识别模块的算法根据光学成像原理设计。
算法具有较好的校正和容错能力。
f.简单易用方便扩大
g.无需具备指纹识别的专业知识即可应用,比较适合当前的自身的水平。
2.4.2FM-180指纹识别模块系统参数与接口
〔1〕系统参数
电压参数:
直流3.6—6.0V
电流参数:
工作电流小于20mA
峰值电流小于150mA
指纹图像录入时间小于1.0秒
采集器窗口面积:
14mm╳18mm
指纹匹配方式:
比对方式〔1:
1〕
检索方式〔1:
N〕
特征文件大小:
256bytes
模板文件大小:
512bytes
指纹存储数量:
162/930枚
认假率(FAR)小于0.001%
拒真率(FRR)小于1.0%
搜索时间小于1.0秒〔均值为1:
200时〕
上位机接口:
UART
通讯波特率(UART):
(9600╳N)bpsN*围为1~12〔N=6为默认值表示57600bps〕
工作环境:
温度:
-15℃到+45℃
相对湿度:
45%RH到80%RH
储存环境:
温度:
-35℃到+80℃
相对湿度小于80%H
尺寸(长╳宽╳高):
55╳20╳21mm
〔2〕外部接口引脚说明
模块与设备的串行通讯时,接口引脚定义如以下图所示:
图2.4.1外部接口引脚说明图
2.4.3FM-180指纹识别模块指令系统
模块通过串行通讯接口,能够直接与5v电源的单片机进展通讯。
模块数据发送接收端分别于上位机数据接收发送端相连。
此模块主要为以下几个常用指令:
一、开机时通过与模块接触,从而判定模块是否正常连接。
其指令如下:
验证口令〔PS_VfyPwd〕,其功能是验证模块握手的口令。
当上位机发送数据至模块数据接收端时,输入参数Password,模块根据情况返回参数,即其内部确实认字,而此指令的代码为13H,验证口令的指令包和应答包格式如以下图
所示:
图2.4.2验证口令的指令包和应答包格式
二、生成指纹模板期间需要进展如下四个命令:
录入图像、生成指纹特征、合成指纹模板、存储指纹模板。
⑴录入图像〔PS_GetImage〕
录入图像指令的功能是对手指进展探测。
当探测完毕后,它会将探测到的录入指纹图像存至ImageBuffer中,并返回对应状态确实认码,用于表示录入的成功与否。
此指令过程中并无输入参数,指令代码为01H,与此指令对应的指令包和应答包格式如以下图:
图录入图像的指令包和应答包格式
⑵生成指纹特征〔PS_GenChar〕
生成指纹特征指令的功能是将之前录入时存于ImageBuffer中的原始图像进展处理生成对应的指纹特征文件,并存至CharBuffer1或CharBuffer2之中。
在此指令中,输入参数为特征缓冲区号〔BufferID〕,返回参数是代表是否成功确实认字,其指令代码为O2H。
指令包和应答包的对应格式如以下图:
图生成指纹特征的指令包和应答包格式
⑶生成指纹模板〔PS_RegModel〕
在指纹特征生成之后,指纹模板生成的指令功能是将CharBuffer1和CharBuffer2中储存的特征文件进展合并生成模板,然后把其结果存至CharBuffer1和CharBuffer2之中。
此过程无输入参数,但返回参数表示生成指纹模块情况确实认字,指令代码为05H,对应指令包和应答包格式如图表示:
图生成指纹模板的指令包和应答包格式
⑷储存模板〔PS_StoreChar〕
通过前两个指令的模板生成,储存模板指令的功能是将CharBuffer1或者CharBuffer2中储存的模板文件储存到PageID〔指纹库位置号〕的flash数据库的位置。
此指令需要的输入参数为BufferID〔缓冲区号〕和PageID〔指纹库位置号〕,返回参数为确认字,指令代码为06H。
其指令包格式和应