《基于指纹识别的电子密码锁设计.doc》由会员分享,可在线阅读,更多相关《基于指纹识别的电子密码锁设计.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、成都理工大学毕业设计(论文)基于指纹识别的电子锁系统设计作者姓名:章宏权 专业班级:测控技术和仪器2009060101 指导教师:李晓丽摘要随着社会的发展和科技的进步,传统的安全防盗系统面临极大的挑战。生物识别技术的蓬勃发展,让人们对于安防系统的设计有了另一种灵感,指纹锁应运而生。可供二次开发的指纹模块已经解决了指纹图像的处理问题,如何实现这种技术的实际应用已经成为急需解决的问题,本设计利用单片机对指纹模块的控制实现了这种技术的应用。设计以指纹传感器对指纹图像的采集为基础,通过单片机控制指纹模块实现对指纹图像的组合处理,系统的各项具体功能皆建立在相应的指纹图像的组合处理基础之上,系统主要实现了
2、指纹模板的录入以及指纹匹配功能。关键词:指纹识别技术;指纹锁;系统设计34The Design of the system of Electronic lock based on Fingerprint IdentificationAbstract: With the development of the society and the progress of science and technology, The traditional security system faced with great challenges. With the vigorous development of
3、Biometric Identification Technology, people have another kind of inspiration to design the lock,Fingerprint lock arises at the very historical moment. The fingerprint module for secondary development has solved the problem of image processing, The remaining problem is how to take advantage of the te
4、chnology in practice. This design has realized the application, which mainly based on the control from MCU to the module of fingerprint. The foundation of this design is fingerprint collection, Through the control from MCU to the module can realize the combination of image processing, based on the c
5、ombination of image processing can realize the various functions of the system . The mainly functions of the system include the landing and matching of fingerprint template .Keywords: Fingerprint identification technology;Fingerprint lock;System design目录第1章 前 言21.1 课题研究意义21.2 国内外指纹锁发展的历史和现状31.3 本论文的
6、研究内容及结构4第2章 整体设计方案52.1 系统功能设计52.2 系统总体框架6第3章 系统硬件电路设计73.1 ATmega16单片机外围电路设计73.2 指纹模块ZFM-206电路83.3 ADC键盘电路93.4 液晶RX12864ZW电路103.5 DS1302电路113.6 电子锁及相关电路12第4章 系统软件设计144.1 整体程序流程图144.2 指纹识别程序设计164.3 ADC键盘程序设计194.4 DS1302程序设计214.5液晶RX12864ZW程序设计21第5章 实物制作与调试225.1电路的焊接225.2电路和程序的调试22结 论23致 谢24参考文献25附 录27
7、第1章 前 言1.1 课题研究意义 随着社会的发展和技术的进步,传统的安全防盗系统面临极大的挑战。长久以来,安防系统验证身份的方法是验证一个人是否持有有效的信物,如照片、密码、钥匙、磁卡和IC卡等。因此从本质上来看,这种方法验证的是该人持有的某种“物”,而不是验证该人本身。只要“物”的有效性得到确认,则持有该“物”的人的身份也就随之得到确认。这种通过“物”来确认人的身份的办法存在的漏洞是显而易见的:“物”的丢失或出错都会导致合法的人无法被认证,并且各种信物容易被伪造、破译2。 在网络化时代的今天,我们每个人都拥有大量的认证密码,比如开机密码、邮箱密码、银行密码、论坛登陆密码等等;密码作为身份识
8、别的标志已被广泛采用。密码容易被遗忘,也有被人窃取的可能,无论是在智能化还是安全性能方面都已经不能满足需求,现在的各种钥匙,如门锁钥匙,汽车钥匙,保险柜钥匙等也如同密码一样存在显而易见的漏洞。这些传统的安全系统所采用的方式,随着社会的发展,其安全性越来越脆弱不堪一击。但是我们不能回避这个尴尬的问题,我们的生活中随时都需要进行个人身份的确认和权限的认定,尤其是在信息社会,人们对于安全性的要求越来越高,同时也希望认证的方式简单快速。为了解决这一存在已久的问题,人们把目光转向了近年来兴起的生物识别技术,希望能借助人体的生理特征或行为动作来进行身份识别。这样就可以不必携带大串钥匙,也不用费心去记各种密
9、码。生物特征和钥匙、密码相比具有唯一性,不可复制性,例如指纹,专家推论以全球 60 亿人口计算,300 年内都不会有两个相同的指纹出现2。以电子商务、电子银行的安全认证为例,目前在电子商务中经常出现他人假冒当事人的身份,如果通过生物特征进行认证,就可有效防止此类事件的发生。另外,网络、数据库和关键文件等的安全控制,机密计算机的登陆认证,银行 ATM、POS 终端等的安全认证,蜂窝电话,PDA 的使用认证等等,都可以依靠生物特征来认证。可见,生物特征识别不但有可观的经济效益,还有不可估量的国家信息安全效益。1997年比尔盖茨曾这样预言:“生物识别技术即利用人的生理特征,如指纹、虹膜等来识别个人的
10、身份,将成为未来几年IT产业的重要革新”2,指纹识别技术在生物识别技术中相对来看是发展的最成熟的识别技术,指纹锁则是指纹识别技术的代表作品,指纹锁在当今安防系统中应运而生成为继机械锁、密码锁、感应锁之后另一代门锁的代表,单体指纹代替钥匙或者密码成为开锁工具,大大降低了安防系统的潜在安全隐患,主要是因为指纹的独特生理附属性,在一段比较长的历史时期内避免了遗失、被盗、被复制的隐患,因此目前看来指纹锁几乎完美的解决了传统门锁存在的问题,但是一把合格的指纹锁,须采用国际领先水平的智能芯片和高标准的安装材料,这就决定了其刚性成本很高,同时由于拥有极高的科技附加值,指纹锁市场价格普遍比较昂贵,近年来指纹识
11、别产品在各个行业的大规模开始应用,以及人们对于智能化和安全性能的追求为指纹锁的市场拓展创造了有利条件,因此可以预见,指纹锁将迎来一个改变安防系统的历史机遇。1.2 国内外指纹锁发展的历史和现状生物识别技术在传统安防系统面临尴尬的时候,给人们带来了希望,并且在今后一个很长的历史时期都将是缓解了安防压力的有力保障,生物识别技术主要包括指纹识别、人脸识别、掌形识别、指静脉识别、红膜识别、视网膜识别、声音识别等,由于各种生物识别技术的差异,只有基于指纹识别技术的产品有希望在近几年大规模的投入民用的市场,因此指纹识别产品将是世界各国在生物识别技术领域发展和投入的重点。一方面,指纹识别产品的快速发展得益于
12、低价位取像设备的引入及其飞速发展,以及可靠的比对算法的研究发展,另一方面,指纹识别技术和其他的很多技术一样,也是从专用走向公用,逐渐成为人们关注的前沿高科技之一,而现在俨然已经成为了各种高科技产品的标识。苹果公司计划推出带有指纹登陆模块的手机,微软公司推出了可单独操作的指纹辨认器;IBM 开始出售附有指纹辨认器的手提电脑;韩国 LG 电子公司也推出了一种通过指纹启动的手机。但是必须指出的是指纹科技产业作为新兴的高科技智能产业,其技术上存在难以逾越的高度,迄今为止,全球指纹科技产品也刚刚处于起步阶段,国内市场上还没有产生真正意义上的指纹科技产品强势品牌,目前在中国市场上已经有一些指纹锁厂家进入市
13、场开发阶段,如杭州锦江科技、新加坡玺玛克、深圳爱迪尔和长春鸿达等,但这些公司的全国性业务还没有完全做开,一般的指纹锁厂家都是通过直销方式为政府机关、金融系统提供产品1。目前世界上指纹锁主要以德国与韩国为代表,无论是在技术还是工艺方面都占据着优势,而国内的岭南锁系主要是做组合安装,自主技术和工艺水平偏低。国外的指纹锁品牌借助北京奥运会登陆中国,强势的占据了指纹锁的高端市场,而国内技术和工艺偏低的指纹锁产品只是艰难的占据着低端市场,因此和国外品牌的利润相比相距甚远,传统的门锁需要新一代的锁来更替,在这样巨大的市场需求下,国内许多企业纷纷研制开发指纹安防产品,然而经过最初几年的市场突围,指纹锁却一直
14、没有大规模的普及应用。众多厂家倒在了市场引导阶段,成为指纹锁市场开拓大军的先烈。而现在指纹锁市场已经基本被打开,指纹锁将迎来一个快速发展的时期。1.3 本论文的研究内容及结构基于指纹识别的电子锁系统设计主要由单片机、指纹模块、电子锁、液晶显示屏、ADC键盘、时钟几个部分构成,围绕指纹锁为核心功能设计的一个系统,在第二章中对设计方案的选择作重点介绍。第三章介绍系统硬件电路设计,第四章介绍系统软件设计,第五章介绍实物制作与调试。第2章 整体设计方案2.1 系统功能设计 现目前,德国和韩国的主流指纹锁厂商对于指纹锁的功能设计主要是指纹加密码,然后加以严格的工艺设计形成高质量的指纹锁,国外的指纹锁品牌
15、借助2008年北京奥运会登陆中国,借助奥运会的广泛影响力,极大地宣传了指纹锁产品,指纹锁的功能和设计也同样被宣传,指纹锁的功能的主流设计也被公众接受。在奥运会期间广泛的应用于奥运会的各个建筑的安防系统的指纹锁产品获得广泛好评,经过几年的发展,现在指纹锁市场上的产品在功能设计上几乎是如出一辙,对于大多数指纹锁产品用户能够看到的主要是三部分,指纹传感器的采集窗口、键盘以及液晶显示屏。不同指纹锁的差异也主要存在于制作工艺以及电路设计上。基于指纹识别的电子锁系统是针对以指纹图像采集、识别为核心而开发出的系统。该系统包括ADC键盘,用户在ADC键盘上输入开锁密码,系统就会控制指纹模块开始搜索是否有手指放
16、上,一旦感应到有手指,就立即采集指纹图像,并将采集到的图像转化成特征并存储下来。通过比对该特征和模版特征来控制是否开锁。该系统利用人体指纹各异性和不变性,为用户提供加密手段,使用时只需用户将手指放在指纹传感器的采集窗口上,即可完成采集任务,操作十分方便快捷。系统的液晶显示屏可以显示出指纹模块采集、转化、合并、存储、比对各个流程的结果,系统另外还有指纹模版的存入功能,用户可以随意存入或者删除指纹模块中的模版,只要指纹模块中有该用户的指纹模版,该用户就可以通过指纹开锁。同时该系统还有开锁记录查询功能,可以通过ADC键盘输入密码之后查询之前的记录。该系统的核心功能有以下两个方面:1指纹模板登陆:系统
17、通过指纹模块连续采集用户一个手指的指纹两次,并将采集到的指纹图像合成指纹模板存储,存储之后的指纹模板断电保存,存储之后的每一个指纹模板都有一个ID号。2指纹的比对:当系统采集到待验证的指纹图像之后,系统将该图像转化为指纹特征文件,然后把该指纹特征文件与已存储的指纹模版特征文件相对比,比对之后给出结果,系统控制电子锁作出相应的动作并控制液晶显示比对结果。2.2 系统总体框架基于指纹识别的电子锁系统主要以指纹模块ZFM-206-SA、单片机ATmega16、ADC键盘、液晶RX12864ZW、时钟芯片DS1302、电子锁KL-03等组成,系统的总体框图如下图2-1所示:指纹模块ZFM-206-SA
18、单片机ATmega16液晶RX12864ZWADC键盘电子锁KL-03时钟芯片DS1302图2-1 系统总体框图指纹模块只有在指纹采集对比等操作的时候才需要处在工作状态,而其他时候,指纹模块就不需要处于工作状态,指纹模块如果一直处于工作状态,对于指纹传感器的寿命会有影响,因此设计ADC键盘,用户必须先在ADC键盘上输入,之后才能启动指纹模块,进行相应的操作,同时时钟模块DS1302用以提供系统的时间的显示和记录,液晶显示模块会显示指纹锁运行各个环节的运行结果和提示信息。第3章 系统硬件电路设计 系统的硬件电路设计主要是根据系统整体框图来具体的设计各个部分的电路,主要包括ATmega16单片机外
19、围电路设计、指纹模块ZFM-206电路、ADC键盘电路、液晶RX12864ZW电路、DS1302电路几部分。3.1 ATmega16单片机外围电路设计 基于指纹识别的电子锁系统设计采用的单片机是ATmega16,在总体电路中,单片机部分电路只设计外围经典电路即可,包括复位电路、晶振电路、ISP下载电路几部分,电路设计如图3-1所示:图3-1 单片机及其外围电路外部复位由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程。ISP程序下载的接口电路,方便之后用ISP下载线下载程序进行编译调试。 晶体振荡电路中XTAL1与XTAL2分别为用作片内振荡器的反向放大
20、器的输入和输出,为了保证系统稳定性和串口传输质量所以选用外部晶振,晶振选用6.0MHZ。3.2 指纹模块ZFM-206电路ZFM-206系列光学指纹模块以高性能高速DSP处理器AS601为核心,结合光学指纹传感器,在无需上位机参与管理的情况下,具有指纹录入、图像处理、指纹比对、搜索和模板储存等功能的智能型模块。指纹图像读取过程中,对干湿手指都有较好的成像质量,适用人群广泛。无需具备指纹识别专业知识即可应用。用户根据ZFM-206模块提供的丰富控制指令,可自行开发出功能强大的指纹识别应用系统。并且面对不同应用场合,用户可自行设定不同安全等级。模块与用户设备采用串行通讯,有四个引脚,分别是电源正输
21、入端、串行数据输出、串行数据输入、信号地(与电源地相连)。模块通过串行通讯接口,可直接与3.3V或者5V电源的单片机进行通讯:模块数据发送脚(2脚TD)接上位机的数据接收端(RXD), 模块数据接收脚(3脚RD)接上位机的数据发送端(TXD)。由于指纹模块的供电为3.3V,而电源为5V,因此需要一个电压转换电路,采用了AMS1117转换芯片,AMS1117将5V电压转化为3.3V给指纹模块供电。指纹模块接口电路以及3.3V电压转换电路如图3-2所示:图3-2 指纹模块及电压转换模块电路3.3 ADC键盘电路 系统的4x4键盘采用的是ADC键盘,如果采用普通4x4键盘需要八个I/O口控制,会对单
22、片机的引脚占用过多,如果采用ADC键盘只需要一个AD转换的I/O口即可检测,并且ATmega16自带AD转换,容易实现键盘检测功能。ADC键盘采用电阻分压的方式,不同的键按下之后会输出不同的电压,通过对电压进行AD转换之后就可以判断键值。ADC键盘电路如图3-3所示:图3-3 ADC键盘电路设计ADC键盘电路时主要有两个问题,第一个是电阻阻值问题,即如何让不同的按键按下之后,输出电压的差值尽可能大,以便于区分。第二个是无按键按下时,电压输出端是接地还是悬空,即如图3-2所示中,电阻R26是接在R10左端还是如上图接在开关S2右端。第一个问题主要可以通过硬件电路或者软件解决,按图3-2所示,每个
23、电阻的阻值都为10K,16个按键依次按下时输出电压分别为电源电压VCC的1/17、2/17、3/17、16/17,不同按键按下时输出电压区分比较明显。第二个问题,按图3-2所示,如果电阻R26是接在R10左端,那么在没有按键按下时电压输出端会悬空,单片机AD转换输出的值会随机大幅度波动,给键值检测带来困难,并且在任何时候电路都会耗电,如果采用电池对指纹锁供电,该设计并不合理,如果采用图3-2所示的设计,主要有两个方面的优点,第一,在没有按键按下时电压输出为0V,电压输出不会波动,在这基础上设计软件也很简便,第二,这种电路设计几乎不会耗电,对于独立的供电电源来说是很合理的。3.4 液晶RX128
24、64ZW电路RX12864ZW是自带中文标准字库(控制芯片ST7920)图形点阵液晶显示器,它主要由行驱动器/列驱动器及128X64全点阵液晶显示器组成,可完成图形显示,也可以显示8X4个(16X16点阵汉字),在该系统与单片机采用并行控制。接口电路如图3-4所示:RX12864ZW上电之后不会自动复位,因此把复位端口RST接单片机PC1口,通过单片机给RST一个持续的低电平触发复位。系统处于空闲状态时,液晶只需要显示时间以及提示信息,系统采用独立的电源供电,对于电路的耗电必须做严格的控制,因此在无用户进行操作的空闲状态,液晶不需要开背光。因此控制背光的引脚LEDA、LEDK应该由系统的工作状
25、态决定。液晶的控制引脚RS(CS)、R/W(SID)、E(SCLK)分别接单片机的PC7、PC6、PC5引脚。DB0DB7接单片机的端口B。PSB端口为液晶串口/并口控制的选择端 口,该系统中液晶采用并口控制,PSB接高电平图3-4 液晶12864接口电路3.5 DS1302电路系带有时间显示和记录功能,采用时钟芯片DS1302来实现,DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自
26、动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此非常适用于系统中记录指纹锁系统一些动作的时间。DS1302及其外围接口电路如图3-5所示:图3-5 DS1302及其外围接口电路 DS1302外围电路的晶振为32.768KHZ, Vcc2:主电源;Vcc:备份电源。当Vcc2Vcc+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc时,由Vcc向DS1302供电。SCLK
27、:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。3.6 电子锁及相关电路电子锁KL-03工作的额定电压12V,额定电流1A,为方便单片机控制电子锁动作,在单片机和电子锁之间采用了一个继电器,电子锁由外部电源供电,单片机通过控制继电器来控制电子锁动作,为简化系统的供电电源,采用了一个7805芯片直接将给电子锁供电的电源电压转化成5V,给系统供电。电子锁以及系统5V供电电路如图3-6所示:图3-6 电子锁以及系统5V供电
28、电路 单片机I/O口的输出电流比较小,因此在单片机的控制引脚输出端接一个三极管,继电器的吸合电流就是三极管的集电极电流,三极管的基极电流=集电极电流/放大倍数,为保证继电器工作稳定,可以让基极电流为计算值的2倍左右。通过计算,基极电阻可以选在2K左右,该设计中基极电阻为1K, 当三极管由导通变为截止时,继电器绕组感生出一个较大的自感电压。它与电源电压叠加后加到控制继电器线圈的三极管的发射极和集电极两极上,使发射结有可能被击穿。为了消除这个感生电动势的有害影响,在继电器线圈两端反向并联抑制二极管,以吸收该电动势。自感电压与电源电压之和对二极管来说却是正向偏压,使二极管导通形成环流。感应的高电压就
29、会通过回路释放掉,保证了三极管的安全。 继电器的常闭端接有一个指示灯,指示继电器的吸合状态,当继电器吸合时指示灯熄灭,没有吸合时指示灯亮。 第4章 系统软件设计 系统软件设计主要以硬件电路设计为基础,以实现系统功能为导向,主要包括指纹识别程序设计、ADC键盘程序设计、DS1302程序设计、液晶RX12864ZW程序设计几部分。4.1 整体程序流程图基于指纹识别的电子锁系统围绕指纹图像采集、识别主要实现三种功能,指纹登陆、验证指纹、记录查询。指纹登陆主要是为用户在指纹锁中存入指纹模板,验证指纹主要是对待验证的指纹进行识别并判断是否和以存储的指纹模版相同,并对电子锁做出相应的控制,记录查询主要是针
30、对验证指纹的记录进行的历史查询。因此系统的整体程序设计就围绕系统的三种功能,用ADC键盘输入密码来实现对于三种功能的选择,因此系统程序设计的主要内容就是对三种功能的设计。系统的整体流程图如图4-1所示:开始模块初始化扫描是否有键按下 否判断键值 是按键2按键3按键1 是 否采集指纹两次扫描是否有手指显示记录合成模版采集指纹图像显示结果搜索指纹库是否搜索到 是 否显示结果开 锁图4-1 整体程序流程图4.2 指纹识别程序设计4.2.1 指纹模块通讯协议说明指纹模块采用UART与单片机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式。对于多字节的,高字节在前低字节在后。数据包格式:包头地址
31、包标识包长度包内容(指令/数据/参数/确认码)校验和包头固定为0xef01, 传送时高字节在前。地址默认值为0xffffffff, 用户可通过指令生成新地址,模块会拒绝地址错误的数据包。传送时高字节在前。包标识,0x01表示是命令包,0x02表示是数据包(Data packet),且有后续包。数据包不能单独进入执行流程,必须跟在指令包或应答包后面。0x07表示是应答包,可以跟后续包。0x08表示是最后一个数据包,即结束包。包长度指的是包内容(指令/数据)的长度加上效验和的长度(即包内容长度+2)。 长度以字节为单位(即字节数),传送时高字节在前。包内容可以是指令、数据、指令的参数、应答结果等。
32、(指纹特征值、指纹模板都是数据)。校验和是包标示、包长度和包内容的所有字节的算术累计和,超过2 字节的进位忽略。指令只能由上位机下发给模块,模块向上位机应答。模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。应答包含有参数,并可跟后续数据包。上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。模块在上电完成初始化工作以后,等待接收上位机命令。在收到正确命令后,迅速执行相应的, 操作,在操作完成后返回对应的信息。在模块执行命令的过程中,模块不会响应上位机发出的其他命令。指纹模块的命令如下表格所示:类型
33、序号代码功能说明类型序号代码功能说明系统类10x13校验口令指纹处理130x08上传特征20x12设置口令140x09下载特征30x15设置地址150x06存储模版40x0e设置系统参数160x07下载模版50x0f读系统参数170x0c删除模版60x1f读指纹模板索引表180x0d清空指纹库70x1d读指纹模板数190x03比对特征指纹处理类80x01录指纹图像200x04搜索指纹90x0a上传图像其他类210x14采样随机数100x0b下载图像220x18写记事本110x02图像转特征230x19读记事本120x05特征合成模板4.2.2 指纹模版的采集存储指纹模版的采集与存储主要是单片机
34、控制指纹模块对用户的同一枚指纹连续取两次,存储在图像缓冲区Image Buffer,然后分别将指纹图像转化为指纹特征,存储在特征文件缓冲区CharBuffer1或CharBuffer2,然后将两个指纹特征文件合成一个模版放在指纹库中,每一个指纹模板对应一个ID号,指纹库中的模版是断电保存的。指纹模块在FLASH中开辟了一段存储区域作为指纹模板存放区,即指纹库。存储容量为1000枚,指纹库中的数据是断电保护的。指纹模板按照序号存放,若指纹库容量为N,则指纹模板在指纹库中的序号定义为:0、1、2N-2、N-1。用户只能根据序号访问指纹库内容,相应的存储和搜索功能对应的都是针对指纹序号的操作。 AT
35、mega16控制指纹模块进行各种操作,主要涉及单片机串口控制的几个特殊寄存器,USART 寄存器包括I/O 数据寄存器 UDR、控制和状态寄存器A UCSRA、控制和状态寄存器B UCSRB、控制和状态寄存器C UCSRC、波特率寄存器 UBRRL和UBRRH。 在程序设计时,串口采用异步倍速模式,需要设定的波特率寄存器UBRR的值,计算公式为UBRR=f/8BAUD -1,指纹模块的波特率为57600bps,单片机晶振为6.0MHZ,可以计算得到UBRR=12。指纹模版登陆的程序流程图如图4-2所示:指纹模块初始化 否是否采集到指纹图像1 是转化成特征文件是否采集到指纹图像2 是 否转化成特
36、征文件合成模版并存储图4-2 指纹模版采集存储程序流程图4.2.3 指纹比对程序设计指纹比对程序设计是指纹锁系统程序设计的主要方面,指纹匹配时,通过指纹传感器,录入要验证指纹图像并进行处理,然后与模块中的指纹模板进行匹配比较(若与模块中指定的一个模板进行匹配,称为指纹比对方式,即1:1方式;若与多个模板进行匹配,称为指纹搜索方式,即1:N方式),模块给出匹配结果(通过或失败),然后单片机控制电子锁动作。指纹比对程序设计如图4-3所示:指纹模块初始化 否是否采集到指纹图像 是指纹图像转化成特征文件搜索指纹库是否搜索到 否显示结果显示并开电子锁 是 图4-3 指纹匹配程序流程图4.3 ADC键盘程
37、序设计 ADC键盘采用电阻分压原理,输出的是电压信号,采用单片机内部的ADC将输出的电压信号转换处理成数字信号,再将10位的二进制数字信号转化成十进制的数值,在设计程序之前,先测量一次每个键按下时对应的数值输出并记录下来,之后在程序设计中可以直接根据按键按下之后AD转换输出的数值大小,就可以判断按键键值。 每个按键按下之后对应的数值输出主要由硬件电路和软件决定,ATmega16内部有一个10位逐次逼近型ADC,能对端口A的8路单端输入电压信号进行采样,单端输入以电压0V(GND)为基准,。ADC 包括一个采样保持电路,以确保在转换过程中输入到ADC 的电压保持恒定,ADC 通过逐次逼近的方法将
38、输入的模拟电压转换成一个10 位的数字量。最小值代表GND,最大值代表AREF引脚上的电压再减去1 LSB,ADC转换结果为10位,存放于ADC数据寄存器ADCH及ADCL。 ADC的参考电压(VREF)反映了ADC的转换范围。若单端通道电平超过了VREF,其结果将接近0x3FF。VREF 可以是AVCC、内部2.56V 基准或外接于AREF 引脚的电压,在该系统中采用AVCC即可满足要求。ADC的初始化主要是针对多工选择寄存器 ADMUX、控制和状态寄存器A ADCSRA,ADMUX寄存器主要是设置参考电压为AVCC、转换之后的数据右对齐、选择输入电压信号的通道。ADCSRA寄存器主要是设置
39、使能ADC、预分频选择,该转换中选择64分频即可。ADC键盘检测程序流程图如图4-3所示:AD初始化启动AD转换判断转换数值是否为0 是 否判断键值显示并返回键值图4-3 ADC键盘检测程序流程图转换结束后,转换结果被存入ADC 结果寄存器(ADCL, ADCH)。转换的计算公式为 ADC=1024*Vin/Vref,Vin 为被选中引脚的输入电压,Vref 为参考电压。ADC的值为十位的二进制数,可以将其转换为十进制数ADData(ADData = (int)(long)ADC* 1000 / 1024)),方便后续的键值判断程序设计。4.4 DS1302程序设计DS1302一种高性能、低功
40、耗的实时时钟芯片,采用SPI三线接口与单片机进行同步通信,实时时钟可提供秒、分、时、日、星期、月和年,在系统中主要提供时间显示和时间记录功能。程序流程图如图4-4所示:开始DS1302初始化设定初始时间读取DS1302时间显示日期时间图4-5 DS1302程序流程图4.5液晶RX12864ZW程序设计 系统中的液晶显示模块RX12864ZW采用并行接口控制,当PSB 脚(串/并口选择)接高电平时,模块将进入并口模式,在并口模式下可由指令DL FLAG 来选择8-位或4-位接口,主控制系统将配合( RS、RW、E、DB0.DB7 )来达成数据传输动作。 当模块在接受指令前,微处理顺必须先确认模块
41、内部处于非忙碌状态,即读取BF 标志时BF需为0,方可接受新的指令;也可在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成。液晶RX12864ZW的并口时序图如图4-5所示:图4-6 RX12864ZW并口时序图第5章 实物制作与调试5.1电路的焊接 根据电路原理图和PCB图找齐所需要的元器件,元器件的规格参数要符合要求,在焊接时,元器件按照先小后大的顺序焊接,电阻、电容等元器件均采用贴片式,对于一些极性电容,焊接时正负要注意,二极管焊接时也要注意阳极阴极,焊接立式二极管时,对最短引线焊接时间不能超过 2S 。焊接三极管时,注
42、意 e 、 b 、 c 三引线位置插接正确;焊接时间尽可能短,焊接时可以用镊子夹住引线脚,以利散热。对于集成电路的焊接,要注意芯片的方向,其次焊接时先焊接边上的两只引脚方便固定。在该系统中,为了方便后续的调试,指纹模块、液晶、时钟芯片不直接焊接到电路板上,而通过插槽。5.2电路和程序的调试系统中的单片机采用的是ATmega16,采用ICCV7 FOR AVR编写程序,采用ISP下载线下载程序,在编写程序和调试时先针对每个对立的模块,然后将这些调试好的模块组合到一起,形成一个系统。然后根据系统总体运行来调试系统的各个部分。结 论根据设计的要求,该系统功能已经基本能够达到设计要求,但还有很多可以改
43、进的地方。该系统可以利用指纹模版存储量大的优势进一步完善成一个针对大量人员指纹门禁系统。基于指纹识别的电子锁系统能够实现现在的指纹锁产品的各项功能,虽然在功能的稳定性方面还有待提升,不过该系统在设计层面上已经实现了其价值。因为这毕竟不是投入市场的产品,只是在电路以及程序上做了功能实践,没有在其他的外观安全性稳定性方面做相关的设计。指纹锁产品的市场售价都非常高,但是电路设计所用的成本比较低,主要的附加值在品牌、工艺等方面,因此可以看出指纹识别产品是有非常大利润的。从最初的方案选择、元器件选择到后续的程序设计、电路焊接调试,不断地遇到问题解决问题,但是由于知识水平以及经验有限,设计的电路和程序还有不完善的地方。致 谢逝者如斯,大学四年不知不觉的就已经接近尾声了,回想起来,感慨万分,同时也由衷地感到高兴,因为即将开始一段新的旅程,我能够顺利完成学业,成为一名合格的大学毕业生,离不开老师和同学的关心帮助。在此,向在大学四年中教导过我的老师们和帮助过我的同学们致以最诚挚的感谢。在此尤其要感谢我的指导老师李晓丽老师,在整个毕业论文的写作过程中,李老师给了我很多建议,并耐心的反复不断的指导我修改。让我受益匪浅,也使我的论文不断得以