基于单片机的指纹考勤管理系统_第1页
基于单片机的指纹考勤管理系统_第2页
基于单片机的指纹考勤管理系统_第3页
基于单片机的指纹考勤管理系统_第4页
基于单片机的指纹考勤管理系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGEIII目录1 引言 11.1 指纹识别简介 11.1.1 指纹识别原理 11.1.2 指纹识别应用 21.1.3 指纹识别技术的发展 21.2 系统设计的目的 31.3 课题背景 32 整体设计方案 42.1 系统总体设计 42.1.1 系统功能描述 42.1.2 系统总体框架 42.2 系统核心部件单片机 52.2.1 单片机的选择 52.2.2 ATMEG16单片机的介绍 72.2.3 单片机的复位电路 92.2.4 ATMEG16最小系统及晶振的选择 102.3 液晶显示模块 112.3.1 HS12864-15C系列液晶的特点 112.3.2 HS12864-15C系列液晶的引脚功能 122.3.3 液晶显示HS12864-15C的指令系统 132.4 电源和指纹模块 132.4.1 ZAZ-010系列独立式指纹识别模块引脚功能 142.4.2 ZAZ-010系列指纹识别模块指令系统 152.4.3 电源模块 173 系统软件的设计 193.1 系统程序工作分析 193.2 设计前准备工作 193.3 单片机的程序设计 203.3.1 键盘管理程序设计流程 223.3.2 LCD显示模块程序设计流程 223.3.3 指纹通信模块的程序设计流程 234 实物的制作与调试 244.1 电路的焊接 244.2 电路和程序的调试 254.2.1 单片机的程序下载 254.2.2 串口调试 254.2.3 液晶键盘调试 26结论 27参考文献 28附录1:串口调试子程序 29附录2:整体源程序 31附录3:硬件电路图 48致谢 49第二章MACROBUTTONAcceptAllChangesInDoc[XXXX...]毕业设计(论文)网:PAGE49引言对于我们当今生活的这个智能化的社会中,为了保护人身安全和社会和谐,对于身份的认证在很多场合都显得尤为重要也十分有必要,然而对于传统的那些传统的基于传统的身份认证方法以及认证技术,在科技越来越发达的今天都不足以对抗当今的技术,证件的伪造以及黑客技术越来越发达建造的各种技术弄出的密码破解等手段都直接打破了传统的身份认证,这样显得传统的身份认证都在智能化的今天表现得力不从心。那么,人们肯定会考虑:如何保护自身的安全,如何让自己在公共场所隐私不会被受到窥探,如何使自己的各种重要文件不会被泄露。这些对于传统的认证方法,仅仅用以前的密码加密法是无法认证现今的智能化“假人”的,仅仅能防君子不防小人的,甚至在当今那些高明的黑客眼中,仅仅由几个字符就能组成的密码直接是不值一提,根本无法认证身份真假,那么,对于传统认证的身份认证我们就有了新的想法,生物识别技术——就是主要根据人体的身体状况、声音等等人体的各种特质来解决传统身份认证无法完成的进行身份验证的科学的、高效的认证方法。并且早已出现的生物识别技术中都出现多种方法了,比如说根据人的笔记来识别、根据声音状态识别、根据眼睛的视网膜和虹膜进行识别、根据人的面向进行识别、根据手掌的纹路识别、根据头发丝儿来识别、根据指纹来进行识别等等各种身份认证技术。并且这些身份认证技术都比之传统的身份认证技术有着无可比拟的显著优势:1、对于身份假冒的情况减少了,真实身份大体上得到了真实认证;2、对于传统的人工的身份认证,明显这些智能技术简洁高效降低了高额的管理成本与时间消耗;3、使用者使用明显方便了,进一步减少使用卡、使用钥匙或者是用密码验证这些麻烦,节约时间,不用怕丢三落四了。将这些技术能够运用到很多地方,比如考试签到,开锁关锁等各种需要保护隐私保护文件不被泄露、身份无法假冒的地方。基于此,本设计主要从这些技术中研究的是这些技术的发展起始源头——指纹研究,并且在很多场合它都是使用最为广泛最为方便也节约时间节约成本的生物识别技术而对于这种指纹识别技术,主要通过的是算法和现代的电子集成技术来实现,那么如何对它进行研究就要研究算法和单片机的控制。指纹是人体必有的一部分,虽然是小小的一块皮肤,但识别的算法计算量确是十分庞大。需要将这些数据进行各种比对,需要计算它相等不相等,还要对它的匹配算法进行大量的运算。然后靠单片机对人体的指纹进行读取。与此同时利用计算机进行数据的运算并将之连接到单片机上进行两个指间的运算对别,识别出真正的指纹。与此同时,根据算法匹配的不断完善,指纹识别技术越来越可靠高效实用了。指纹识别简介指纹识别原理在所有的九大生物识别技术中,他们的原理大都相似。指纹识别是利用人体的指纹特征分别对不同的个体进行区分与鉴定。上文我们说到过指纹识别技术是其家族中技术最为成熟,也最被广泛应用的生物识别技术。这主要得益于人们对指纹的采集是非常简单的,而且指纹识别的准确率也比较高。通常来讲,指纹识别的原理包括三大部分,分别是指纹采集原理、指纹特征分析原理与指纹特征匹配原理三部分。指纹采集原理是将指纹的生理几何特征,然后通过不同的传感技术将其表现出来,最终形成了用数字化显示出来的指纹图案的原理。指纹特征分析原理是在收录到的指纹图案的整体或细节特征进行分析。提取、鉴别的原理。它的分析对象包涵了指纹特征以及特征点的分布,最终形成平面几何关系。不管是特征点中的个体还是组合都是指纹特征的重要组成部分。将它们用数字模块的方式表现出来,就实现可一个完整的指纹特征分析的过程,最终形成了指纹图像。指纹特征值匹配原理是指将指纹图案的完整和细节特征按识别的程度进行匹配,而匹配的指纹是在已经注册的指纹和当前验证的指纹之间进行对比,匹配运算不是对正在进行的两个指纹间的比较,而是对已经形成的数字模块上面的指纹特征值来进行最终匹配。指纹识别应用指纹识别技术的身份识别手段最早是通过计算机的运行来实现的,同时也是生活中运用最为广泛的生物识别技术。最开始的时候主要是运用在了警察刑侦,但在最近的几年里,生物识别技术蓬勃发展,已经逐渐走向了更贴近生活的大众民用市场。因其特殊的识别方式,在生活中的运用越加普遍,多形态的指纹识别技术运用越加广泛,比如指纹考勤机、指纹门禁系统、指纹银行、指纹商场等等。日新月异的科学进步正在刷新我们对普遍生活的认知。指纹识别技术作为目前应用最为广泛、价格低廉、普遍性高的生物识别认证技术。指纹,作为人体的一部分,却有着个体独一无二的信息。众所周知,皮肤的纹路在每个地方是不尽相同的,在断点和交叉点上各不相同。在信息处理的专业术语中称为“特征”。在医学上以及证明了这些“特征”在每一个手指上都是不同的,而且具有唯一性和永久性的个人特征。所以我们只需要将同一个人的指纹收集对应起来,就可以得出每一个人的真实身份。指纹识别技术的发展指纹识别的近10年是处于一个自然增长却发展缓慢的一个过程。但在最近几年却迎来的它的跳跃性发展的黄金时期。在未来的这几年里,指纹识别技术有着巨大的发展前景在经历了,并且对国内外的安全防控产生巨大影响。若公司规模较小在进入市场后将面对传统行业规模较大公司的打压。这些巨头公司对于竞争关系的小型公司要么采取收购要么就会在公司初期就可能会被扼杀,这两者都不会是公司管理者希望看到的情况,最终结果也不会乐观。但这也是每一个新兴市场的必然结果。这些竞争将会直接带动形成一个规模化的产业。在我国生物识别技术起步较晚普及也不广泛,主要是企业在应用。在2002年市场价值约为几亿人民币的生物识别技术市场中,大部分产品用于门禁、考勤系统,而这其中指纹识别又是占主要地位,从未来需求分析来看,中国巨大人口基数下指纹识别技术市场将会是全球中心,所以先行占领技术制高点,形成一个系统化、规范化的生物识别技术体系,将赢得市场一席之地。系统设计的目的随着社会的发展,人们越加需要更加高效和可靠的身份识别系统。像口令、密码、身份证认证等已经逐渐有了被破解性。并且由于卡与人有着可分离性。多种假冒方式已经完全不能满足人们对安全密码的需要,社会经济活动和安全防范意识的提高,使得人们更加需要安全可靠的指纹识别技术。唯一性、方便性以及终生不变性是指纹具有的特殊功能,目前为止,生活中的许多方面已经运用到了指纹识别技术,为我们的生活提供了无限可能。从根本上讲,指纹识别技术可以良好的判断一个人的社会背景和识别真实身份,降低了社会人与人之间的信任成本,更加有益于人们进行日常的生活交流。从根本上解决了社会经济交流和交往模式,提高效率。课题背景指纹检测可以良好的判断和定义一个人的真实生物身份,从而降低社会活动中的信任成本。从根本上改变经济和社会交往模式,提高效率。未来社会利用生物识别技术的场合将会越来越多,指纹识别技术日趋完善,指纹检测变得越发重要。本次设计指纹识别电子密码锁是基于深圳指昂科技有限公司生产的ZAZ-010指纹模块,可以根据串口通信协议与上位机实现通信,从而实现指纹的录入、存储、比对,并通过HS12864-15C液晶显示出指纹采集存储的过程和比对的结果。指纹电子密码锁安全可靠,使用方便。天津大学硕士学位论文 MACROBUTTONAcceptAllChangesInDoc[此处键入中文论文题目]整体设计方案系统总体设计系统功能描述本系统是针对指纹收集、识别模块相继开发出指纹识别密码的电子功能系统。首先该系统在使用时对指纹模块进行手指搜索,并且当搜索到手指时,将立即采集指纹的图像,并且将采集到的图像以转化成数据模块的形式发送出去。指纹识别是利用人体指纹的差异性以及不变性,同时提供加密手段为用户使用时,将手指放在指纹收集器的识别窗口上,就能采集到使用者的指纹信息进行识别。这个过程是十分简洁方便的。主要功能就是用液晶显示出指纹模块采集指纹图像各个流程及比对的结果.采集指纹图像之前,指纹模块必须要检测手指是否放在采集窗口上,所以就要有录入指纹这一项功能该指纹识别系统的主要功能从以下几个方面介绍:1.录入指纹:该系统首先要有着录入指纹的功能,通过指纹采集器将个人的指信息特征录入系统。2.合成个人指纹模板并存储:在通过光电转换之后,把指纹特征数据值以及对应的ID号存储到存储器当中。这时上位机只要有从系统传来上传指纹的命令,模块可以迅速将数据传送到指定位置。3.搜索指纹库并且比对指纹:当采集到的指纹录入时,模块会在上位机指令下到搜索指纹库里去对比相应指纹,这个时候的显示器会对比指纹显示结果,同时发光二极管亮。系统总体框图ATMEG16单片机LCD指纹模块4个独立按键以及继电器和指示灯图2-1系统总体框图该系统主要是由MCU、LCD、指纹模块组成的,系统主要的工作方式是当检测到有按键按下时先由MCU通过串口通信控制指纹模块对指纹进行采集、录入、存储、比对。然后,根据所得的数据对其它接口器件,此时LCD、继电器进行响应操作。系统核心部件单片机单片机的选择单片机是单片微型计算机的简称,是微型计算机的一个重要分支,由于单片机主要运用于控制领域,所以在国际上又将单片机称为微控制器。在一般情况下,单片机是由单块集成电路芯片所组成,将CPU、存储器和输入/输出接口等部件安装在电路板上,外部输入/输出设备通过电路板上的接插件与输入/输出接口连接起来就组成了微型计算机;如果将CPU、存储器和输入/输出接口等做在一块集成电路的内部,这种集成电路就是单片机。单片机只需要与相应的软硬件结合,就能成为一个单独的控制系统。在单片机的现阶段中,它正在朝着拥有高性能和多样性品种方向发展,其发展趋势将是更进一步向着CMOS化、低功耗化、大容量化、、高性能化、低价格化、微型单片化和外围电路内装化等几个主要方向发展。单片机重要的应用意义还在于,它从根本上打破了传统的控制系统思想和方法。原来用硬件来实现的控制功能,必须由模拟电路或者是数字电路来实现的大部分功能,现在已经能用单片机通过实现软件方法控制系统了。这种硬件被软件所替代的控制技术也被称为微控制技术,这是传统控制技术领域的一次重大革命。单片机经过了多代发展,正朝着多功能化、高性能化、低电压化、低功耗化、微型单片化、低价格化、大存储容量化、强I/O功能以及相对较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1.多功能单片机能够实现很多的功能,主要是通过把能够需要到的存储器和I/O口同时汇集在同一块控制芯片上。例如说能够编程的计数器阵列、还有一些能通过高速计数器来进行捕获和比较等等。这些都能通过此单片机来实现它的作用。而在某些应用领域中,能够看到单片机通过降低应用系统的成本减少芯片的不必要的数量来对相对应的控制设备进行集成。2.高效率和高性能对于单片机的高效执行,主要是运用各种技术来提升,更是通过运用RISC、流水线和DSP的设计这些高端高效的技术,都能够明显的感受到单片机的性能与效率得到了显著提高,更是能够明确的看到,由于运用了这些技术,同样的运行频率,但是有了这些技术的单片机的效率明显更高效,时钟频率更加的明显,甚至单片机的寻址的能力、片内ROM(FLASH)和RAM的容量都通过运用这些技术来提高单片机的集成度,使之在以为的基础上都得到了数量与限制的显著突破。由于整个系统环境的复杂程度不断地增加,便开始使用像C语言一类的高级语言,用以开发单片机的程序。高级语言的使用,使得整个系统的开发难度降低,开发周期缩短,大大增强了系统软件的可读性以及可移植性。方便改进和扩充系统的功能。AVR内核单片机,是一种具有32个通用工作寄存器以及丰富指令收集器的单片机的。全部的寄存器都和ALU直接连接,这样的直接效应就是可以在一个时钟周期里,指令可以同时访问两个不同的独立寄存器。这样的结构明显的提高了代码的运行效率,并且比普通的微控制器高出了最多10倍的数据容量。ATmega16L有着以下几个特点:在工作于空闲模式的时候,CPU将停止工作,但是USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统能够继续工作;在掉电的模式下,晶体反响振荡器会停止震荡,除了硬件复位和中断之外的所有功能都将停止运行;在省电或电量不足的模式下,除了异步定时器继续工作之外,其余的功能模块都将处于一个休眠的状态。只允许用户保持一个时间状态的标准;ADC噪声抑制模式时,为了降低ADC转换时发出的开关噪音,将会停止CPU和ADC以及异步定时器以外的所有模块的运行;在Standby的模式下,只有晶体或者是振荡器还在运行,为了具备快速启动的功能,其他的功能模块都将处于一个休眠的状态。让元器件只消耗很少的电流;在扩展Standby的模式下,将允许异步定时器以及反向振荡器继续运行。通过使用集成在芯片上的8位RISCCPU和系统可编程闪存,ATmega16成为一种可供选择的功能强大的单片机,并且为许多嵌入式控制应用提供了方便快捷,并且低成本的运行方案。下面是基于八位AVR单片机芯片ATMEGA16的主控系统方案:ATMEG16单片机的介绍ATMEG16的管脚说明如图2-2所示:图2-2DIP封装ATMEG16单片机引脚结构图1.VCC(直流电源正极)是数字电路的电源,GND(接地端)为地。2.A/D转换器的模拟输入端口A是8位双向I/O口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口A还是处于高阻的状态。3.端口B(PB7-PB0)作为一个8位双向I/O口的端口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口B还是处于高阻的状态。除了此情况,端口B也可以用做其他状态下的特殊功能。4.端口C(PC7-PC0)作为一个8位双向I/O口的端口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口C还是处于高阻的状态。这时如果JTAG的接口使能,即使复位出现引脚PC5(TD1)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口C也可以用做其他状态下的特殊功能。5.端口D(PD7-PD0)作为一个8位双向I/O口的端口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口D还是处于高阻的状态。端口D此时也可以用做其他状态下的特殊功能。6.RESET(复位键)是复位输入引脚,当它的持续时间超过门限的最小时间时,低电平在这个时候将会引起复位。7.XTAL1(13)为片内晶振反相放大器的输入端,片内时钟操作电路的输入端。8.XTAL2(12)为片内晶振反相放大器的输出端。9.AVCC(模拟电路)是端口A和A/D转换器之间的电源。在不使用ADC的时候,该引脚可以直接连接在Vcc上。在使用ADC的时候,此时要通过一个低通滤波器才能和Vcc相连接。10.AREF(参考电压)是A/D转换器的模拟基准输入引脚。单片机的复位电路单片机的初始化操作是复位,它的作用是确保在CPU当中的每个部件都处于初始状态,在确定后,将开始从这个状态开始恢复工作。ATmega16有5个复位源:1.JTAGAVR复位:MCU复位是当复位寄存器为1时。2.上电复位:MCU复位是在电源电压低于上电复位门限VPOT时,。3.看门狗复位:看门狗使能的同时看门狗定时器溢出,此时复位发生。4.外部复位:MCU复位是引脚RESET上的最小脉冲宽度小于低电平的持续时间时。5.掉电检测复位:此时的掉电检测功能使能,并且掉电检测电压高于电源电压时复位。ATmega16单片机的5个复位源中,看门狗复位电路和外部复位是最常用的两种复位。当外加在RESET引脚上的低电平由外部复位电路产生时,当最小脉冲宽度低于复位低电平持续时间时,即触发了复位过程,即便在这个时候并没有时钟信号在此时运行,VTOUT延时周期的开始,由外部信号高于复位门限电压的时候。延时结束时,MCU即启动。外部复位时序图如图2-3所示,外部复位原理图如图2-4所示:图2-3外部电路复位时序图图2-4外部复位原理图ATMEG16最小系统及晶振的选择ATmega16芯片有如下几种时钟源。通过Flash熔丝位进行选择时,时钟输入进入AVR时钟发生器时,再分配到相应的模块进行对应。表2—1熔丝配置模式器件时钟选项CKSEL3..0外部晶体/陶瓷振荡器1111–1010外部低频晶振1001外部RC振荡器1000–0101标定的内部RC振荡器0100–0001外部时钟0000注:此选项不适用于晶体,只能用于陶瓷谐振器。晶体振荡电路:XTAL1与XTAL2分别是用作片内反向振荡器的放大器的输入端和输出端来使用,如图2-5所示,这个振荡器使用时可以用石英晶体,同时也可以用陶瓷谐振器使用。选择这两种放大器的模式可以用熔丝位CKOPT用以选择。当CKOPT正在被编程时,在振荡器的输出引脚将会产生一个满幅度的振荡。噪声环境是最适用于这种模式的,这时需要XTAL2来驱动第二个时钟缓冲器,这种情况下,它的频率范围会更加的宽广。当保持CKOPT处于还没有编程状态时,此时振荡器的输出信号幅度就比工作时小得多。这样的优点是大大降低了运行成本和功耗,但是频率范围就相对比较窄,不能驱动其他对应的时钟缓冲器。对于谐振器,8MHz是CKOPT未编程时的最大频率,16MHzCKOPT编程时为的最大频率。此时不管使用的是晶体还是谐振器,C1和C2的数值都要一样。使用的晶体或谐振器,在一定程度上影响了最佳的数值,当然还会和杂散电容和所处环境的电磁噪声有关。为了保证系统稳定性和串口传输质量所以选用外部晶振,晶振选用7.3728M。图2-5ATMEG16最小系统液晶显示模块显示模块采用HS12864-15C系列中文图形系列液晶模块。由控制器ST7920控制与驱动。HS12864-15C系列液晶的特点1.HS12864-15系列硬件特性如下:提供8位,4位并行接口及传行接口可选自动电源启动复位功能内部自建振荡源64*16位字符显示RAM(DDRAM最多16字符*4行)2M位中文字型ROM(CGROM),总共8192个中文字型2.HS12864-15系列软件特性如下:文字与图形混合显示功能画面清除功能光标归位功能显示开/关功能反白显示功能垂直画面旋转功能休眠模式HS12864-15C系列液晶的引脚功能引脚PSB为芯片的传输方式控制端;引脚E为读写使能信号,它是在下降沿时数据被锁存入HS12864液晶的;在E高电平期间,数据被读出;R/W为读写选择信号,当它为一时为读选通,为零时为写选通;DB0-DB7为数据总线RST为复位信号。复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU连,由MCU控制;也可直接接VDD,使之不起作用。引脚功能如表2-1所示:表2-1HS12864-15C的引脚功能引脚符号状态引脚名称功能PSB输入数据传输方式PSB=1为并行传输;PSB=0为串行传输E输入读写使能信号在E下降沿,数据被锁存(写)入HS12864-15C;在E高电平期间,数据被读出R/W输入读写选择信号R/W=1为读选通,R/W=0为写选通RS输入数据、指令选择信号RS=1为数据操作RS=0为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU相连,由MCU控制;也可直接接VDD,使之不起作用。液晶显示HS12864-15C的指令系统1.清除显示RSR/WD7D6D5D4D3D2D1D000000000012.显示开/关指令RSR/WD7D6D5D4D3D2D1D00000001DCB控制整体显示开关,游标开关,游标位置显示反白开关;D=1,整体显示开;D=0,整体显示关;C=1,游标显示开;C=0,游标显示关;B=1,游标位置显示反白开;B=0,游标位置显示反白关;3.读取忙状态RSR/WD7D6D5D4D3D2D1D001BFA6A5A4A3A2A1A0读取忙状态以确定内部动作是否完成,同时可以读出地址计数器AC的值4.写数据RSR/WD7D6D5D4D3D2D1D010写数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。5.读数据RSR/WD7D6D5D4D3D2D1D011读显示数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。电源和指纹模块指纹模块采用深圳市指昂科技有限公司生产的ZAZ-010系列独立式指纹识别模块,以高速DSP处理器为核心。主要技术指标如下供电电压:DC3.6-6.0V供电电流:工作电流:100mA(典型值)峰值电流:150mA指纹图像录入时间:<0.5秒窗口面积:14*18mm匹配方式:比对方式(1:1)搜索方式(1:N)特征文件:256字节模板文件:512字节存储容量:100枚安全等级:五级(从低到高:1、2、3、4、5)认假率(FAR):<0.001%拒真率(FRR):<0.1%搜索时间:<1.0秒(1:1000时,均值)上位机接口:UART(TTL逻辑电平)通讯波特率(UART):(9600*N)bps其中N=1~12(默认值N=6,即57600bps)ZAZ-010系列独立式指纹识别模块引脚功能模块中引脚1与电源相连,引脚2接单片机的RXD端,引脚3接单片机的TXD端,引脚4悬空,引脚5接地。表2-2如下:表2-2指纹识别模块引脚功能引脚号名称类型功能描述1Vinin电源正输入端2TDout串行数据输出。TTL逻辑电平3RDin串行数据输入。TTL逻辑电平4NC-未定义,悬空。5GND-信号地。内部与电源地连接ZAZ-010系列指纹识别模块指令系统模块通过串行通讯接口,可直接与采用3.3v或者5v电源的单片机进行通讯。模块数据发送端接上位机接收端,模块数据接收脚接上位机数据发送端。录入指纹图像指令:指令包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H01H05H应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示录入成功;确认码=01H表示收包有错;确认码=02H表示传感器上无手指;确认码=03H表示录入不成功;图像生成特征Img2Tz指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes包头模块地址包标识包长度指令码缓冲区号校验和0xEF01Xxxx01H04H02HBufferIDSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示生成特征成功;确认码=01H表示收包有错;确认码=06H表示指纹图像太乱而生不成特征;确认码=07H表示指纹图像正常,但特征点太少而生不成特征;确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;特征合成模板RegMode1指令:功能说明:将CharBuffer1与CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H05H09H应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示合并成功;确认码=01H表示收包有错;确认码=0aH表示合并失败(两枚指纹不属于同一手指);存储模板Store指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes包头模块地址包标识包长度指令码缓冲区号位置号校验和0xEF01Xxxx01H06H06HBufferIDPageIDSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示储存成功;确认码=01H表示收包有错;搜索指纹Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytes包头模块地址包标识包长度指令码缓冲区号参数参数校验和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes2bytes2bytes包头模块地址包标识包长度确认码页码得分校验和0xEF01Xxxx07H07HxxHSUM注:确认码=00H表示搜索到;确认码=09H表示没有搜索;电源模块电源模块可以直接提供正5V的直流电压,但是由于在一些工业环境中并不提供直流电源,而都是交流电源,为确保其实用性,在电源这一部分,提供了整流稳压电路,可以把交流电压变成5V的电压,为整个电路板提供电源。从图2-6可以看出,当开关按下时,电路接通,先通过一个整流电路,使交流电压变成直流电压。为了保证其输出的电压是5V,在后面接一个稳压电路,由一个7805稳压器和一个发光二极管组成,发光二极管作为电源导通的指示灯。当电源导通时二极管发光。其中电容C1起滤波作用,电容C2是抑制高平信号。电容C3,C4直接接地,起到抗干扰的作用,能使电压稳定在5V。有了电源模块避免了因没有直流电源而无法使用的问题,使这个仪表能够在更多的环境中使用。电源模块电路图如图2-6所示:图2-6电源模块电路图系统软件的设计系统程序工作分析在本文的电路板中,单片机是作为控制器嵌入到系统中。应用程序的开发主要分为两大部分,即对ZAZ-010指纹识别模块的的应用程序开发以及对HS12864液晶、按键程序的开发。因此,要实现其应用,需要对其进行联合调试。电路软件应用开发根据所设计的硬件。程序开发的方式将主要建立一系列的C语言函数子程序供主程序的随时调用。即对ZAZ-010指纹识别模块或液晶电路分别编制C语言函数子程序。因此,需要有专门的开发工具。本设计中,采用AVRStudio4.0单片机软件开发环境对单片机进行编程,由于该编译器支持模块化程序设计,因此可以先将源程序划分为几个模块分别编写,然后再由编译器生成一个最终文件.该开发环境可以对程序进行软件仿真调试,因此可以方便地进行程序的编写和调试。调试通过的代码文件通过开发板下载到单片机。单片机在上电后,主程序应该完成相应的初始化工作。依据电路的功能要求,主程序必须对液晶初始化、同时对按键进行检测,如果有对应的按键按下。执行相应的操作,单片机通过串行接口对指纹模块进行读写。设计前准备工作由于使用串口和模块通讯,所以必须先约定好单片机和模块的的串口工作速度和数据包格式。UART数据格式定位为:8位数据位、1位停止位、无奇偶校验位,数据传输速率为57600bps。通讯数据包格式定义为:单片机发送串行数据包格式如图3-1MCU发送数据包格式D7D6D5D4D3D2D1D0发送数据共11-14个字节,前6个字节是模块的包头和模块地址为固定值,后5-8个字节是传输的模块的命令。同时根据外部晶振和系统默认的传输速率算出控制串口的各寄存器的初始值。参考meg16资料后编写了以下一段串口初始化。各寄存器设置的程序.如下面的一段程序既是对个寄存器的初始值的设置voidUART_Init(void){UCSRB=0x00;//disablewhilesettingbaudrateUCSRA=0x00;//Bit1为1则倍速发送UCSRC=0x06;UBRRL=0x07;//波特率:57600BpsUBRRH=0x00;//误差率:0.000%UCSRB=0x18;}注:选用外部7.3728M晶振.单片机的程序设计根据上节分析,制定如下图的程序流程图。主程序主要由液晶显示、通讯子、按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。主程序设计流程如图3-1所示:扫描是否有按键按下扫描是否有按键按下开始各模块初始化YN按键2按键1按键3按键4显示与已经存储的指纹的比对效果采集指纹1采集指纹2合成指纹模板存储显示与新存储的指纹数据的比对结果图3-1主程序流程图判断键值YYYY程序的巡检过程:首先对各模块进行初始化,检测在有无按键按下,如果按下判断是那一个按键,并作出判断是否调用相应子程序;当按键1按下后,调用通信模块子程序,录入指纹并将其存入模块缓冲区,同理当按键2按下后,效果相同。依次当按键3按下时,将指纹模块两缓冲区中的指纹特征文件合成特征模板并存储与指纹模板库中,当4按键按下后搜索指纹并比对.当指纹模块中有指纹存储时直接按4键同样也可进行比对。程序关键的就是对指纹模块的通信控制,考虑到处理过程太过冗长,限于篇幅只能将其省略,如需查看,可以看附录1。其它命令发送子函数因大部分的命令大体格式基本相同。键盘管理程序设计流程键盘模块的工作流程图如图3-2所示:图3-2键盘模块流程图LCD显示模块程序设计流程显示模块主要完成数据的显示功能。首先当模块接受指令前,单片机必须确认模块内部处于非忙碌状态,然后根据接受到指令显示相关的内容在屏幕上。指纹通信模块的程序设计流程串口通信数据发送、接收流程图如图3-3:开始开始串口初始化检测发送缓冲区是否为空等待继续发送YN图3-3串口通信数据发送、接收流程图实物的制作与调试电路的焊接1.焊前准备首先要熟悉所焊印制电路板的装配图,并按图纸配料,检查元器件型号、规格及数量是否符合图纸要求,并做好装配前元器件引线成型等准备工作。2.焊接顺序元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。3.对元器件焊接要求(1)电阻器焊接按图将电阻器准确装人规定位置。要求标记向上,字向一致。装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。(2)电容器焊接将电容器按图装人规定位置,并注意有极性电容器其“+”与“-”极不能接错,电容器上的标记方向要易看可见。先装玻璃釉电容器、有机介质电容器、瓷介质电容器,最后装电解电容器。(3)二极管的焊接二极管焊接要注意以下几点:第一,注意阳极阴极的极性,不能装错;第二,型号标记要易看可见;第三,焊接立式二极管时,对最短引线焊接时间不能超过2S。(4)三极管焊接注意e、b、c三引线位置插接正确;焊接时间尽可能短,焊接时用镊子夹住引线脚,以利散热。焊接大功率三极管时,若需加装散热片,应将接触面平整、打磨光滑后再紧固,若要求加垫绝缘薄膜时,切勿忘记加薄膜\o"170739"。管脚与电路板上需连接时,要用塑料导线。(5)集成电路焊接首先按图纸要求,检查型号、引脚位置是否符合要求。焊接时先焊边沿的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。对于电容器、二极管、三极管露在印制电路板面上多余引脚均需齐根剪去。电路和程序的调试单片机的程序下载程序存储器的更新以页的方式进行。在用临时页缓冲器存储的数据对一页存储器进行编程时,首先要将这一页擦除。SPM指令以一次一个字的方式将数据写入临时页缓冲器。临时页缓冲器的写入可以在页擦除命令之前完成,也可以在页擦除和页写操作之间完成。通过电脑上的下载软件将*.HEX文件传输到(如图4-1所示)USB下载线板上的ATmega8芯片里,程序代码在这里经过处理后从固定的I/O管脚中输出烧写到单片机的Flash存储器中。此外单片机一般采用5V以下的电源供电,USB接口也采用5V电源,所以,该下载线还可以通过电脑向单片机提供工作电源。该下载线采用先进的USB2.0接口技术解决了笔记本不带并口的遗憾,还有它小巧精致,携带方便,下载程序速度快等优点得到了众多编程爱好者的青睐而被广泛的使用着。图4-1USB下载线实物图串口调试使用串口调试助手进行测试串口调试程序见附录1:测试结果如图4-2所示:图4-2串口通信测试结果图液晶键盘调试液晶键盘测试程序见附录2:液晶键盘测试程序结果如图4-3所示:图4-3液晶键盘测试结果结论根据设计要求,本设计已经基本完成题目要求但还存在不足之处。由于单片机flash容量有限,在指纹存储数目上较少,只能录入三个指纹,并进行比对。通过方案论证、资料查询及电路设计和反复调试,不断的解决电路调试过程中的问题,最终在规定的时间内完成了设计任务。本设计由于水平有限,电路及程序设计还有需要改进的地方,在今后的学习和研究中,将继续改进完善。另外在调试过程中,以保证作品实现功能准确为前提,尽量做到电路简单、美观、效果好、成本低,以增强其实用价值。本设计最终可以实现三个指纹录入、比对和模拟开锁的过程,但存储指纹数目有待进一步的研究开发。参考文献[1]杨若冰,杜燕.指纹识别技术与产业分析,2006年[2]张成,周媛媛等.指纹采集技术及其产品发展趋势.电子技术应用,2004年[3]柴晓光,岑宝炽.民用指纹识别技术,北京:人民邮电出版社,2004[4]丁化成,耿德根等.AVR单片机应用设计,北京:北京航空航天大学出版社,2002[5]张毅刚.单片机原理与应用,北京:高等教育出版社,2006[6]张天凡.51单片机C语言开发详解,北京:电子工业出版社,2008[7]温正,何嘉扬等.AVR单片机开发从入门到精通,中国电力出版,2009[8]李泓.AVR单片机入门与实践,北京航空航天大学,2008[9]佟长福.AVR单片机GCC程序设计,北京航空航天大学出版社,2006[10]张军,宋涛.AVR单片机C语言程序设计实例精粹,电子工业出版社,2009年01月[11]严天峰.单片机应用系统设计与仿真调试,北京航天航空大学出版社,2005[12]周立民.单片机应用系统设计.北京:北京航空航天大学出版社,1990.[13]张维振.无线电设备装接调试与检测维修实用手册[M],北京:银声音像出版社,2004[14]李贵山,杨建平等.微型计算机测控技术。北京:机械工业出版社,2002.[15]张锡富.传感器.北京:机械工业出版社,2004.[16]曹承志.微型计算机控制技术.北京:机械工业出版社,2001.[17]黄贤武.传感器实用电路设计.成都:电子科技大学出版社,1998.[18]李贵山,周征等.检测与控制技术.西安:西安电子科技大学出版社,2006.附录3:硬件电路图硬件整体电路图

捷键与一些电脑小技巧HYPERLINKwinkey+d:

这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!

--这个就是winkeywinkey+f:

不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。

winkey+r:

在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey+r!

alt+tab:

如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。

winkey+e:

当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!

小提示:

winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。

再补充点

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键+D:最小化或恢复windows窗口

Windows键+U:打开“辅助工具管理器”

Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置

Windows键+E打开资源管理器

Windows键+F打开“查找:所有文件”对话框

Windows键+R打开“运行”对话框

Windows键+BREAK打开“系统属性”对话框

Windows键+CTRL+F打开“查找:计算机”对话框

SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单

SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo

rd的时候按下不放,可以跳过自启动的宏

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强行刷新1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”

2.删除以下文件夹中的内容:

x:\DocumentsandSettings\用户名\Cookies\下的所有文件(保留index文件)

x:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)

x:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(页面文件)

x:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(历史纪录)

x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(临时文件)

x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)

x:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果对系统进行过windoesupdade升级,则删除以下文件:x:\windows\下以$u...开头的隐藏文件

4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序

5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)

6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了

7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe/purgecache近3xxM。(该命令的作用是立即清除"Windows文件保护"文件高速缓存,释放出其所占据的空间)

8、删掉\windows\system32\dllcache下dll档(减去200——300mb),这是备用的dll档,只要你已拷贝了安装文件,完全可以这样做。

9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\drivercache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。

10、删除不用的输入法:对很多网友来说,WindowsXPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1日文输入法、IMKR6_1韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。

11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM

12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!

13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。

14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项卡,取消"启用休眠"复选框。

15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在"添加/删除Windows组件"中将它们卸载。但其中有一些组件XP默认是隐藏的,在"添加/删除Windows组件"中找不到它们,这时可以这样操作:用记事本打开\windows\inf\sysoc.inf这个文件,用查找/替换功能把文件中的"hide"字符全部替换为空。这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行"添加-删除程序",就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要

温馨提示

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

评论

0/150

提交评论