




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\h\u1前言 32指纹识别的历史与发展前景 33.指纹识别中的基本概念与技术困难 44.系统总体设计方案和论文结构 55.纹图像处理及特征提取与实现 65.1方法概述 65.2指纹图像的滤波 75.3基于方向图的动态阀值指纹图像二值化方法 75.4指纹图像的细化算法 86特征提取及其后处理 96.1假特征点的去除 96.2细节点信息的提取及记录 96.3指纹识别中细节点的匹配 97指纹识别系统的硬件设计 107.1功能描述 107.2AT89S51单片机的结构与特点 117.3指纹识别系统硬件电路设计 127.4RS-232C接口功能特性及连接 128指纹识别系统软件设计 148.1算法的软件实现 148.2指纹识别系统软件的编制 148.3指纹传感器初始化设置 158.4指纹识别系统串口通信 168.589S51串行口工作方式 169指纹识别系统的意义 17参考文献 18致谢 18
基于单片机指纹识别系统的设计摘要:指纹作为人与生俱来的生物特征,具有不易丢失、防伪、防攻击等优点,能为使用者提供安全、可靠的认证途径,因此已广泛地应用于各行各业。但指纹图的噪声、皮肤弹性等不利因素,使得已开发出的指纹识别系统性能始终不能很好的满足人们的需求,因此对指纹自动识别系统展开研究具有重要意义。本文针对自动指纹识别系统的各个组成环节进行了研究,主要包括指纹图像预处理、指纹特征提取、指纹特征匹配三个部分。研究了指纹图像预处理环节。主要讨论了指纹图像预处理的五个组成部分:指纹图像归一化、指纹图像分割、指纹图像增强、指纹图像二值化、指纹图像细化,重点研究了基于梯度一致性的指纹图像分割算法、Gabor滤波增强算法和OPTA细化算法。对预处理流程进行了改进,通过将质量评估引入预处理减少了所需时间,提高了预处理效率。研究了指纹图像特征提取环节。首先对指纹特征进行了分类总结,在此基础上针对局部特征和全局特征进行了特征提取算法的选择,最后,对伪特征提取算法进行了研究,针对模糊指纹产生的伪特征点提出了基于结构密度和对比度差信息的去除算法。研究了指纹特征匹配环节。首先讨论了细节点配准算法,在此基础上重点研究了指纹匹配算法,分析了基于点模式的细节匹配算法存在的问题,针对存在问题,选用了基于三角形基准点定位的匹配算法,该算法克服了其它一些基于细节点的指纹匹配算法依赖中心点的不足,并且在匹配过程中引入了界限盒的概念,增加了多判决的条件,大大提高了匹配率。关键词:AT89S51单片机的结构与特点、图像处理、串口通信1前言19世纪初,科学研究发现了至今仍然承认的指纹的两个重要特征,一是两个不同手指的指纹纹脊的式样(radgepattern)不同,另外一个是指纹纹脊的式样终生不改变。这个研究成果使得指纹在犯罪鉴别中得以正式应用。主要代表性的事件有:1896年阿根廷首次应用,然后是1901年的苏格兰,20世纪初其他国家也相继应用到犯罪鉴别中。20世纪60年代,由于计算机可以有效的处理图形,人们开始着手研究利用计算机来处理指纹。从那时起,自动指纹识别系统AFIS(AutomatedFingerprintIdentificationSystem)在法律实施方面的研究和应用在世界许多国家展开2指纹识别的历史与发展前景19世纪初,科学研究发现了至今仍然承认的指纹的两个重要特征,一是两个不同手指的指纹纹脊的式样(radgepattern)不同,另外一个是指纹纹脊的式样终生不改变。这个研究成果使得指纹在犯罪鉴别中得以正式应用。主要代表性的事件有:1896年阿根廷首次应用,然后是1901年的苏格兰,20世纪初其他国家也相继应用到犯罪鉴别中。20世纪60年代,由于计算机可以有效的处理图形,人们开始着手研究利用计算机来处理指纹。从那时起,自动指纹识别系统AFIS(AutomatedFingerprintIdentificationSystem)在法律实施方面的研究和应用在世界许多国家展开。20世纪80年代,个人电脑、光学扫描这两项技术的革新,使得它们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用,比如代替IC卡。现在(90年代后期),低价位取像设备的引入及其飞速发展,可靠的比对算法的发现为个人身份识别应用的增长提供了舞台。相对于其他身份鉴定技术,指纹识别技术之所以优于其他身份鉴定技术而被广泛采用的原因:1.指纹是独一无二的,两人之间不存在着相同的指纹:2.指纹是相当固定的,不会随年龄、健康状况的变化而改变;3.指纹样本易于采集,难以伪造,便于开发,实用性强;4.每个人十指的指纹皆不相同,可以利用多个指纹构成多重口令,提高系统的安全性;5.指纹识别中使用的模板并非最初的指纹图像,而是由图像提取的关键特征,使所需存储的信息量减小,而且在实现异地确认时,可以大大减少网络传输负担,支持网络功能。可以看出,指纹识别技术相对于其他识别方法有许多独到之处,具有很高的实用性和可行性。因此,指纹识别成为最流行、最方便、最可靠的身份认证方式,己经在社会生活的诸多方面得到广泛应用。3.指纹识别中的基本概念与技术困难目前指纹识别技术还有很多困难。例如:当三维的指纹被指纹录入设备扫描成二维的数字图像时,会丢失一部分信息、,手指划破、割伤、弄脏、不同干湿程度以及不同的按压方式,还会导致指纹图像的变化,这给可靠的特征提取带来了相当地困难。例如传统的基于细节点的识别方法,是依靠提取指纹脊线上的细节点,然后对其位置和类型进行匹配,来识别指纹的(详细描述在第三章中),而噪声会影响特征提取准确度,增加错误的特征点或丢失真正的特征点。当噪声很大时,就要增加图像增强算法来改善图像的质量,但很难找到一种增强算法能够适应所用的噪声,多种增强算法又会大幅增加算法运行时间,不好的增强算法又会增加人为特征。当噪声增大时,提取了许多虚假细节点,还有可能丢失细节点。这就是传统的基于细节点识别算法的不足之处之一,因为它只利用了指纹图像中的一小部分信息—细节点位置和方向,作为特征进行匹配,丢失的蕴涵在图像中的其他丰富的结构信息。不难想象,基于这种方法的识别算法,很难全面适应指纹的变化。4.系统总体设计方案和论文结构硬件平台大致可以分为5个部分:成像系统(传感器FPS200)、核心部分(AT89S51单片机)、RAM、EEPROM等器件。工作原理:指纹经传感器采集后,由传感器直接转成RGB格式,并且数据传输到MCU。MCU需要执行大量的模式识别和图像处理相关计算。固化的程序存储在EEPROM中,这些指令控制了整个指纹识别系统的工作流程。RAM为内存存储临时数据。这就构成数据通道。在指纹算法方面,研究了基于细节点特征指纹自动识别系统的各部分构成以及指纹图像的预处理和细节特征提取。文章第一部分首先介绍了基于细节点特征的指纹识别系统的构成及原理。重点研究了其预处理过程,其中包括指纹图像预滤波、方向图计算、基于方向图的指纹图像滤波和指纹图像二值化。最后介绍了对二值化后的指纹图像细化的方法。第二部分介绍了硬件系统的结构,如:单片机的连接方法,外设寄存器选取,串口通信的实现等等。第三部分介绍了指纹识别系统的软件流程及与PC机接口通信的实现。5.纹图像处理及特征提取与实现5.1方法概述基于细节点特征的指纹自动识别技术是目前这方面研究中的主流,这种系统的实现有以下一些步骤如图2.1:预处理是将输入的(直接采集进来的)低质量、有噪音的指纹源图象处理成已细化了的清晰的二值图像[1]。它的目的是减少低质量的图像对分类识别结果的影响,预处理中一般包括图像增强、滤波、二值化、细化等步骤。预处理的方法通常有两种:方法一:先求方向图,后求频率图,最后由此得到的Gabor滤波器对图像进行滤波。这种方法计算量比较大,在求频率图容易产生偏差,不利于单片机的实现。方法二:结合指纹图像自身的特点以及其源图像像素来确定该点是否为脊,直接准确地得到黑白二值的指纹脊图像。这种方法对于从不同渠道获得的图像均有不错的效果。在以上两种方法都要用到方向图,方向图是一种可直接从原灰度图像中得到的有用信息,在预处理、特征提取、指纹分类中有着重要意义。我们总是在准确求得方向图的基础上运用各种滤波方法或直接找脊的方法来进行预处理。方向图描述了指纹图像中每一像素点所在脊线或谷线在该点的切线方向,也可看作是指纹源图像的一种变化表示方法,既用纹线的方向来表示该纹线。方向图分为两种:一种是点方向图,表示源指纹图像中每一点脊线的方向:另一种是块方向图,表示源指纹图像中每一块脊线的大致方向。计算方向图的基本思想是:在原灰度图像中每一点(或每一块在各个方向上的某个统计量(如灰度差、梯度等),根据这些统计量在各个方向上的差异,确定该点(块)的方向。5.2指纹图像的滤波在指纹处理中用到滤波器,主要在于去除图像噪声,增强图像质量,即增强指纹脊与谷的对比度,修补图像——连接脊中出现的断点、去除图像中的叉连现象。指纹图像滤波有两种方法:方法一:利用Gabor滤波器的参数可利用指纹的方向性和纹理性,用Gabor滤波器来作为带通滤波器,去除噪音,增强脊谷结构。这种算法难点在于需要计算图像的频率图——将指纹图像看成由脊和谷组成的周期图像,在每一个局部领域内都会有一个相对固定准确的频率。这种算法的缺点在于:求频率图导致计算量比较大,而且频率容易产生偏差;方法二:这种方法也是我们采用的滤波方法。这是一种简单但效果良好的上下文滤波器,上下文滤波法也是基于方向图的,这是一系列上下文相关的滤波器,使用时根据某一快的方向从一系列滤波器中选择一个相应的滤波器来对这一块进行滤波。其他方向的滤波器可以通过旋转得到。一个基本的滤波器由两部分组成:平均滤波器和分离滤波器。平均滤波器的作用主要是连接边中出现的断点,而分离滤波器可以去除图像中的叉连现象。滤波器的大小由指纹图像中脊线的周期决定,经过平均滤波器过滤的图像,其中每一点的灰度由其临近的24个像素的灰度值共同决定。用方向滤波器进行滤波去噪时,根据块方向图中的该块的方向,选用相应的滤波器(将水平方向的滤波器旋转块方向的角度后得到),进行滤波5.3基于方向图的动态阀值指纹图像二值化方法二值化是指纹图像预处理中必不可少的一步。常用的二值化方法有固定阀值法、自适应阀值法、局部自适应阀值法等,这些方法仅仅利用了图像的灰度信息,对指纹图像的二值化效果很不理想;现有的大部分指纹图像预处理方法都是经过滤波处理后再进行二值化,这样就需要对图像进行两次扫描,不利于处理速度的提高。将指纹图像自身的方向结构特点与源图像灰度值变化特点结合起来,确定对图像中每一像素点二值化的动态阀值。这种方法取代了一般指纹图像预处理中无效区域分割、滤波、增强、二值化等步骤,一次完成图像的二值化功能。实验结果也表明,该方法得到的二值化图像能够基本保持源图像上的特征点不丢失,确保了以后的特征提取和比对的正确性和可靠性。1.将图像分成大小为N×N的小块,用上述方向图改进方法计算各小块的方向;2.对图像中的每一点,以其所在块的方向作为该像素点的方向,并以该点为中心在其法方向上取(一般为奇数)的矩形窗,计算矩形窗内指纹方向每一列中像素点在法方向上的加权平均3.对中极大点或极小点附近的波动做平滑处理4.找出极大点和极小点位置及对应的值,对极大值极小值求平均,将此平均值作为该点二值化门限,称其为动态阀值。5.将当前像素点的加权平均灰度值(即)与动态阀值进行比较,若小于动态阀值,同时,当前像素点在波形图极小点一个有限的邻域内,则当前像素点为脊线点,否则即为谷点其中的取值与指纹读入器的分辨率有关,通常取为指纹周期的四分之一,本算法在具体实现中可利用同一块中所有像素有同样方向的条件,推导出快速算法,防止一些点的重复扫描,大大缩短处理时间。5.4指纹图像的细化算法指纹图像二值化后,纹线仍具有一定的宽度,而指纹识别只对纹线的走向感兴趣,不关心它的粗细。为了进一步压缩数据,得到更精确的细节特征,提高识别的准确性,对指纹图像进行细化处理是不可忽略的。所谓细化,就是从原来的图中去掉一些点,但仍要保持原有的形状。实际上,是保持原图的骨架。指纹图像的细化是指删除指纹纹线的边缘像素,使之只有一个像素宽度,细化时应保证纹线的连接性、方向性和特征点不变,还应保持纹线的中心基本不变。一种好的细化方法应满足下列条件:1.迭代必须收敛的。(收敛性)2.不破坏纹线的连接性。(连接性)3.不引起纹线的逐步吞食。(拓扑性)4.保护指纹的细节特征。(保持性)5.骨架纹线的宽度为1个像素。(细化性)6.骨架尽可能接近条纹中心线。(中轴性)7.算法简单、速度快。(快速性)6特征提取及其后处理6.1假特征点的去除我们采用了非常简单的方法:计算特征点间的距离,如果距离值小于所给的阀值,则认为特征点为假特征点。这种算法实现起来也很简单:扫描特征点的某一邻域,如果该邻域中出现其他特征点的话,将该特征点与出现的特征点同时去除,如此循环几次,当没有特征点被删去时,处理完成。这种方法中邻域的选取很重要,如果取得比较小,则可能起不到去除假特征点的作用;如果取得比较大的话,则可能将真正的特征点也一并删去。在具体实现中,我们取其半径为脊宽的一半。6.2细节点信息的提取及记录对每一个细节点,我们记录如下信息:1.细节点的x,y坐标。2.细节点的方向,这个方向就是该细节点所在的块的块方向。3.细节点的类型,即脊线端点或脊线分叉点。4.细节点对应的脊线。细节点对应的脊线用该脊线上的采样点来表示,采样的距离约为脊线间的平均距离。分叉点对应的脊线是与该细节点的方向最近的那条,端点对应的脊线就是该细节点所在的脊线。采样点用该点与对应细节点的距离,和连接该点与对应细节点的直线与对应细节点方向的夹角来表示,的取值范围在-180到180度之间。下图给出了细节点对应的脊线与脊线上的采样点的例子。在细节匹配中,对应脊线将被用来对两个平面点集进行校准,而且,校准的参数,也就是两个点集中任意一对脊线间的旋转角度,将被用来作为判断它们所对应的细节点能否看作匹配的细节点的条件。6.3指纹识别中细节点的匹配细节匹配一般在极坐标系中进行,因为指纹图像的非线性形变往往呈放射状,在某个区域内的形变比较大,然后非线性地向外扩张,因而,在极坐标中能更好地描述非线性形变;另外,在极坐标中不需要考虑输入图像与模板图像的参照点之间的平移,将一对对应点的坐标相对于参照点转换为极坐标时,平移就被抵消了;还有,在极坐标系中显然比在直角坐标系中更便于处理两幅图像间的旋转。为了把细节点转移到极坐标系中去,需要在模板细节点集和输入细节点集中各选一个参照点作为相应的极坐标系中的原点,并算出其它细节点相对于参照点的极坐标。由于事先不知道模板点集与输入点集的对应关系,需要考虑所有可能的参照点对。对模板点集中的每一点和输入点集中的每一点,定义为将和当作参照点对时,从输入图像到模板图像的旋转角度。如果,和可以被当作一对对应点,即它们分别对应的脊线相似性到了一定程度,则将取0度到360度间的一个值,否则,我们定义取值为400,以表示和不能是一对对应点。如果和是不同类型的细节点,也就是说它们一个是端点,一个是分叉点,则它们不是对应点对,取值为400。即,表示和对应的脊线相似性到了一定程度。7指纹识别系统的硬件设计7.1功能描述基于单片机的指纹识别系统是由AT89S51MCU处理器、68128RAM和EEPROM芯片等构成,在无需上位机参与管理的情况下,具有指纹录入、图像处理、指纹对比、搜索和模版储存等功能的智能型模块。它通过与之相配套的指纹传感器,可构成一个独立的指纹识别系统,或作为一个完整的外部设备。该系统控制的核心是单片机AT89S51,因为通过比较DSP芯片,处理速度较快和存储量较大,但性价比较低。而选取单片机AT89S51主要原因是功耗低、可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,128x8bit内部RAM,能满足设计要求。工作原理:当指纹传感器收到指纹信息,将通过串口给单片机发送命令,单片机同意并接收相应的信息,指纹传感器采集的指纹转换成RGB格式,并且数据传输到单片机,单片机通过存储在EEPROM中的固化程序执行大量的模式识别和图像处理相关计算,当用户的指纹被确认,单片机将命令执行机构动作,开关开。指纹识别模块以MCU处理器为处理中心,基本集成了指纹处理方面的所有过程,具有以下优点:1.在无上位机(PC或DSP)的情况下,独立完成指纹的录入、图像处理、特征提取、模块生成、模块存储、指纹对比(1:1)或指纹搜索(1:N)等功能。2.适用面广:提供命令/独立两种工作模式。(上电时,4种组合状态:命令、对比、录入、删除);独立模式适用范围:简单保险柜、房门锁具:命令模式适用范围:较复杂的门禁系统。指纹IC卡的终端机与PC联机的指纹识别及认证系统。7.2AT89S51单片机的结构与特点AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。表3.1AT89S51性能特性兼容MCS-51指令系统4k可反复擦写(>1000次)ISPFlashROM32个双向I/O口4.5-5.5V工作电压2个16位可编程定时/计数器时钟频率0-33MHz全双工UART串行中断口线128x8bit内部RAM2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能灵活的ISP字节和分页编程双数据寄存器指针7.3指纹识别系统硬件电路设计本系统采用AT89S51作为指纹识别系统的核心处理器,使用单片机内部的4K程序存储器,接+5V电源。。复位电路则采用简单RC复位电路,同时又可与一些需要复位的外围电路相连,达到复位与单片机同步。/EA/Vpp为访问内部或外部程序存储器的选择信号.由于AT89S51单片机有4K的内部程序存储器,又外接了128Kx8的EEPROM存储器,故该引脚必须接+5V高电平./PSEN为外部程序存储器读选通控制信号.此电路中无扩展程序存储器.故该脚悬空.串口通信接口设计采用MAX232实现TTL与RS-232的转换,实现与计算机通信。7.4RS-232C接口功能特性及连接2.RS-232C接口功能特性及连接使用9针或2}针的连接器将RS-232C串行口的信号传送到其他通讯设备,连接器各信号线定义及功能如表3.2。在此处采用的是9针的连接。表3.2串行口引脚定义表DB-25DB-9信号名称方向含义23TXD输出数据发送端32RXD输入数据接收端47RTS输出请求发送(计算机要求数据)58CTS输入清除发送(MODEM准备接收数据)66DSR输入数据设备准备就绪75SG信号地81DCD输入数据载波检测204DTR输出数据终端准备就绪(计算机)229RI输入响铃指示单片机与传感器或单片机与计算机之间直接使用RS-232C通讯标准进行串行通讯时,信号在通讯过程之中可能会被全部或部分使用。最简单的通讯仅需TXD及RXD及SG最基本的信号线完成,其他的握手信号可以做适当处理或直接悬空。在设计单片机和PC机的硬件电路时,使用MAX232芯片实现TTL电平和PC机RS-232电平的转换,使用该芯片使电路外围电路简单,工作可靠[9]。MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/T工A-232-E电平。每个接收器将EIA/TIA-232-E电平输入转换为5VTTL/CMOS电平。这些接收器具有1.3V的典型门限值及0.5V的典型迟滞,而且可以接收士30V的输入。每个驱动器将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。工作温度范围为0℃至70℃。MAX232芯片的性能特点如下:1.单5V电源工作;2.两个驱动器及两个接收器;3.士30v输入电平;4.低电源电流:典型值是8mA;5.符合甚至优于ANSI标准EIA/TIA-232-E及工TU推荐标准V.28。MAX232引脚如图3.7所示,1~6脚为电容端,7~14脚包含4路RS232/TTL电平转换器,其中两路为,另两路为。图3.7MAX232引脚图论文中所设计的指纹识别系统串口通讯的硬件电路图如图3.8所示。图中RXD与TXD可接入PC机的串行通信口。8指纹识别系统软件设计8.1算法的软件实现指纹识别的核心算法开始时一般都是在PC机上运行的C程序,需要移植到单片机系统中。由于用高级语言编程效率高,可读性好,修改方便,而汇编语言的特点则是编程困难,但是运行速度快,可以直接和硬件通讯;而且,大多数公司均为单片机芯片提供了集成开发环境,该集成环境同时提供了c编译环境和汇编语言编译环境。所以在移植的过程中,一般采用混合编程思想。即某些复杂的模块可用基于单片机的汇编编程,例如:方向图计算和细化处理,而一些比较简单且不影响运行时间的模块可以用c语言编程然后转换成汇编代码,例如计算特征值。要在PC机上运行程序并移植到单片机上,并调试指纹算法程序,监控单片机工作状态。我们就要建立调试通道,将传感器和单片机通过串口与PC机相连,传感器可经机调试,RGB格式的图像也可以先经过调试通道由PC机取得并分析传感器状态;单片机通过串口与PC机连接,并可通过调试软件调试指纹算法程序和监控单片机工作状态。在此可以看出,数据通道在硬件上证明系统能够实现指纹识别的功能要求,而调试通道的设计着眼于程序和系统的调试工作,为进一步的软件设计与优化提供了方便的接口。8.2指纹识别系统软件的编制指纹识别系统主要集中在对指纹仪的操作以及使用人员信息登记、数据库管理、记录查询等功能的编程。开发工具采用VisualC++6.0。在利用VC开发程序之前应先安装FDU2000指纹仪的SDK。对SDK的有效应用分为两种:隐式链接和显示链接两种方式。在本系统中采用的是隐式链接,将SDK安装目录下的相应的动态库文件(P1mDll.dll文件)拷入系统目录或其它系统可以找到的目录中,同时将Lib目录下的导入库文件(P1mD11.lib文件)加入工程设置的“Link一General一Object/librarymodule”栏中以及将Inc目录下的头文件P1mD11.h加入工程的头文件中,并在*.cpp文件中包含相应头文件即可。接下来就可以开始编写应用程序的代码了。8.3指纹传感器初始化设置指纹传感器在调用之前必须对指纹传感器进行初始化并使其处于接受指纹图像输入的状态它的初始化是通过在指纹识别系统主程序的主对话框的初始化函数中调用指纹传感器的初始化函数FingerInit()来初始化COM接口的,这是开始使用动态连接库的第一个函数,未初始化之前,其它函数的调用都无效。若初始化成功该函数返回0,失败则返回1。如果之前调用FingerInit()并成功,第二次调用将不做任何动作,直接返回0。P1mD11.dll只允许被系统中的一个进程调用。当第二个进程调用初始化函数时,函数返回FALSE。同样,在框架类的析构函数中调用反初始化函数FingerDestory()来释放所有资源,它与FingerInit()成对使用。这是使用动态连接库的最后一个函数,这个函数应该在程序退出时调用。采集卡的初始化的代码如下:BOOLCTestSecuGenDLLDLg::OnInitDialog(){CDialog::OnInitDialog();//Add”About…”menuitemtosystemmenu.FingerInit(0,5000,5);//指纹硬件初始化,参数1选择硬件类型//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&OxFFFO)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<OxFFFO);……}Fingerinit()函数的第一个参数是指纹仪类型,0为串口指纹仪;1为并口连接的指纹仪。参数2位指纹采集最长等待时间:一秒二1000,一般设置为5000。参数3为安全等级:1-9级,一般设置为5。1为最低安全等级,9为最高安全等级,5为正常级别。8.4指纹识别系统串口通信本系统的串口通信是指:当单片机与PC机调试成功之后,将所编程序和指纹用户登记数据库传送到指纹识别系统中的外部寄存器中。本系统是利用VisualC++6.0中的一个串行通讯标准控件MicrosoftCommunicationsControl(简称MSComm)来实现PC机与单片机的串口通讯的。MSComm控件属于ActiveX控件,使用时只需按照系统的实际环境设置控件参数就可以。实现指纹识别系统中串口通讯的主要步骤如下:1.首先在工程中插入MSComm控件,利用ClassWizard在主对话框类中定义CMSComm类控制对象工DC_MSCOMMI,并为它添加控制变量m_ctrlComm。2.串口的初始化。由于在识别系统中串口只用来发送与PC机通信信号,所以无需设置与接收数据有关的参数,只需对以下参数进行设置。这是通过控制变量m_ctrlComm来完成的。m_ctrlComm.SetCommPort(1);//选择串口COM1m_ctrlComm.SetPortOpen(TRUE);//打开串口m_ctrlComm.SetInputMode(1);//设置输入方式为二进制方式m_ctrlComm.SetSetting(“9600,n,8,1”);//设置波特率参数3.串口数据的发送。当调试,编程完成时,调用串口发送数据函数。m_ctrlComm.SetOutput(ColeVariant("mstrTXData”));//发送数据。8.589S51串行口工作方式表4.1串行口工作方式SM0SM1工作方式说明波特率00方式0同步移位寄存器fosc/1201方式110位异步收发器由定时器控制10方式211位异步收发器fosc/32或fosc/6411方式311位异步收发器由定时器控制图4.2串行口控制寄存器SCON89S51串行口共有四总工作方式,表4.1所示。89S51串行口是可编程接口,对它初始化编程只需用两个控制字分别写入特殊功能寄存器SCON(98H)和电源控制寄存器PCON(87H)中即可。89S51串行通讯的方式选择、接受和发送控制以及串行口的状态标志等均由特殊功能寄存器SCON控制和指示,其控制字格式如图4.1所示。电源控制寄存器PCON中只有SMOD位于串行口工作有关,其控制字格式如图4.2所示。在所设计的识别系统中,采用方式1发送和接受数据,这种方式是10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。在接收时,停止位进入SCON的RB8,此方式的传送波特率可调。当单片机以方式1接受时,数据从引脚RXD(P3.0)端输入。接受是在SCON寄存器中REN位置1的前提下,并检测到起始位(RXD上检测到1到0的跳变,即起始位)而开始的。为了接收准确无误,在正式接收数据之前,还必须判断这个1到0跳变是否是干扰引起的。为此,在这位中间连续对RXD采样三次,取其中两次相同的值进行判断。这样能较好的消除干扰的影响。当确认是真正的起始位后,就开始接受一帧数据。当一帧数据接收完毕后,必须同时满足以下两个条件,这次接受才真正有效。1.RI=0,即上一帧数据接收完成时,RI=1发出的中断请求己被响应,SBUF中数据己被取走。由软件是RI=0,以便提供“接收SBUF己空”的信息。2.SM2=0或收到的停止位为1,则将接收到的数据装入串行口的SBUF和RB8,并置位RI;如果不满足,接收到的数据不能装入SBUF,这意味着该帧信息将会丢失。9指纹识别系统的意义对生物识别(指纹识别)技术来说,被广泛应用意味着它能在影响亿万人的日常生活的各个地方使用。通过取代个人识别码和口令,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村种植产业投资合作合同
- 淤泥处理运输合同协议书
- 土地赠与合同协议书范本
- 转让轮胎店合同协议书
- 网站建设合同协议书范本
- 房屋施工安全合同协议书
- 2025服装专卖店销售人员劳动合同书模板
- 2025年合同遗失多年可通过劳动合同或社保记录补全
- 2025合同缺少签字盖章如何保持法律效力
- 2025济南市新劳动合同范本
- 2024年吉林省中考历史试卷真题(含答案)
- 互联网与营销创新智慧树知到期末考试答案章节答案2024年华东师范大学
- 新生入学教育工作方案
- 以塞罕坝精神建设美丽中国大力弘扬塞罕坝精神课件
- 端午节活动主题班会模板
- 公司车辆维护与保养制度
- 新媒体与社会性别智慧树知到期末考试答案章节答案2024年复旦大学
- 卵圆孔未闭的治疗及护理
- 高考语文备考复习:现代文阅读-科幻小说阅读指导与练习
- MOOC 儿科学-四川大学 中国大学慕课答案
- 2024年中国广电山东网络有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论