基于单片机的指纹密码锁设计与实现_第1页
基于单片机的指纹密码锁设计与实现_第2页
基于单片机的指纹密码锁设计与实现_第3页
基于单片机的指纹密码锁设计与实现_第4页
基于单片机的指纹密码锁设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着这几年科技和互联网的快速发展,指纹识别技术也得到了突飞猛进,可以看到指纹识别技术以经在生活中使用很广了,而它未来的发展空间也是潜力无限,智能门锁,智能手机解锁绝大多数都是应用了指纹识别功能。指纹虽然只是手指顶部一小块看着不起眼的部位,但是它却能够识别到人的身份,而且指纹识别是当今最方便的能够快捷的识别人身份的技术。此系统是根据单片机来实现指纹识别开锁的一个功能设计。模块核心采用的是性能各方面都优越的STC89C5单片机,然后连接串口通信控制指纹模块,这样就可以让指纹模块能够录取指纹和存储指纹数据,最后连接继电器做成的直观锁,这个设计具有小巧,价格低廉等优势。关键词:单片机指纹识别液晶屏AbstractWiththerapiddevelopmentoftechnologyandtheInternetinrecentyears,fingerprintrecognitiontechnologyhasalsomaderapidprogress.Youcanseethatfingerprintrecognitiontechnologyhasbeenwidelyusedinlife,anditsfuturedevelopmentspaceisalsounlimited.Thevastmajorityofsmartphoneunlockshaveappliedfingerprintrecognition.Althoughthefingerprintisjustasmallpieceofthetopofthefingerlookingattheinconspicuouspart,itcanrecognizetheidentityoftheperson,andfingerprintrecognitionisthemostconvenienttechnologythatcanquicklyidentifytheidentityoftheperson.Thissystemisbasedonasingle-chipmicrocomputertoachieveafunctionaldesignoffingerprintidentificationunlocking.ThecoreofthemoduleusesSTC89C5singlechipmicrocomputerwithsuperiorperformanceinallaspects,andthenconnectstheserialcommunicationtocontrolthefingerprintmodule,sothatthefingerprintmodulecantakefingerprintsandstorefingerprintdata,andfinallyconnecttheintuitivelockmadebytherelay.Thisdesigniscompact,Lowpricesandotheradvantages.KeyWords:MCUfingerprintidentificationLCDscreen 目录TOC\o"1-3"\h\u第1章概述 11.1指纹识别技术的进展 概述指纹识别技术的进展在现实生活中所有的东西都有一个自身的特征,用这些东西可以当作自身的特征来识别。当然这对于我们人体来说也是同样适用的,比如一根头发通过比对DNA就可以知道这个人是谁,相对而言,识别一个人的身份最方便,直接的方法就是识别指纹了。指纹说的是手指顶端那一节的纹路线条,在胚胎发育的时候就已经开始形成了。指纹识别历史悠久。技术的突飞猛进,进而导致人们可以制造出指纹成像的工具,在现在科技高速发展的时代,指纹识别的使用也越来越普遍了,随着成像设备的快速发展,目前指纹识别生物技术的发展,[1]全世界已经建立了犯罪指纹机构的指纹识别数据库,指纹识别手指被正式认可为识别手指的有效方法据统计,在全世界70亿人口当中,还找不出任何两个指纹是相同的,这就说明了,它拥有这独一无二的特性,它的这个特性让全世界警察机关都在使用指纹鉴别技术来办案。指纹相当于一种人体印章,每当签合同的时候,就可以发现合同上要按压指纹,公安部门在破案的时候就会运用指纹识别技术去查出不法分子。由于人体缺乏重复性,人们将注意力转向了对生物技术的学习,希望利用这项技术来应对当前的挑战,这些特征必须是独特的。经过多年的众多研究表明,人的指纹,人脸,人的声音和眼睛等这些不仅是唯一可以识别人的特征,而且还是非常稳定的,[2]正是因为人体拥有着这些特性,使得现在很多生物技术不仅发展成熟而且还得到了广泛的应用,例如:指纹识别、脸部识别、瞳孔和声音锁等。人们对生物技术锲而不舍的研究使得指纹识别技术得到了突飞猛进,虽然手指顶端的指纹看起来并不起眼,但是它却可以精准的识别出人的身份。现代科技的进步带动了指纹识别技术的快速发展,制造出来的指纹图像读取工具也越来越小,更加方便携带。再加上智能手机平板电脑的广泛应用,从而能够简单的比较两个指纹,此外,匹配算法的可靠性一直在增强,识别指纹的技术变得越来越常见。[3]1.2进行指纹识别的原理指纹一般指的就是手指最顶一节的纹路,一个完美的指纹图像是由黑白的二进制构成的图像。然而,通常获得指纹的途径是通过按压手指取得的,因此,由于某些外部原因和手指本身的皮肤和状况等因素的影响,有时候获取到的指纹不是很符合要求。此外通过机器对手指进行数字化时,由于光照问题也会产生其他的物理影响。产生的这些影响使得灰度图像不可以直接用于配对。所以一定要选择指纹的特征来对它进行识别。[4]正常情况下指纹的描述有2种特征:1、全局特征。顾名思义就是要对整个纹路结构进行描述,下图1-1就是指纹的3种全局特征,假如把手伸开,仔细注意看的话,就可以看到指纹的纹路是不相同的,但总的来说一共归纳为3种,分别是:斗形纹就是观察起来像一根绳子绕圈圈的;箕形纹就是弯弯看起来很多个半圆形叠加的;一条一条排列像弓一样的纹路就是弓形纹;所有人的指纹不仅整体形状会有差异,其他的也会不相同。图1-1指纹三种形状图局部特征,看局部这两个字就知道说的是指纹的一部分,要针对这一部分拥有象征性的特点展开刻画,通过类型、方向、曲率、质量等这些特点来进行重点刻画。经过以上分析所知类型其实就是当前对指纹分类的特征点,这些特征点有许多种类型,前面所讲到的所有的特征点在人的指纹中的存在也是不一样的,人体指纹特点出现最多的是短纹,它的出现率高达60%,第二个是分叉点百分之二十多的概率。基于局部纹理功能定义的许多详细功能,假如一起应用所有的这一些功能,则很难自动,快速地提取它们并将它们与其他特征区分开,自动指纹识别系统通常用到的是分叉点跟断点这两个主要功能进行识别,剩下的特性,可以将它们组合起来表示。1.3设计系统的目的和意义随着时代的进步,人们迫切需要一个更加安全可靠的安防和身份识别系统,以前的一些个人密码这些太麻烦,万一哪天忘记了就相当与没有了,加上一些身份识别的东西跟人体不是形影不离的,这些东西会被不法分子伪造,被盗和破译,无法完全满足现代社会经济活动和社会需求的安防。相对而言,每个人的指纹都是特定的,又跟识别者本身不可分割,所以指纹识别的安全系数要比其他的传统方法高很多。截至今日,还没有发现任何的两个人具有相同的指纹,指纹识别技术不管是从哪个方面讲都将是我们未来生活最需要的东西,因此在未来的新时代我们的指纹使用次数将会大大的增加,我们的生活会因为指纹技术的发展而更加的方便和安全。[5]单片机技术的应用现在已经是非常的成熟了,仔细观察的话就会发现它已经被广泛的应用到了我们的生活之中,比如:运动手环,火灾报警器等,经过了大学四年的学习,特别是学习了跟单片机相关知识后,觉得非常有必要活学活用,把它从书本上应用到生活之中,所以本次设计了一个用单片机来控制指纹识别开锁的系统,但愿做出的作品能够应用在生活之中。1.4系统工作流程1、系统开机:给它插上电源,这时候就可以看到指示灯亮起红色,屏幕也会因为通电点亮,液晶屏幕显示出:“请输入密码”字样,输入按键之后,液晶屏幕会显示出:“请按指纹”字样,然后接着就能看到识别的地方会有背景灯亮起,这时候就可以实行下一步动作进行开锁。如果系统识别到的指纹是正确的,接下来继电器就会开始动作,那么锁将会打开,进行指纹识别开锁的人就可以来到屋内,锁被顺利打开的时候屏幕就会有:“门已打开”的显示;如果识别的指纹不存在或者说存在但不成功,继电器则不会有任何动作,门锁不会打开,开锁者自然就没有办法进到屋内,同时屏幕显示出:“没有搜索到指纹请按任意键继续”的字样。2、管理者模式:输入键盘A键后进入操作模式,屏幕显示“请输入密码”,这时候按下设置好的初始密码,密码正确的话就进入到管理者模式,如果密码错误,则会显示“密码错误,请重新操作”。在管理者界面下能够实现增加多个开锁指纹、删掉用不到的指纹、手动开锁和修改进入操作页面的密码功能。输入“1”就可以添加系统的开锁指纹,液晶屏幕会显示出“请按手指”字样,将拇指端部按在指纹收集器上,多次按压录入,屏幕显示“指纹采集成功”并给采集到的指纹编号。按下数字“2”的删去指纹模式,液晶屏幕会显示出“请输入删去的指纹号”的字样,按下删除的指纹编号即可删除。在某些意外的情况下,假如遇到什么紧急状况,这时启用手动开锁功能,门锁也会顺利打开。最后修改密码功能可以对密码进行更改,保存后就可以进入主菜单页面的6位密码。整个系统的设计框图如图1-3所示4*4矩阵按键以及继电器和指示灯指纹4*4矩阵按键以及继电器和指示灯指纹模块LCD12864STC89C52单片机图1-3系统总体框架图硬件介绍和设计2.1单片机及最小系统 2.1.1STC89C52单片机的介绍单片机其实可以当作嵌入式微控制器来使用,拿它跟普通的电脑微处理器来做对比的话,体积小方便携带就是它的优势,可以放置在仪器内部,但它的内存量少,输入输出接口简单,功能低。对于单片机而言现在简直就是个百鸟争鸣的时间段,现在有很多在这方面有技术的企业差不多都开发了单片机,使得单片机的种类甚多有。所有的这些都有独特的属性并相互补充,为单片机应用提供了更多的选择[6]。现在学习所用到的单片机几乎都是将中央处理器(CPU)、只读程序存储器(ROM)、随机存取数据存储(RAM)、并行和串行通信接口,定时电路、时钟电路、中断系统集成在单个芯片上,而有部分单个芯片上集成了LCD(液晶)驱动电路,这样一个单片机就拥有了更多的单元电路,它的功能随着单元电路的增多会更加强大[7]。使用到的52单片机的性能如下:它的工作电压是3.3V~5.5V,工作的时候频率一般为48MHz。它的通用输入输出端口有32个,当复位时:P1/P2/P3/P4要上拉准双向端口,P0端口作为漏极开路输出,可以进行总线扩展,可以不增加上拉电阻,一般使用I/O端口时,都是要增加上拉电阻。ISP/IAP,没有专用的编程器,没有专用的仿真器。它一共拥有计时器T0,T1,T2,这三个类型的定时器或者计数器。STC89C52RC单片机的工作模式:外部中断可以唤醒它的掉电模式,可以应用到如水表等设备中。下图2-1本次采用的单片机引脚功能说明。图2-1STC89C52引脚图VCC:连接电源电压VSS:接地P0口:真正的双向口,输出锁存,输入缓冲,能驱动4个TTL负载。P1口:输入要先置1,无高阻态,能驱动4个TTL负载。 

P2口:I/O与P1口一样,当有片外存储器时,作地址线使用。P3端口:每个位还可以用于第二个功能,第二功能的定义见表2-1。表2-1STC89C52P3口的第二功能液晶显示器和通讯子程序两个主要部分组成了此设计的主程序。主程序的工作过程:第一步是对各种硬件功能模块进行初始化,开启液晶显示屏,键盘扫描,指纹模块建立通讯。2.1.2系统外部晶振的设计晶体振荡器又被称为晶振,在整个单片机系统的运用里面它是不可或缺的,时钟频率可以由它和单片机的内部电路连结来产生,而且产生的时钟频率还会影响着单片机相关的所有指令的执行速度。在平时的工作环境中,部分晶振在一定范围内可以使用外部电压来调节。晶振跟晶体在一块工作的时候,这个工作的晶体能够把电能跟机械能转变成共振,可以提供稳定,精确的单频振荡。[8]系统所需要的基本时钟信号是由单片机的晶振来完成的,正常使用下,系统跟晶振是共用的。系统所需的时钟频率是由晶振跟锁相环电路一起匹配提供的。,通过连接到同一晶体的不同锁相环可以提供给不同的子系统分别对应着不同频率的时钟信号。本次设计选择11.0592MHz的晶振作为系统的振荡源,STC89C52具备的高增益反相放大器可以构成振荡器,因此我们可以通过连接晶体、XTAL1和XTAL2作为反馈元件,和C1和C2组成并联谐振电路,这样就可以组合成一个自激振荡器,在此电路中采用的是值为30PF的电容,如图2-2外部晶振电路。图2-2外部晶振电路我们选择了11.0592MHz的晶体振荡器,振荡周期约为1us。机器周期差不多是0.1us,经过计算这个晶体能够满足本系统的要求,晶振跟单片机两者的间隔不能太大,不然的话容易无法接收信号。2.1.3复位电路的设计单片机电路初始化到指定状态可以由置位和复位来完成。一般是在单片机的RST引脚上焊接一个电阻和一个电容来形成复位电路,想要电路实现复位,这时候就需要做到复位电平的持续间隔一定要大于单片机的两个机器周期[9]。复位电路是由上电和按键2个复位合成的上电复位:这次的系统设计中单片机是通过高电平来进行复位的,绝大多数都是接一个电容器在VCC和RST引脚之间,最后在GND脚接上一个电阻来完成。电容器的值基本都是10uF,电阻器采用的阻值是10K。按键复位:按键复位是通过复位电容器跟开关并联组成的。按下系统中的复位键时,复位电路中的电容器将会放电,由于电容器充电,RST也被拉至高电平,它将在一段时间内保持高电平,这样就可以复位单片机。在这个系统中使用的复位电路如图2-3所示.在电源开启的时刻,当这整个电路中如果RC电路有电流入,那么它就会充电,而这时候RST引脚处会有正脉冲。只须能够保证RST端持续有较高的电平大于两个周期,单片机就可以实现复位。在这里选用的电容器的值是10uF,电阻选用10K。图2-3复位电路2.2液晶屏幕显示模块液晶,全称是液态晶体,是一种相态,因其具备特殊的理化与光电特性,1950年左右开始液晶显示技术开始慢慢发展起来。LCD的主要原理是通过电流刺激液晶分子产生点、线和表面以简化描述,通常将不同的LCD屏幕直接称为LCD屏幕。该液晶尺寸小,功耗低,实际操作简单,它不好的地方就是工作温度的范围过小,才0~55摄氏度,储存温度是-20~60摄氏度,因此在设计相应的液晶产品时,必须慎重考虑并选择合适的液晶2.2.112864系列液晶的引脚功能12864中有20个引脚。下表是引脚的具体说明。表2-2引脚功能定义2.2.1控制器接口说明1、初步操作时序如下表:表2-3读写输入输出2、状态字说明表2-4状态字说明一定要先执行读写检测,保证STA7为0以后,才可以对控制器进行读写操作。实质上,由于单片机的操作速度比液晶控制器的响应速度慢,因此不需要执行读/写检测或仅需很短的延迟。2.2.212864引脚与单片机连接图下图为12864与单片机的接口连接图。图2-412864引脚与单片机连接图一开始就要初始化用户编辑的显示程序,经过初始化后模块就可以正常使用了。在指令没有发送给模块以前,单片机的模块内部必须是在非忙碌情况下,最后按照接收到的指令在屏幕上放出有关的内容。在这里需要知道RS写入的是命令还是数据。读/写控制端子设置为写模式。把数据或命令发送到数据线。4.给E一个高脉冲,它就会把数据发送到LCD控制器然后接着完成写操作。2.3按键控制部分电路如果按钮未关闭,则电压将显示高电平或低电平。高电平和低电平指示不能同时打开,一个打开的情况下另一个会关闭。有没有被按下可以用检测电平的高低状态来确保。电路中必须添加去除电平抖动的方法,图2-5就是按键抖动的示意图,可以用软件或硬件来消抖,硬件一般通过使用双稳态电路或滤波器去抖动电路来移除。平时执行延迟程序的时候都是用软件去抖动,这样就可以确保第一次按下某个键时是否仍然是关闭状态,如果一直是关闭状态的话,第一步要确保已按下该键以消除抖动和干扰的影响。设计键界面的方法有独立键和矩阵键盘两种。独立按钮的每个按钮都是单独的,而且每个按钮一定要连接到输入线。输入线的电平一旦被检测到,就可以清楚知道按钮状态。此方法具备灵活的电路配置和简单的软件结构,但是具体计算后发现这个办法I/O消耗大,所以此方法绝大多数用于按键少或其他控制作用很简单的地方。由于此设计中有许多键,因此由于系统的可靠性和键盘设计的简单性而采用矩阵键。本次系统的按钮电路如图2-6所述,按下按钮的程度很低,我们使用软件去抖来减少对微控制器的影响。有键按下有键按下前沿抖动按键确定后沿抖动图2-5按键闭合及断开前后的电压检测矩阵键盘的办法有非常多种,一般最主要的几种的是:逐点扫描法,逐行扫描法,全局扫描法。在这个设计中检测采用的时逐行扫描法,P1.4-P1.7是当作列线,P1.0-P1.当作行线来工作的。工作步骤如下:如何知道有没有在键盘上按下了任意按键,这时候将所有的行线设置为输出端口后持续输出低电平;最后把其中的所有列线作为输入端口,这时候如果读取到有任何一行列线是低电平状态,就表明其中有按钮被按下了。2.确认按钮的位置。在知道有任何一个按键被按下之后(执行按键去抖动处理之后),下一步是通过依次将每一行设置为输出低电平(其余行输出高电平)来确定按下了哪个按键,然后逐列检查每个列的级别情况。假如其中有某列是低电平的话,按行线和列线输出都是低电平的那个交叉键。3.当知道所有的键位置之后,里面所有的键都会进行编号,即该键被编码。程序设计中通常使用计算方法和查表方法对密钥进行编码。本示例使用计算法编码。图2-6按键电路2.4系统指纹模块2.4.1指纹模块的简单介绍在本次系统设计中使用的是型号为ZFM60的指纹模块,指纹模块电路示意图如下:图2-7指纹模块接口图系统采用的指纹模块中拥有DSP芯片,还拥有着对外部指纹进行指纹特征采集的CMOS芯片,下图所示是指纹模板,指纹采集详细的步骤是:先对采集的指纹进行拍照扫描,根据识别到的指纹特征合成模板,最后的一步就是指纹输入成功了。图2-8指纹模版指纹模板是用来对按压的指纹进行“拍照”,每一次在指纹模块中按压输入指纹信息的时候,CMOS芯片都会执行简单处理,并且接着会输出0和1两种记录的具体信息,最后这些信息会被存储FLASH芯片里。当模块处于识别模式,指纹模块的第一要务就是让CMOS芯片收集正在识别的指纹,最后把收集到的指纹信息跟储存在FLASH芯片中的信息作对比。看看是否存在,如果存在,它将返回指纹号。这样,我们可以通过单芯片计算机或计算机执行指纹识别和注册。具体的指纹模块介绍如下:该指纹模块的型号为:ZFM60,其中包含:1.光学头2,通信线3,DSP芯片4,稳压芯片5,FLASH芯片6,CMSO传感器等组件。2.4.2指纹模块引脚接法指纹模块引脚功能:如表2-4所示:表2-5指纹识别模块引脚功能2.4.3指纹模块的命令本系统的设计中,可以通过单片机的串口给指纹模块发送跟接收命令来执行,首先给模块发送信息,等待模块返回给需要单片机进行处理的数据,以此来确认命令有没有被执行。最常见的有下面这几条命令:1、判断模块有没有连接,可以通过启动的时候执行模块握手。其中的命令如下所示:验证口令:指令包格式:应答包格式:需要注意的是:口令对的时候确认码是00H;收包错误时的确认码为01H;口令错误的时候确认码是13H。2、指纹模板的产生一般要输入图像、接着识别其生成特征、然后合成指纹模板最后的一步是存储指纹模板。录入指纹时用的指令:指令包格式:应答包格式:需要注意的是:当确认码是00H的时候,说明这时候已经成功的录入了指纹图像;当确认码是01H的时候,那就说明收包不对;当确认码是02H的时候,那就说明传感器上并没有手指;当确认码是03H的时候,那就说明录入的图像已经失败了。图像生成特征Img2Tz指令:指令包格式:应答包格式:需要注意的是:生成完好图像特征时确认码是00H;收包错误的时候确认码是01H;指纹图像不清晰没有办法生成特征的时候确认码是06H;指纹图像没有问题,特征点不是很多的时候确认码是07H。完成特征模板RegMode1指令:功能:特征模板需要用到Charbuffer1和2中的特定文件。指令包格式:应答包格式:需要注意的是:模板合成的确认码是00H;收包不对时的确认码是01H;两个指纹合成错误的时候确认码是0aH。指纹存储模板Store指令:指令包格式:应答包格式:需要注意的是:储存成功的确认码是00H;收包错误的时候确认码是01H。完成这四个过程和命令,我们已经输入了指纹,重复以上步骤,我们可以输入其他指纹。3.首先将指纹识别切换到识别模式,然后连续检测光学收集头上是否出现指纹。如果有,请扫描指纹并将其与库中的指纹进行比较。如果是,请读出指纹数。模块将自动检测是否有指纹,假如有的话,就会发送下面的命令:搜索指纹Search指令:指令包格式:应答包格式:需要注意的是:找到指纹时的确认码是00H;寻找不到的时候确认码是09H;如果找到,它将返回相应的指纹号,否则,将返回0。第3章系统软件的设计3.1系统程序工作分析在这一整个系统里,系统中的单片机是当作控制器来使用的。指纹识别模块和12864LCD、按键程序的开发是我们开发整个应用程序中重要的两个点。开发这个程序最重要的一点是建立一系列供主程序任意时候调用的C语言函数子程序。我们用到的是Keil编程软件进行编写程序所需要的代码,该软件可以简单的做到对程序的编写和测试,代码文件是否成功,成功的代码文件运用开发软件烧写到单片机里,给单片机接上电源后,里面的主程序就会实施初始化。根据电路的功能要求,如果按下了相应的按键,这时候的主程序最重要的一点是对LCD进行初始化并且要同时检测按键[10]。指纹识别模块和12864LCD按键程序的开发是我们开发整个应用程序重要的两个点3.2串口初始化由于使用串行端口与模块进行通信,因此必须限定好单片机和模块的串行工作速度和数据包格式。SCON是一个用来设置串行端口工作模式,接收发送控制的特殊功能寄存器。表3-1SCON寄存器地址位SM0和SM1是用来提供四种选择功能模式的:表3-2串行口工作方式PCON里面只有一个SMOD与串口工作有关:表3-3PCON寄存器SMOD(PCON.7)波特率倍增器。在串口模式1~3中,波特率跟SMOD有关。当SMOD=1时,波特率加倍。复位时,SMOD=0。为了能够让指纹模块跟单片机实现通信,两者的波特率一定要是相同的,因为指纹模块的波特率是固定的9600bps,所以此时需要在编程时将单片机的波特率设置为9600bps。在使用串行端口之前,首要任务就是把它初始化,至关重要的一项工作是把定时器更改为1,波特率产生,串口控制和中断控制:详细工作流程如下:1.先清楚的知道T1的工作方法;2.算出T1的初始值,然后把它加载到TH1和TL1。3.启动T1;4.确认串口控制;5.串口在中断模式的话,要进行中断设置。下面是串口初始化程序:3.3主程序流程根据框架,我做出了下图的整个程序的操作流程图。程序的检查过程:一开始先初始化所有的模块,检测有没有被按下的按键,如果有,就先去判断哪个键被按下了,然后判断是否调用相应的子程序。主程序主要由LCD显示屏,按键程序和通讯子按键程序三部分组成。整个程序的工作步骤是,一开始先把所有的硬件功能初始化,其中有液晶,键盘扫描,指纹建立通讯模块。图3-1主程序流程图3.3.1键盘管理程序设计流程键盘模块的工作流程图如图3-2所示:图3-2键盘程序流程图3.3.2液晶模块程序设计流程显示模块顾名思义就是起到显示作用的,可以把接收到的相关内容显示出来。图3-3显示流程图3.3.3通信程序设计流程下面的图片是串口通信发送数据和接收的工作图,如图3-4。图3-4串口通信数据发送、接收流程图3.4运用Keil编程程序做好前期的准备工作之后,开始进行程序的编写。首先应建立一系列的C语言子程序供主程序进行调用。此次设计是用Keil软件对单片机进行编程。Keil可以编译C源代码和汇编源代码,拥有高效易于理解的汇编代码,生成的大多数语句都是非常高效的生成代码。[11]移动目标文件跟库文件可以被Keil软件连接使用,并且还可以创建HEX文件跟调试目标程序。Keil软件的具体使用方法:首先打开本次的编写软件,进行一个新的工程创建,可以把它命名为“Fingerprint”,接着选择本次系统设计用到的单片机。2、再打开一个新的text文件,然后把它的名字改为main.c,接着在名为Target1的子文件里找到SourceGroup1,把main.c文件导入其中。3、按下下面图片中红色方框内的表示,接着会出现一个对话框,最后把单片机的工作频率增添进去里面,即为9600MHz。[12]图3-5设置波特率4、点击Output标签,在CreateHEX前的方框内勾选,这样可以生成hex文件以便输入单片机中[13]。5、用C语言创建源程序。6、修改源程序中的错误。7、测试,链接应用。第4章调试及实验结果4.1指示灯跟继电器的调试一开始先给整个系统供电,可以观察接上电源后的指示灯有没有亮起,以此来判断整个系统的电路是否正常。[14]当电源正常之后,就开始测试单片机有没有损坏,在编写软件上编写测试指示灯跟单片机的程序,烧写完成之后,看指示灯有没有按照测试预期的想法进行工作,如果是按照预期想法工作的话,那么指示灯跟继电器都是可以正常工作的。把测试需要用到的程序输入液晶,对液晶进行调试的时候千万要注意:液晶显示屏上的小方块显示,导致初始化过程异常,部分初始化应是指令接收不正确,根据初始化标准程序设置步骤,或修改指令之间存在时间延迟。液晶屏幕经过调试后的结果为:图4-1液晶显示4.2按键和指纹模块的的调试烧入写好的程序,接下来测试按键和指纹模块能否正常工作,操作顺序如下:1、接入电源时,指示灯被点亮。2、输入“*”键,液晶会出现“请按指纹”,指纹模块背景灯亮起,然后把拇指放到指纹模块亮灯处就能够进行指纹识别了。3、如果识别到的指纹是正确指纹,继电器就会工作,门锁将打开,可以顺利进入。接下来任意输入一个键,液晶显示将会返回原始画面。假如无法识别到是否有按压指纹或者指纹是错误的,门会无法打开,想进入的人就会进不了,此时输入任意键回到原始界面,可以继续进行指纹识别。4、在初始画面输入按键A,屏幕显示“请输入密码”,这时候输入6位初始密码可以进入到操作员模式,B键是删除键,可以用来删除添加的数字,D键其实就是确认键,输完密码点击确认即可成功打开设置页面。5、在操作员模式下,输入按键“1”可以增加指纹,在指纹模块亮起的地方按压手指,如果录入指纹成功,屏幕会显示“指纹录入成功,编号00X”,录入失败则会显示“指纹采集失败,请重新操作”就可以继续录入直到录入成功为止。6、按下按钮“2”就可以对存储的指纹进行删减操作,只要输入删去的指纹号就可以完成这一步的工作。7、当模块无法进行识别的时候,可以输入“3”手动打开门锁,不需要识别指纹。8、输入“4”键可进行修改初始管理密码。上述的所有程序都过一遍遇到不符合标准的,那么就要重新再检查一次,直到作品没有其他的任何问题为止。假如一开始测试的时候就没有什么问题的话,就说明所有的工作都是正确的,整个作品也达到了预期。4.3指纹识别正确率测试以上测试步骤完成后,对指纹识别的正确率做了一个测试,分别对指纹添加时的识别和开锁时的指纹识别情况做了个测试,测试结果如下图:图4-2指纹识别测试总结与展望5.1总结此篇文章主要是讲,如何运用自身所学的知识,来设计和实现一个单片机为核心具备有指纹识别开门功能的系统,整个设计综合了指纹识别、液晶和单片机等知识的运用。指纹识别系统的电路器件的每一部分都是基于单片机设计的,用Keil软件进行代码编写,最后用STC软件给单片机进行烧写,整个设计可以实现指纹开锁和相关的一些功能,实物可以应用到入户大门,电脑背包之类的。以上即为本设计的主要内容,指纹模块还有很多东西待开发,为了使人们生活便利,本设计还要接着创新完善。5.2展望随着未来科技的发展。指纹解锁将会迅速的普及,基于单片机的指纹识别密码锁的设计,这里的设计工作中存在一些未解决的问题,在实际应用中需要不断积累和完善。本次论文只是初步设计了一个指纹密码开锁功能,各项功能还不够全面,可以进一步的深入加强研究此系统的指纹识别灵敏度和正确率都有待提高。参考文献[1]L.Coetzee,etal.FingerprintRecognitioninLowQualityImages.PatternRecognition.1993,vol.26:1441-1460.[2]TIANJie,CHENXinjian,etal.Recentprogressin

fingerprint

recognition.ProgressinNaturalScience.2006,vol.03:231-240.[3]赵玉兰,姜春风,方修丰.指纹识别技术在煤矿门禁系统中的应用与实现[J].煤炭技术.2010,29(11):132-134.[4]赵晓玲.单片机在指纹保险柜中的应用[J].微计算机信息.2006,20(20):134-136.[5]刘小华,王燕生.指纹识别技术的发展[J].光学技术.1998,23(04):78-80.[6]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009:60-400.[7]张毅刚.单片机原理与应用[M].北京:高等教育出版社,2006:56-234.[8]赵建领.51单片机开发与应用技术详解[M].北京:电子工业出版社,2009:75-124.[9]陈光新.自动指纹识别技术及其应用[J].江苏船舶.2004,24(03):32-35.[10]KazuharuYamato,etal.ProblemsofFingerprintLookupDevicesandHowtoResolveThem.GazoDenshiGakkaishi.1995,vol.24:382-391.[11]郑春来,韩团军,李鑫.编译软件Keil在单片机教学中的应用[J].高教论坛.2009,15(12):96-97.[12]Prata.S.CPrimerPlus中文版[M].北京:人民邮电出版社,2005:74-99.[13]吴凌燕.基于Proteus的单片机仿真设计[J].仪表技术.2011,17(07):31-37.[14]唐钱辉,丁明亮.ProteusISIS和Keil在单片机教学中的应用[J].重庆电力高等专科学校学报.2006,8(04):46-49.致谢这篇论文的制作历时了2个月,在整个论文从选题到结束,遇到困难,寻找问题的解决方案,一点点去摸索,从不知道,到了解再到熟悉应用,这个过程中,老师和同学们都给了我很大的鼓励,在这个过程中慢慢领会,觉得很充实,有的同学手把手教我焊电路板,由于我不熟练,焊坏了一些东西,可他们还是鼓励我。还有的同学帮我调试程序,有时一个程序要连续调好几个小时,他们很有耐心,一边调试一边给我讲程序的道理,我获益匪浅。另外,还特别感谢指导老师沈洪锐老师对我论文的贴心指导,这段时间您辛苦啦!感谢母校和各位老师对我孜孜不倦的教诲,此外非常感谢本次的各位答辩和评委老师,请您们对论文的不足进行批评和指正。

HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+ESC--开始菜单CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截图工具CTRL+ENTERQQ发消息Alt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹自然键盘【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关按NUMLOCK五秒钟切换切换键的开和关左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关运行按“开始”-“运行”,或按WIN键+R,在『运行』窗口中输入:(按英文字符顺序排列)%temp%打开临时文件夹.C:\DocumentsandSettings\用户名所在文件夹..C:\DocumentsandSettings...我的电脑\C盘appwize.cpl添加、删除程序access.cpl辅助功能选项Accwiz辅助功能向导cmdCMD命令提示符commandCMD命令提示符chkdsk.exeChkdsk磁盘检查certmgr.msc证书管理实用程序calc启动计算器

温馨提示

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

评论

0/150

提交评论