毕业设计(论文)-基于51单片机的指纹识别管理资料_第1页
毕业设计(论文)-基于51单片机的指纹识别管理资料_第2页
毕业设计(论文)-基于51单片机的指纹识别管理资料_第3页
毕业设计(论文)-基于51单片机的指纹识别管理资料_第4页
毕业设计(论文)-基于51单片机的指纹识别管理资料_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

要随着现代化各种科学新技术的快速发展,在日常生活中,我们需要各种身份认证和各种密码认证还有对各种设备配备钥匙对保险柜安装防盗系统等等,社会的进步,科技的发展,促使传统的安全系统的抵御能力越来越薄弱。因此生物特征识别应用而生开始走进我们身边的各种安全系统指纹识别作为生物特征识别的一个典型应用已经得到很广泛的应用和认可纹特征具有唯一性是每个人终生不变的特征之一并且各个人的各个指纹都不一样本系统采用89C52RC单片机作为主芯片,通过与指纹识别模块FM-180之间通过串口通信方式的通信,采用液晶12864作为显示器,加上简单的外围电路,如按键输入、LED灯报警电路、蜂鸣器电路,最后通过编写软件和制作硬件实现一个可以通过单片机对指纹的录入,识别,删除等功能操作的指纹识别系统。关键词指纹识别系统;单片机;液晶12864Abstract

Withtheofvarietyofinlife,needavarietyofauthenticationvarietyofauthentication,aswellasvarietyofdeviceswithforsafeinstallationofsocialprogresstheoftopromotethetraditionalsecuritysystemincreasinglyThus,biometricbegansecuritysystems,fingerprintidentificationastypicalhasbeenwidelyrecognized,fingerprintcharacteristics,lifenotforcharacteristics,eachperson'sfingerprintsarenotsameindividual.Thesystemuses89C52RCaschip,itpassesbetweenthefingerprintcommunicationwithcommunicationmethodbyliquiddisplayplussimpleasLEDlightcircuit,circuit,throughpreparationofhardware,youcanmicrocontrolleronfingerprintrecognition,fingerprintidentificationKeysystem;SCM89C52;LCD目

1绪论课题的背景和意义生物识别技术概述指纹识别技术概述本章小结2设计方案设计要求设计方案本章小结3硬件设计主要元器件选型单片机选型指纹模块液晶显示电路设计最小系统液晶显示电路指纹通信电路蜂鸣器电路按键电路LED电路本章小结4软件设计系统方框图功能介绍开发环境介绍Keil编译器STC-ISP下载器Protel软件部分代码说明本章小结5系统调试制作和调试原理图设计PCB制作调试过程调试完成、实物图本章小结6总结参考文献致谢

1

绪论随着如今各种各样的高新技术的迅猛发展百姓日常生活中经常需要我们去确认各种身份的认证而在现在的大数据信息时代每个人都拥有各种各样的大量认证密码,有一些是全数字的,还有一些是图像密码,例如手机开机密码,移动端支付密码电脑开机密码聊天软件登录密码等等就单单这些移动端的密码都可以是无数个更不要说还有一些更重要的安全密码如银行卡的支付密码等。还有其他的一些比较传统的硬件机械安全防盗系统保险柜,大门钥匙、汽车钥匙、摩托车钥匙等等,随着现在时代的变化,科技的进步,传统的一些安全系统已经正在变得越来越脆弱了因此更先进更高级的生物识别技术开始走进我们的身边,出现在各种各样的安全系统中。比如人脸识别、指纹识别、眼球视网膜识别等指纹识别作为生物识别里面一个比较成熟的已经获得了各行业界的认可的识别系统广泛的被应用到安全系统中去指纹识别具有唯一性每个人的每一个指纹都是独一无二的,可以说指纹是一个人身份的标志。本系统采用的是传统的51单片机作为主控MCU,由于其低功耗、编程灵活简单外围设备丰富性价比高所以被广泛的应用在一些低端的电子设备中在高端产品中由于实时性扩展性上受到了比较大的限制所以很少有其身影但是也有它自身的突出的优点和意义那就是简单好用便宜在本次设计中做为主芯片跟指纹模块进行串口通信加以简单的一些外围设备很方便的可以完成指纹识别系统应该具备功能对于我更好的理解指纹识别原理和单片机结构功能很有帮助,这也是选题的意义所在。所谓生物识别技术就是通过计算机与光学声学生物传感器和生物统计学原理等高科技手段,利用人体固有的生理特性(如指纹、脸象、红膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份的鉴定。由于人体特征具有人所固有的不可复制的唯一性这一生物密钥无法复制失窃或被遗忘利用生物识别技术进行身份认定,安全、可靠、准确。目前已经出现了许多生物识别技术,如指纹识别、手掌几何学识别、虹膜识别、视网膜识别、面部识别、签名识别声音识别等但其中一部分技术含量高的生物识别手段还处于实验阶段我

们相信随着科学技术的飞速进步有越来越多的生物识别技术应用到实际生活中。而根据国际生物识别小组在2009年作出的一个不完全统计目前市场上已经有很多种针对人类的各个不同生理特征和行为的特征的应用。比如视网膜识别、虹膜识别、人脸识别、指纹识别等,而其中应用最多的就是说指纹识别。每个人的每一个手指的皮肤都有一个不一样的花纹是每个人的一个生物特征这个特征具有一个非常重要的特点那就是唯一性也就是说任何一个不同的手指的指纹都是不一样的一无二的纹识别技术中称这个指纹为指印,即是人手指的按印,如下图所示。1

图1指纹指印9世纪初科学家们发现每个不同的指纹的两个非常重要的特征一是两个不同手指的指纹纹脊不同二是指纹纹脊的样式终生不变性一研究发现使得指纹正式在犯罪鉴别中得以应用。指纹指标技术把一个人跟他的指纹对应起来,通过比较他的指纹和事先已经存在的指纹做对比,从而确认这个人的真正身份。每一个人的指纹的皮肤纹路在图案断点和交叉点上各不相同也就是说唯一性的,独一无二的。本文以51单片机为主芯片,采用指纹识别模FM-180,液晶采用12864显示,加上其他外围的一些简单设备,可以实现对指纹的录入、指纹的识别、指纹的删除等共,组成了一个基于51片机的指纹识别系统,从而对指纹识别算法的研究和单片机的结构更进一步的了解并且根据硬件选型择了其中较为可行的方案,并制作和调试电路板。具体的章节和各章的内容安排如下:第一章阐述了本课题的研究背景和意义时介绍了生物识别特征的几个识别手段,最后介绍了指纹识别技术的概念。第二章介绍了本文设计的要求,最后根据要求设计出合理的具体方案。第三章介绍了本设计的硬件部分包括主要的元器件选型个电路的设计和分析。第四章介绍了本设计的软件部分括整个系统的方框图的具体介绍,

最后还简单介绍了开发环境。第五章介绍了本系统的调试过程要是在整个系统的调试过程中遇到的问题和解决方法。第六章是对本文的一个总结,以及提出对整个设计的一些不足。

2

设计方案本设计要求如下:1、系统默认至少有一位管理员,没管理员的时候提示必须添加管理员方可操作;2、可以对管理员进行添加,最多有位,普通用户可以添加400位;3、录入指纹和删除指纹的时候必须管理员验证证成功才可以添加用户,否则不可以添加用户;4、可以查看管理员和普通用户的数量;5、可以对指纹进行删除,需管理员验证;6、通过以上要求,制作出一套具有软件和硬件相结合的指纹考勤系统。通过上节的设计要求根据搜集资料并且结合自身所学知识后制定的本设计方案如下:本设计以51单片机作为主芯片,选取了指纹识别模块进行二次开发该模块采用串口通信方式按照指纹系统自定义的协议来跟单片机通信单片机按照固定的协议去读取指纹系统的数据同时对指纹系统发送指令进行控制,从而实现指纹的操作;而显示器选用,液晶在系统运行中和各个不同功能模式的时候显示对应的提示内容;设计要求可对指纹进行录入、识别、删除等操作,通过不同的按键来完成,本设计采用了5个独立的按键,软件部分采用轮询检测电平来判断按键值警提示选用的元件是蜂鸣器和灯。本章介绍了本课题设计的具体要求后根据设计要求制定的合理可行的具体方案。

3

硬件设计单片机选型图2STC89C52本设计中需要用到跟指纹模块进行通信经过对单片机与模块通信方式的多种比较后决定采用比较简单的串口通信而串口通信在大学课本里面也有讲过自己用起来应该还是相对比较简单的串口通信的方式几乎在任何一款单片机都有硬件支持的只不过有的串口有多个有一些少而已按照之前自己接触过的单片机,51单片机作为本次的单片机主控芯片,功能上是基本可以满足实现的,51片机作为最经典的8处理器,同时也是很多大学作为电子类专业的必选课程之一,可见其功能和实用性还是被大家认可的。所以本次决定在STC89C52RC单片机和STC12C5A60S2这两个中选出一个作为主控芯片两者都是51内核,不同点有一下几点:1、12C5A60S2是模式的比普通的单片机可以快6~8倍,而

定时器口为了兼容传统的51单机可以设置为1T模式或者模式的;2、12C5A60S2两个独立的串口,而有一个串口,一般在调试过程中,有多个串口是最好的,可以调试看信息,找问题所在,而这次的设计显然不需要,只需要用到一个串口通信即可;3、作为重要的对比,字节,ROM有60K的存储空间可见12C5A的容量是非常大的而89C52RAM和ROM就相对小很多分别是512字节和8K,但实际上,作为本次的功能,已经足够了。经过以上选择对比,最后决定选用作为本次的主控芯片。指纹模块作为本次的重要传感器指纹识别模块无法自己去做只能通过网上淘宝买现成的模块回来进行二次开发场有各种各样的指纹模块也是五花八门,但实际上基本的协议还是比较相似的只不过有的支持的协议指令多有一些支持的指令相对来说比较少而已本次需要用到的功能有录入指纹识别指纹清空指纹显然这三个指令几乎所有的模块都可以实现根据最后筛选和价格比对,最后决定选用FM-180作为本次的指纹识别模块。FM-180指纹模块,一体化结构,已经包含了算法芯片,其质量稳定,性能优异,产量稳定,多行业客户的实际选择,给您无忧的产品保障体系。FM-180指纹模块由光学指纹传感器、高DSP处理器、高性能指纹比对算法大容量FLASH芯片等软硬件构成集成了采集芯片和指纹算法芯片性能稳定,结构简单,具有指纹录取、图像处理、指纹对比、指纹搜索和模板存储、手指感应输出等功能;采用8条精简指令,开发更简单。产品特点:◆

功能完善:独立完成指纹采集、指纹登记、指纹比对1:1)和指纹搜索(1:N)功能。◆

体积小巧产品体积小巧没有外接算法芯片的电路板已经集成一体,方便安装,故障少。◆◆◆

超低功耗:产品整体功耗极低,适用于低功耗要求的场合。抗静电能力强:具有很强的抗静电能力,抗静电指标达到以上。应用开发简单发者可根据提供的控制指令行指纹应用产品的开发,无需具备专业的指纹识别知识。◆

安全等级可调:适用于不同的应用场合,安全等级可由用户设定调整。技术参数:供电电压:DC4~6V供电电流:工作电流:110mA(典型值)峰值电流:

指纹图像录入时间:<匹配方式:比对方式(1:1)搜索方式(1:N特征文件:256字节模板文件:512字节存储容量400枚安全等级:3级认假率(FAR):<%拒真率(FRR):<%搜索时间:<(1:1000时,均值)上位机接口:UART通讯串口波特率:57600bps图3FM-180液晶显示作为人机交互界面,显示器起到一个至关重要的元件,本文中需要将整个操作的过程完全显示在显示器上面如录取指纹指纹是否正确还是错误等等。下面就本设计的过程中对显示器的元件选型进行分析和对比。方案1

图4数码管采用数码管的形式来作为显示器,数码管是一种半导体发光器件,一般单独的数码管有7段的数码管和8段的数码管8段的数码管比7段多了一个小数点的段他们的显示单元都是发光二极管数码管还有共阳极和共阴极之分将每个发光二极管的正极连到一起,将负极单独分开,就是共阳极,反过来,将每个发光二极管的负极连着一起就是共阴极需要显示一个数字的时候只需要把对应的发光二极管点亮即可组成一个数字显示而一般采用的方法是动态扫描使得每个发光二极管轮流的显示出来由于单片机的速度很快以我们肉眼并不能看出来。数码管价格便宜,使用简单,但是只能显示基本的数字,并不能显示一些比较复杂的字符,所以在一般需要显示复杂的电子设备中比较少见。方案2采用液晶为显示器,,能够同时显示16*2个字符,16列2行,其内部模块里面已经存储了160多个我们平时很普遍用到的的点阵字符图形一个字符符号都有一个固定的代码编码,只需要发送对应的代码编号给液晶模块,就会自动显示出来对应的字符,共有16引脚,和单片机通信采用的是并行通信方式即8个IO口该模块优点是可以显示基本的字符符号价格便宜。但是也有其不足的地方就是不能显示中文而且只能是显示行和单片机通信需要8个IO口。加上3个控制引脚,一般都需要用到个IO口。

图5液晶1602方案3采用液晶12864,显示器液晶,可以显示中文,并且是自带字库,字库中有几千个常用的汉字用起来基本是可以满足的接口也是比较灵活可以选择并行或者串行接法行接法只需要用到两根线的引脚图如下图所示。液晶的D0~D7是数据引脚当液晶作为并行通信的时候单片机要连接这个数据口,而液晶的PSB引脚是选择并行或者串行的引脚,当低电平时为串行方式,当高电平时为并行方式。由于串口方式接口更简单,和单片机通信只需要2个IO口,在电路图设计中更为方便,所以一般在设计中可选择该方式。液晶还带了一个背光的对比度调节电位器可以调节字体和背光之间的一个对比度而现在很多液晶都已经出厂时就把这个电阻值定好了,无需在手动去调节。表一液晶12864引脚管脚号

管脚名称VSSVCCRS(CS)R/W(SID)E(SCLK)DB0DB1DB2DB3

电平-

管脚功能描述电源地电源正对比度(亮度)调整”,表示DB7DB0为示数据“L表DB7DB0为显示指令数据“H”,E=数被读到DB7—DB0”,E=“H→L”,DB7—DB0数据被写到IR或DR使能信号三态数据线三态数据线三态数据线三态数据线

DB4DB5DB6DB7PSBVOUTAK

--VSS

三态数据线三态数据线三态数据线三态数据线H:位4位口方式L:串口方空脚复位端,低电平有效LCD驱电压输出端背光源正端+5V背光源负端图6LCD12864综上三个方案对比,最后选择液晶作为本次的显示器模块最小系统单片机最小系统一般由晶振电路、复位电路和单片机组成,是整个设计系统中最基本的也是最简单的电路,只有简简单单的几个元件2个电容和一个晶振连接单片机的XTAL1和XTAL2引脚一个电阻和一个电解电容连着单片机的复位引脚,看似这个电路非常简单,但这也关系着整个软件系统能不能正常工作,只有这个电路正常了其他电路才有可能继续执行下去由这个简单的电路加上单片机最简单的启动程序,也就是我们平时所说的bootloader,简称为引导程序这个引导程序是有芯片厂家出厂的时候就已经刷进去的上电之后芯片会去执行这一段程序包括配一些寄存器和分频之类的操作同时当我们去烧写程序的时候,也需要用到这个引导程序,通过PC发送固定码给芯片,芯片接受

到后进进入这个程序开始接受用户程序达到升级用户程序的功能构成单片机最小系统。单片机正常供电为直接,工作时复位引脚为低电平,手册上面说明只要单片机的复位脚超过2个机器周期的高电平,单片机就可以正常复位,所以按下复位按键,单片机复位。图7最小系统电路液晶显示电路本设计中液晶显示起到一个人机交互的作用尤其重要试想如果没有界面提示的话,整个操作过程将很难去实现全部的功能。液晶12864可以显示4行,每一行可以显示8汉字,共可以显示32汉字,对应这个系统来说,是足够的,一般出现不够行的情况下,大都是采用切换到第二个节目显示的方法;12864液晶跟单片机的通信方式有两种,一种是并行,一种是串行,对于串行来说,电路是比较简单不需要那么多的IO口,只需要两个IO就行,一发一收,但速率就比并行比较慢,而并行由于8个IO起发送数据,因此要比较快,对于显示刷新频率要求不高的话,可以考虑用串行方式,毕竟电路简单IO少,而本次的设计过程中采用的是并行方式,跟LCD液晶的通信端设置为端,而

单片机的P0端默认是没有上拉的为也要在电路中给口接上一个8个电阻的排阻,阻值一般取1K而液晶的第三脚作为背光调节亮度,可以接一个电阻器来改变该脚的电压值从而达到可以调节亮度的效果,由于没有现成的电位器,因此该引脚悬空操作,液晶也可以正常显示。图8液晶12864电路图指纹通信电路本文采用的指纹识别模块是集成的模块,跟单片机通信采用的是串口方式,波特率是57600,8位数据,一位停止位,无校验。由于单片机需要外部晶振,所以在需要用到串口的电路中,,如果采12M的,波特率会有误差,会造成串口数据丢失的情况89C52片机只有一个串口以用串口1跟指纹模块通信,单片机的指纹模块的TX,而单片机的接指纹模块的。通过指纹模块的数据手册,发送对应的指令给指纹模块,即可实现录入指纹、识别指纹、清空指纹等操作。

图9指纹通信电路蜂鸣器电路图10蜂鸣器驱动电路本次设计中,由于需要在录入指纹和识别指纹中对正确或者错误做出判断,因此在电路设计中加入了蜂鸣器来作为提醒报警响应的作用用的是直流电压5V供电的有源蜂鸣器但是一般的蜂鸣器在整个系统运行中需要比较大的电流,51单片机的IO口除了P0口外其他的都有一个弱上拉电阻但IO的驱动电流也是非常低不加外部的驱动路是很难直接驱动的而最常用的就是用普通的三极管来放大电流驱动,该三极管在电路中的作用是开关电路并且放大电流P37

高电平为蜂鸣器响,低电平蜂鸣器停止。报警提醒电路如图所示。按键电路图11按键电路设计中有录入指纹功能识别指纹功能清除指纹库功能这些功能的切换都是通过按键来实现的按键一般有独立按键矩阵键盘等由于本次涉及到的按键不需要很多个因此采用独立按键的形式简单方便易操作而按键电路用的是直接练到单片机的IO上面过对该口电平读取不同的值来区别按下还是弹开,按键用的4脚按键,对角的两个引脚为一对,是导通的,随便一个引脚接地,对角IO入单片机,按下按键时,引脚都接通,即与单片机连着的引脚也被拉低,单片机IO响应被拉低,软件就认为此时按键被按下,执行按下操作,由于按下过程中有电压毛刺,所以软件一般采用10MS的延时来代替消抖动作。LED电路LED作为电子电路中最常用的指示作用本次中也用到了两个来作为系统的提示灯作用,一个为红色,一个为绿色LED作为二极管的一个最典型元件其两端也是有一个压降据电子知识要在两端上有超过这个的压降,二极管就导通,为了保险起见,可以在单片机的口接上一个限流电阻,不至于上电时容易烧坏。

当单片机的P35和P36高电平的时候LED就亮反过来当为低电平的时候,LED灯就灭。图12电路本章介绍了本设计的元器件选型以及各个电路部分的设计和分析。4

软件设计

通过第二章的介绍,我们根据设计的要求采用STC89C52作为主控芯片,FM-180作为本次最重要的指纹传感器,液晶12864为人机交互界面,同时用独立按键来进行各个功能切换蜂鸣器和灯作为报警提示最后根据设计要求做出的方框图图下图所示:图系统结构框图系统上电之后,经过一系列的初始化,比如串口初始化,定时器初始化,初始化完成后进入主程序由于单片机是单线程运行的所以在主程序中采用一个while循环来执行整个的主程序。1、本系统设计了一个管理员的操作,即出厂时必须录入一个指纹,该指纹录入成功后就是该系统的管理员方可进入主界面主界面的功能有识别指纹功能、添加管理员功能、添加普通用户功能、清空指纹库功能,而每个功能的选择是通过按键来切换的。

图14主界面2、进入主界面之后可以对系统进行一系列的操作,管理员可以有2,当录入达到2个时会有提示要对系统的指纹进行录入普通用户和清空指纹库指纹都需要管理员验证当验证失败的时候液晶提示相对应的内容有验证成功了才可执行下一步操作。图管理员验证3、当管理员验证成功后就可以录入普通用户了,该系统可以录入多达400多位的普通用户录入过程中只需要按住手指不放录入完成后液晶提示录入成功字符同时显示出对应的指纹ID号。同样的录入失败也会有同样的提示。

图16添加用户4、清空指纹库的操作一样要经过管理员验证,验证成功后,系统将把所有的指纹删除,即清空指纹库。这时候没有任何指纹,同样的提示要录入管理员,也就是恢复出厂设置。图清空指纹库5、除了基本的录入指纹,识别指纹,清空指纹之外,板子还有一个查询按键,当按下该按键时,液晶显示出系统中已经存在的管理员和普通用户的数量,起到一个很好的查看作用。

图18查询界面Keil编译器本次的软件编程部分采用的是编译器是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑容易理解在开发大型软件时更能体现高级语言的优势。的网站虽然没有中文版本,但是Keil软件却被中国80%的硬件工程师使用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到Keil软件。C51工具包的整体结构,μVision与Ishell分别是C51for和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件后分别由C51及C51编译器编译生成目标文件()。目标文件可由LIB51创建生成库文件,也可以与库文件一起经连接定位生成绝对目标文件(.abs)。abs文件由OH51转换成标准的hex文件以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

图19Keil软件界面STC-ISP下载器STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载系列、12C2052系列和12C5410系列的STC单片机,使用简便,现已被广泛使用。

图20STC-ISPProtel软图protel软本设计电路图的设计是通过Protel画的,这个软件在大学的实验课程中也

是有学到的所以用这个软件来设计电路图由于电路图的连线比较复杂如果用线直接连的话看起来会比较乱而且容易出问题所以本设计采用网络的方式来连接元器件。通过画好原理图之后,就转换成即可。该代码说明晶可以显示4行文字一行最多可以显示8个汉字,一共可以显示32个汉字一般在程序中只需要告诉液晶的轴即可液晶的行数据的地址分别是0X80,0X88,0X98,分别表示的是第一行,第二行,第三行和第四行。例如想要在液晶的第二行的第三个位置显示文字,Lcd12864_PutString(1,2,"添加成功");这样即可显示出来。voidv_Lcd12864SetAddress_f(unsignedcharx,y)//址转换{unsignedcharbyAddress;switch(x){case0:byAddress=0x80+y;break;case1:byAddress=0x90+y;break;case2:byAddress=0x88+y;break;case3:byAddress=0x98+y;break;default:break;}v_Lcd12864SendCmd_f(byAddress);}voidLcd12864_PutString(uharx,uchary,unsignedchar*pData){v_Lcd12864SetAddress_f(x,y);while(*pData!='\0'){v_Lcd12864SendData_f(*pData++);delay(30);

}}该代码说明:按键方式采用的是独立按键的方式,一共用到个独立按键,没有按下按键的时候,单片机对应的IO口是高电平,当有按键按下时对应IO口就被连到GND,对应的IO也就是低电平。单片机检测到后,根据相对应的IO口执行不同的按键功能对于消抖操作在简单的设计中可以使用一个时间延时来处理。这个时间不能太长,如果太长的话会导致按键不灵敏等问题。uintFUN_KeyDec(){bitpress=0;if(!IOKEY_dec)//如果检测到低电平,说明按键按下{keyDelay_1ms(1);//延时去抖,一般10-20msif(!IOKEY_dec)//再次确认按键是否按下,没有按下则退出{while(!IOKEY_dec);//如果确认按下按键等待按键释放,没有释放//则一直等待{press=1;}}}if(press){ClrScreen12864();sys_status=8;}return0;}该代码说明:当进行指纹识别的时候,单片机通过串口发送对应的指令给指纹模块指纹模块从而进行搜索指纹功能当用户按下手指的时候模块会自动获取该指纹的特征值并对这个特征值进行判断是否已经存在系统中果是存在则返回该指纹的序号,如果不匹配则返回。单片机将返回到的数据做判断,0则认为识别识别,大于0则认为识别成功。

unsignedcharsearch(void)//搜索用户{unsignedcharSearchBuf=0;uchari=0;while(1){if(ImgProcess(1)==3)//先读入一次指纹{SearchBuf=Searchfinger();//行指纹比对,如果搜索到,返//回搜索到的指纹序号if(SearchBuf==1){returnSearchNumber;}else{i++;if(i>5)return0;}}}return0;}该代码说明采集指纹的过程中需要采集两次的指纹将次采集到的特征值生成一个指纹模板并对该模板进行保存当保存模板成功后单片机将该指纹的模板的序号写入到单片机的EEPROM中,以便实现掉电保存指纹。unsignedcharenroll(void)//采集两次指纹,生成个指纹模板{unsignedchartemp=0,count=0,kk=0;while(1){temp=ImgProcess(1);//生成特征1if(temp==3)//生成特征文件成功{

break;}else{}}//采集第一个特征成功count=0;Beep=0;Fdelay1ms(100);Beep=1;Fdelay1ms(2000);//延时2S开始采集下一个特征//开始采集第二个特征while(1){temp=ImgProcess(2);//生成特征2if(temp==3)//生成特征文件2成功{if((Command(MERG,40)&&(FifoNumber==11)&&(FIFO[9]==0x00))==0)//合并不成功返回,成功返回1{kk++;if(enroll())return1;if(kk>4)return(0);}else//特征文件合并生成模板,结果存于ModelBuffer{Beep=0;Fdelay1ms(100);Beep=1;Fdelay1ms(100);Beep=0;Fdelay1ms(100);Beep=1;

//响两声,表示生成一个模板成功

return1;}}else{}}}本章主要介绍了设计过程中的软件部分包括整个系统的方框图有功能介绍,最后简单介绍了开发环境。

5

系统调试原理图设计图22原理图根据第三章的硬件设计部分电路分为最小系统晶电路指纹通信电路、供电电路、按键电路、蜂鸣器和LED电路。确定了基本的电路设计后,就开始画

电路图,采用的是Protel软件来画电路图,电路元件之间的连接采用的是网络的形式来连接。PCB制作画好电路图之后,要对每个元件进行封装,有一些元件,件本身是自带有的而有一些没有的就需要找其他的代替或者自己画封装封装画好之后就可以进行转成PCB了中主要的就是进行PCB布线用的是手动布线,把元件摆好位置后用的是2板的布线线完成后就可以添加泪滴铜、布地等操作。最后就是发出去给工厂打板即可。图23PCB底层

图24PCB顶层

图25PCB无覆铜层板子焊接好后,就要对单片机烧写程序,开始验证各个软件和硬件的部分,而本次中事实上不是一下就成功的也遇了不少的问题面就对在调试过程中遇到的问题阐述说明:1、无法下载程序由于考虑到把难度降低,同时在板子的电路尽可能的简单,所以本电路中没有烧写程序的电路,而是直接把单片机的串口接出来,用一个烧写工具USB转TTL电平的串口工具来烧写,该模块的主芯片用到的是,即是转成TTL电平直接跟单片机进行串口通信。把电路基本焊接完成后,首先接上电源,用万用表量电压正常,接上USB转TTL模块,开始下载程序,发现一直没反应,最后发现是没有共地造成的,共地之后正常下载;2、指纹模块无法工作

单片机和指纹模块之间的通信方式采用的是串口方式,成功烧写程序之后,单片机经过串口初始化之后为了方便测试两者之间的通信是否正常片机上电之后会直接通过串口发送指令给指纹模块实现识别功能指纹模块接受到该指令时指纹采集头会亮但是指纹头却一直没有反应确认了指纹模块的接线正确之后指纹头还是没有反应将指纹模块拔掉用转TTL工具来调试单片机的串口数据,接入电脑后,打开调试助手,在串口参数正确的情况下,发现单片机发送出来的数据是乱码波特率等其他参数都是正确的同时也进行了共地,那就是晶振的问题,发现晶振用的12M的,用到串口的时候,,其他的会有误差,造成数据丢失乱码等现象,换了晶振之后,串口通信正常。3、指纹模块反应慢把程序下载后先让程序直接进入指纹识别模式但是发现指纹模块一直很难识别指纹成功反应慢把指纹模块的电源断开用串口调试助手看单片机发送的数据又是正确的一直找不到原因后来发现单片机的TXD和RXD一直连着杜邦线,把杜邦线拔掉,指纹模块正常工作了;4、按键不灵敏板子上有5个按键各自的功能测试中现所有的按键都不太灵敏,当按下录入按键时本来液晶是显示提示正在录入指纹结果液晶一直没正常的显示或者有时显示硬件实在找不出问题后转向软件问题最后发现按键消抖延时,长得太离谱,导致要一直按着按键才有反应,改短了时间后,按键也正常反应。5、蜂鸣器蜂鸣器作为本次的报警器件,直接烧写一个调试成功的让蜂鸣器报警的程序,发现蜂鸣器不响,一开始怀疑是三极管烧坏了,换了之后发现还是不行,查看后原理图给的限流电阻为,而焊接的却是的,电阻阻值太大,导致电流不够让三极管导通,最后换了1K电阻,蜂鸣器正常报警;6、液晶不显示本次采用的是液晶作为显示器,采用的是串口接法,只需要用到单片机的2个IO口,方便简单,在调试过程中,发现液晶无法显示出文字信息,只亮了背光一样的程序烧到另外一个开发板上面发板上面的液晶正常显示,验证了是焊接的板子问题再次将开发板上面的液晶换到焊接的板子上面晶也正常显示此可见就是液晶本身的问题起液晶有串行和并行两种接口,咨询了卖家之后才得知这一块液晶是并口接口的想要换成串行接法须将液晶背面的一个电阻焊掉,焊掉该电阻之后,重新插上液晶,正常显示。

在经过各个部分的硬件和软件调试后本每个模块电路和对应的程序都没有问题后,整合软件,烧写到板子,上电,开始测试各个功能,正常使用,最终做出来的板子如图所示:图26指纹识别系统硬件实物本章介绍了在本次设计的过程中件代码编写和硬件调试过程中遇到的问题并介绍是如何解决的这也是本次设计中所学到的经验和体现自己动手能力

一个很好的说明。

6

总结指纹识别在目前看来市场前景应该还算是比较不错的且作为人体生物特征识别技术中应该还是比较广泛和技术比较成熟的据国际生物识别小组在2009年作出的一个不完全统计,目前市场上已经有很多种针对人类的各个不同生理特征和行为的特征的应用而指纹识别是应用最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论