《基于单片机的指纹考勤管理系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的指纹考勤管理系统.docx(37页珍藏版)》请在课桌文档上搜索。
1、1引言11.1 指纹识别简介21.1.1 指纹识别原理21.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 ATMEGI6单片机的介绍72.2.3 单片机的复位电路82.2.4 ATMEGI6最小系统及晶振的选择102.3 液晶显示模块112.3.1 HSI2864-15C系列液晶的特点112.3.2 HS12864-15C系列液晶的引脚功能122.3.3 液晶显示HS12864-15C的指
2、令系统122.4 电源和指纹模块132.4.1 ZAZ-010系列独立式指纹识别模块引脚功能142.4.2 ZAZ-OlO系列指纹识别模块指令系统152.4.3 电源模块173 系统软件的设计193.1 系统程序工作分析193.2 设计前准备工作193.3 单片机的程序设计203.3.1 键盘管理程序设计流程223.3.2 LCD显示模块程序设计流程233.3.3 指纹通信模块的程序设计流程234 实物的制作与调试244.1 电路的焊接244.2 电路和程序的调试254.2.1 单片机的程序下载254.2.2 串口调试254.2.3 液晶键盘调试26结论27参考文献28附录1:串口调试子程序错
3、误!未定义书签。附录2:整体源程序错误!未定义书签。附录3:硬件电路图29致谢错误!未定义书签。Il1引言对于我们当今生活的这个智能化的社会中,为了保护人身安全和社会和谐,对于身份的认证在很多场合都显得尤为重要也十分有必要,然而对于传统的那些传统的基于传统的身份认证方法以及认证技术,在科技越来越发达的今天都不足以对抗当今的技术,证件的伪造以及黑客技术越来越发达建造的各种技术弄出的密码破解等手段都直接打破了传统的身份认证,这样显得传统的身份认证都在智能化的今天表现得力不从心。那么,人们肯定会考虑:如何保护自身的安全,如何让自己在公共场所隐私不会被受到窥探,如何使自己的各种重要文件不会被泄露。这些
4、对于传统的认证方法,仅仅用以前的密码加密法是无法认证现今的智能化“假人”的,仅仅能防君子不防小人的,甚至在当今那些高明的黑客眼中,仅仅由几个字符就能组成的密码直接是不值一提,根本无法认证身份真假,那么,对于传统认证的身份认证我们就有了新的想法,生物识别技术一一就是主要根据人体的身体状况、声音等等人体的各种特质来解决传统身份认证无法完成的进行身份验证的科学的、高效的认证方法。并且早已出现的生物识别技术中都出现多种方法了,比如说根据人的笔记来识别、根据声音状态识别、根据眼睛的视网膜和虹膜进行识别、根据人的面向进行识别、根据手掌的纹路识别、根据头发丝儿来识别、根据指纹来进行识别等等各种身份认证技术。
5、并且这些身份认证技术都比之传统的身份认证技术有着无可比拟的显著优势:1、对于身份假冒的情况减少了,真实身份大体上得到了真实认证;2、对于传统的人工的身份认证,明显这些智能技术简洁高效降低了高额的管理成本与时间消耗;3、使用者使用明显方便了,进一步减少使用卡、使用钥匙或者是用密码验证这些麻烦,节约时间,不用怕丢三落四了。将这些技术能够运用到很多地方,比如考试签到,开锁关锁等各种需要保护隐私保护文件不被泄露、身份无法假冒的地方。基于此,本设计主要从这些技术中研究的是这些技术的发展起始源头一一指纹研究,并且在很多场合它都是使用最为广泛最为方便也节约时间节约成本的生物识别技术而对于这种指纹识别技术,主
6、要通过的是算法和现代的电子集成技术来实现,那么如何对它进行研究就要研究算法和单片机的控制。指纹是人体必有的一部分,虽然是小小的一块皮肤,但识别的算法计算量确是十分庞大。需要将这些数据进行各种比对,需要计算它相等不相等,还要对它的匹配算法进行大量的运算。然后靠单片机对人体的指纹进行读取。与此同时利用计算机进行数据的运算并将之连接到单片机上进行两个指间的运算对别,识别出真正的指纹。与此同时,根据算法匹配的不断完善,指纹识别技术越来越可靠高效实用了。1.1 指纹识别简介1.1.1 指纹识别原理在所有的九大生物识别技术中,他们的原理大都相似。指纹识别是利用人体的指纹特征分别对不同的个体进行区分与鉴定。
7、上文我们说到过指纹识别技术是其家族中技术最为成熟,也最被广泛应用的生物识别技术。这主要得益于人们对指纹的采集是非常简单的,而且指纹识别的准确率也比较高。通常来讲,指纹识别的原理包括三大部分,分别是指纹采集原理、指纹特征分析原理与指纹特征匹配原理三部分。指纹采集原理是将指纹的生理几何特征,然后通过不同的传感技术将其表现出来,最终形成了用数字化显示出来的指纹图案的原理。指纹特征分析原理是在收录到的指纹图案的整体或细节特征进行分析。提取、鉴别的原理。它的分析对象包涵了指纹特征以及特征点的分布,最终形成平面几何关系。不管是特征点中的个体还是组合都是指纹特征的重要组成部分。将它们用数字模块的方式表现出来
8、,就实现可一个完整的指纹特征分析的过程,最终形成了指纹图像。指纹特征值匹配原理是指将指纹图案的完整和细节特征按识别的程度进行匹配,而匹配的指纹是在已经注册的指纹和当前验证的指纹之间进行对比,匹配运算不是对正在进行的两个指纹间的比较,而是对已经形成的数字模块上面的指纹特征值来进行最终匹配。1.1.2 指纹识别应用指纹识别技术的身份识别手段最早是通过计算机的运行来实现的,同时也是生活中运用最为广泛的生物识别技术。最开始的时候主要是运用在了警察刑侦,但在最近的几年里,生物识别技术蓬勃发展,已经逐渐走向了更贴近生活的大众民用市场。因其特殊的识别方式,在生活中的运用越加普遍,多形态的指纹识别技术运用越加
9、广泛,比如指纹考勤机、指纹门禁系统、指纹银行、指纹商场等等。日新月异的科学进步正在刷新我们对普遍生活的认知。指纹识别技术作为目前应用最为广泛、价格低廉、普遍性高的生物识别认证技术。指纹,作为人体的一部分,却有着个体独一无二的信息。众所周知,皮肤的纹路在每个地方是不尽相同的,在断点和交叉点上各不相同。在信息处理的专业术语中称为“特征”。在医学上以及证明了这些“特征”在每一个手指上都是不同的,而且具有唯一性和永久性的个人特征。所以我们只需要将同一个人的指纹收集对应起来,就可以得出每一个人的真实身份。指纹识别技术的发展指纹识别的近10年是处于一个自然增长却发展缓慢的一个过程。但在最近几年却迎来的它的
10、跳跃性发展的黄金时期。在未来的这几年里,指纹识别技术有着巨大的发展前景在经历了,并且对国内外的安全防控产生巨大影响。若公司规模较小在进入市场后将面对传统行业规模较大公司的打压。这些巨头公司对于竞争关系的小型公司要么采取收购要么就会在公司初期就可能会被扼杀,这两者都不会是公司管理者希望看到的情况,最终结果也不会乐观。但这也是每一个新兴市场的必然结果。这些竞争将会直接带动形成一个规模化的产业。在我国生物识别技术起步较晚普及也不广泛,主要是企业在应用。在2002年市场价值约为几亿人民币的生物识别技术市场中,大部分产品用于门禁、考勤系统,而这其中指纹识别又是占主要地位,从未来需求分析来看,中国巨大人口
11、基数下指纹识别技术市场将会是全球中心,所以先行占领技术制高点,形成一个系统化、规范化的生物识别技术体系,将赢得市场一席之地。1.2 系统设计的目的随着社会的发展,人们越加需要更加高效和可靠的身份识别系统。像口令、密码、身份证认证等已经逐渐有了被破解性。并且由于卡与人有着可分离性。多种假冒方式已经完全不能满足人们对安全密码的需要,社会经济活动和安全防范意识的提高,使得人们更加需要安全可靠的指纹识别技术。唯一性、方便性以及终生不变性是指纹具有的特殊功能,目前为止,生活中的许多方面已经运用到了指纹识别技术,为我们的生活提供了无限可能。从根本上讲,指纹识别技术可以良好的判断一个人的社会背景和识别真实身
12、份,降低了社会人与人之间的信任成本,更加有益于人们进行日常的生活交流。从根本上解决了社会经济交流和交往模式,提高效率。课题背景指纹检测可以良好的判断和定义一个人的真实生物身份,从而降低社会活动中的信任成本。从根本上改变经济和社会交往模式,提高效率。未来社会利用生物识别技术的场合将会越来越多,指纹识别技术日趋完善,指纹检测变得越发重要。本次设计指纹识别电子密码锁是基于深圳指昂科技有限公司生产的ZA乙OlO指纹模块,可以根据串口通信协议与上位机实现通信,从而实现指纹的录入、存储、比对,并通过HS12864-15C液晶显示出指纹采集存储的过程和比对的结果。指纹电子密码锁安全可靠,使用方便。2 整体设
13、计方案2.1 系统总体设计2.1.1 系统功能描述本系统是针对指纹收集、识别模块相继开发出指纹识别密码的电子功能系统。首先该系统在使用时对指纹模块进行手指搜索,并且当搜索到手指时,将立即采集指纹的图像,并且将采集到的图像以转化成数据模块的形式发送出去。指纹识别是利用人体指纹的差异性以及不变性,同时提供加密手段为用户使用时,将手指放在指纹收集器的识别窗口上,就能采集到使用者的指纹信息进行识别。这个过程是十分简洁方便的。主要功能就是用液晶显示出指纹模块采集指纹图像各个流程及比对的结果.采集指纹图像之前,指纹模块必须要检测手指是否放在采集窗口上,所以就要有录入指纹这一项功能该指纹识别系统的主要功能从
14、以下几个方面介绍:1 .录入指纹:该系统首先要有着录入指纹的功能,通过指纹采集器将个人的指信息特征录入系统。2 .合成个人指纹模板并存储:在通过光电转换之后,把指纹特征数据值以及对应的ID号存储到存储器当中。这时上位机只要有从系统传来上传指纹的命令,模块可以迅速将数据传送到指定位置。3 .搜索指纹库并且比对指纹:当采集到的指纹录入时,模块会在上位机指令下到搜索指纹库里去对比相应指纹,这个时候的显示器会对比指纹显示结果,同时发光二极管亮。系统总体框图LCD图2-1系统总体框图该系统主要是由MeU、LCD、指纹模块组成的,系统主要的工作方式是当检测到有按键按下时先由MCU通过串口通信控制指纹模块对
15、指纹进行采集、录入、存储、比对。然后,根据所得的数据对其它接口器件,此时LCD、继电器进行响应操作。2.2系统核心部件单片机2.2.1单片机的选择单片机是单片微型计算机的简称,是微型计算机的一个重要分支,由于单片机主要运用于控制领域,所以在国际上又将单片机称为微控制器。在一般情况下,单片机是由单块集成电路芯片所组成,将CPU、存储器和输入/输出接口等部件安装在电路板上,外部输入/输出设备通过电路板上的接插件与输入/输出接口连接起来就组成了微型计算机;如果将CPU、存储器和输入/输出接口等做在一块集成电谿的内部,这种集成电路就是单片机。单片机只需要与相应的软硬件结合,就能成为一个单独的控制系统。
16、在单片机的现阶段中,它正在朝着拥有高性能和多样性品种方向发展,其发展趋势将是更进一步向着CMOS化、低功耗化、大容量化、高性能化、低价格化、微型单片化和外围电路内装化等几个主要方向发展。单片机重要的应用意义还在于,它从根本上打破了传统的控制系统思想和方法。原来用硬件来实现的控制功能,必须由模拟电路或者是数字电路来实现的大部分功能,现在已经能用单片机通过实现软件方法控制系统了。这种硬件被软件所替代的控制技术也被称为微控制技术,这是传统控制技术领域的一次重大革命。单片机经过了多代发展,正朝着多功能化、高性能化、低电压化、低功耗化、微型单片化、低价格化、大存储容量化、强I/O功能以及相对较好的结构兼
17、容性方向发展。其发展趋势不外乎以下几个方面:1 .多功能单片机能够实现很多的功能,主要是通过把能够需要到的存储器和I/O口同时汇集在同一块控制芯片上。例如说能够编程的计数器阵列、还有一些能通过高速计数器来进行捕获和比较等等。这些都能通过此单片机来实现它的作用。而在某些应用领域中,能够看到单片机通过降低应用系统的成本减少芯片的不必要的数量来对相对应的控制设备进行集成。2 .高效率和高性能对于单片机的高效执行,主要是运用各种技术来提升,更是通过运用RISC、流水线和DSP的设计这些高端高效的技术,都能够明显的感受到单片机的性能与效率得到了显著提高,更是能够明确的看到,由于运用了这些技术,同样的运行
18、频率,但是有了这些技术的单片机的效率明显更高效,时钟频率更加的明显,甚至单片机的寻址的能力、片内ROM(FLASH)和RAM的容量都通过运用这些技术来提高单片机的集成度,使之在以为的基础上都得到了数量与限制的显著突破。由于整个系统环境的复杂程度不断地增加,便开始使用像C语言一类的高级语言,用以开发单片机的程序。高级语言的使用,使得整个系统的开发难度降低,开发周期缩短,大大增强了系统软件的可读性以及可移植性。方便改进和扩充系统的功能。AVR内核单片机,是一种具有32个通用工作寄存器以及丰富指令收集器的单片机的。全部的寄存器都和ALU直接连接,这样的直接效应就是可以在一个时钟周期里,指令可以同时访
19、问两个不同的独立寄存器。这样的结构明显的提高了代码的运行效率,并且比普通的微控制器高出了最多10倍的数据容量。ATmegal6L有着以下几个特点:在工作于空闲模式的时候,CPU将停止工作,但是USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统能够继续工作;在掉电的模式下,晶体反响振荡器会停止震荡,除了硬件复位和中断之外的所有功能都将停止运行;在省电或电量不足的模式下,除了异步定时器继续工作之外,其余的功能模块都将处于一个休眠的状态。只允许用户保持一个时间状态的标准;ADC噪声抑制模式时,为了降低ADC转换时发出的开关噪音,将会停止CPU和ADC以及异步定时器以外的所有
20、模块的运行;在Standby的模式下,只有晶体或者是振荡器还在运行,为了具备快速启动的功能,其他的功能模块都将处于一个休眠的状态。让元器件只消耗很少的电流;在扩展Standby的模式下,将允许异步定时器以及反向振荡器继续运行。通过使用集成在芯片上的8位RISCCPU和系统可编程闪存,ATmegal6成为一种可供选择的功能强大的单片机,并且为许多嵌入式控制应用提供了方便快捷,并且低成本的运行方案。下面是基于八位AVR单片机芯片ATMEGA16的主控系统方案:2.2.2ATMEG16单片机的介绍ATMEG16的管脚说明如图2-2所示:fcl9-*1RPB(xc) PBI(Tl) PB2(INT2A
21、IN0l PB3(QC0AINI) PB4(SS) PB5(MOS! PB6 PB7(SCK)PDO(RXD PDI(TXD)PDZ(INTO) PD3(1NTI) PD4(OCB)1 PD5(0CIA) PD6(ICPI) PD7(OC2)RESETXTAU XTALIPAO(ADCO) PAl(ADCI) PA2(ADC2) PA3(ADC3) PA4(ADC4) PA5(ADC5) PA6(ADC6) P、1MX7PCO(SCL) PCKSDA).PC2(TCK ) PC3(TMS) PC4TD0 .PC5TDDPC6TOSCI) PC7(TOSC2);VCCAVCCGNDGND0 9-
22、 7 6 3 23 I 56 7 8J B出 3-3:33-334U 二,222222910JULlMEGI6图2-2DlP封装ATMEG16单片机引脚结构图1 .VCC(直流电源正极)是数字电路的电源,GND(接地端)为地。2 .A/D转换器的模拟输入端口A是8位双向I/O口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口A还是处于高阻的状态。3 .端口B(PB7-PBo)作为一个8位双向I/O口的端口,
23、它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口B还是处于高阻的状态。除了此情况,端口B也可以用做其他状态下的特殊功能。4 .端口C(PC7-PCO)作为一个8位双向I/O口的端口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它
24、的端口C还是处于高阻的状态。这时如果JTAG的接口使能,即使复位出现引脚PC5(TD1)PC3(TMS)PC2(TCK)的上拉电阻被激活。端口C也可以用做其他状态下的特殊功能。5 .端口D(PD7-PD0)作为一个8位双向I/O口的端口,它有着编程内部的上拉电阻。且输出缓冲器具有对称的驱动特性的功能,可以用来输出和吸收比较大的缓冲电流。将其作为输入端使用时,若内部上拉电阻为高电阻,这时的端口被外部拉低,此时为输出电流。在整个的复位过程里,系统时钟即使还没有起振,它的端口D还是处于高阻的状态。端口D此时也可以用做其他状态下的特殊功能。6 .RESET(复位键)是复位输入引脚,当它的持续时间超过门
25、限的最小时间时,低电平在这个时候将会引起复位。7 .XTALl(B)为片内晶振反相放大器的输入端,片内时钟操作电路的输入端。8 .XTAL2(12)为片内晶振反相放大器的输出端。9 .AVCC(模拟电路)是端口A和A/D转换器之间的电源。在不使用ADC的时候,该引脚可以直接连接在VCC上。在使用ADC的时候,此时要通过一个低通滤波器才能和VCC相连接。10 .AREF(参考电压)是A/D转换器的模拟基准输入引脚。2. 2.3单片机的复位电路单片机的初始化操作是复位,它的作用是确保在CPU当中的每个部件都处于初始状态,在确定后,将开始从这个状态开始恢复工作。ATmega16有5个复位源:1 .J
26、TAGAVR复位:MCU复位是当复位寄存器为1时。2 .上电复位:MCU复位是在电源电压低于上电复位门限VPOT时,。3 .看门狗复位:看门狗使能的同时看门狗定时器溢出,此时复位发生。4 .外部复位:MeU复位是引脚RESET上的最小脉冲宽度小于低电平的持续时间时。5 .掉电检测复位:此时的掉电检测功能使能,并且掉电检测电压高于电源电压时复位。ATmegal6单片机的5个复位源中,看门狗复位电路和外部复位是最常用的两种复位。当外加在RESET引脚上的低电平由外部复位电路产生时,当最小脉冲宽度低于复位低电平持续时间时,即触发了复位过程,即便在这个时候并没有时钟信号在此时运行,VTOUT延时周期的
27、开始,由外部信号高于复位门限电压的时候。延时结束时,MCU即启动。外部复位时序图如图2-3所示,外部复位原理图如图2-4所示:RESETTIME-OUTINTERNALRESET图2-3外部电路复位时序图C6IOUFSWF728M .,1 MEG 16c1.PBCXXCKO). PBI(TI) PB2DTONTT2)1 PB3(AIN1OCO) PB4(SS) PBS(MOSl) I PBG(MiSO), PB7PD(XRXD) PDiaXD) PD2(nrD) PD3NTI)PD4(0CIE) PD5(OC1A) PD6(ICD) PD7(OC2)RTSTXTAL: 2XTALlPAO(AD
28、CO) DAI (ADCJl) PA2(ADC2) PA3(ADC3) DA4(ADC4) PA5(ADCS) PA6AIK6) PA7(AI)C7)lPco(scL) PCl(SDA) PC2(TCK) pc3(Ths) PCTQO)K ,: 5 TDi ) Pc6(TOscl) PC7(ToSe2)图2-4外部复位原理图2.2.4ATMEGl6最小系统及晶振的选择ATmegal6芯片有如下几种时钟源。通过Flash熔丝位进行选择时,时钟输入进入AVR时钟发生器时,再分配到相应的模块进行对应。表21熔丝配置模式器件时钟选项CKSEL3.O外部晶体/陶瓷振荡器Illl-IOlO外部低频晶振10
29、01外部RC振荡器1000-OlOl标定的内部RC振荡器0100-0001外部时钟0000注:此选项不适用于晶体,只能用于陶瓷谐振器。晶体振荡电路:XTALl与XTAL2分别是用作片内反向振荡器的放大器的输入端和输出端来使用,如图2-5所示,这个振荡器使用时可以用石英晶体,同时也可以用陶瓷谐振器使用。选择这两种放大器的模式可以用熔丝位CKOPT用以选择。当CKe)PT正在被编程时,在振荡器的输出引脚将会产生一个满幅度的振荡。噪声环境是最适用于这种模式的,这时需要XTAL2来驱动第二个时钟缓冲器,这种情况下,它的频率范围会更加的宽广。当保持CKoPT处于还没有编程状态时,此时振荡器的输出信号幅度
30、就比工作时小得多。这样的优点是大大降低了运行成本和功耗,但是频率范围就相对比较窄,不能驱动其他对应的时钟缓冲器。对于谐振器,8MHz是CKoPT未编程时的最大频率,16MHZCKOPT编程时为的最大频率。此时不管使用的是晶体还是谐振器,Cl和C2的数值都要一样。使用的晶体或谐振器,在一定程度上影响了最佳的数值,当然还会和杂散电容和所处环境的电磁噪声有关。为了保证系统稳定性和串口传输质量所以选用外部晶振,晶振选用7.3728Mo6 6 三6一8S(C.Y34567818HeadehbSNRSET 9PBo(XCK/TO)PAO(ADCO)PBl(Tl)PAl(ADCl)PB2(AINO1NT2)
31、PA2(ADC2)PB3(AINIOCO)PA3(ADC3)PB4(SS)PA4(ADC4)PB5(MOSI)PA5(ADC5)PB6(MIS0)PA6(ADC6)PB7(SCK)PA7(ADC7)PDO(RXD)PCO(SCL)PDl(TXD)PCl(SDA)PD2(INTO)PC2PD3 (INTl)PC3PD4(OC1B)PC4PD5(OC1A)PC5PD6(ICP)PC6(TOSC1)PD7 (OC2)PC7(TOSC2)RESETVCC AVCCXTAL2AREFXTALIGNDGND,-SX=R-产力 678.一2304宜二56r78=Av32 I 5v l,4eader 8卜.图
32、2-5ATMEGI6最小系统2.3液晶显示模块显示模块采用HS12864-15C系列中文图形系列液晶模块。由控制器ST7920控制与驱动。2.3.1HS12864-15C系列液晶的特点1.HS12864-15系列硬件特性如下:提供8位,4位并行接口及传行接口可选自动电源启动复位功能内部自建振荡源64*16位字符显示RAM(DDRAM最多16字符*4行)2M位中文字型ROM(CGRoM),总共8192个中文字型2.HS12864-15系列软件特性如下:文字与图形混合显示功能画面清除功能光标归位功能显示开/关功能反白显示功能垂直画面旋转功能休眠模式2.3.2HS12864-15C系列液晶的引脚功能
33、引脚PSB为芯片的传输方式控制端;引脚E为读写使能信号,它是在下降沿时数据被锁存入HS12864液晶的;在E高电平期间,数据被读出;R/W为读写选择信号,当它为一时为读选通,为零时为写选通;DBODB7为数据总线RST为复位信号。复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MeU连,由MCU控制;也可直接接VDD,使之不起作用。引脚功能如表2-1所示:表2-1表12864T5C的引脚功能引脚符号状态引脚名称功能PSB箍入数据传输方式PSB=I为并行传输;PSB=O为串行传输E输入读写使能信号在E下降沿,数据被锁存(写)入HS12864T5C;在E高电平期间,数据被读出R/W输入读
34、写选择信号RW=1为读选通,RW=0为写选通RS输入数据、指令选择信号RS=I为数据操作RS=O为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU相连,由MCU控制:也可直接接VDD,使之不起作用。2.3.3液晶显示HS1286475C的指令系统L清除显示RSR/WD7D6D5D4D3D2DlDOD=I,整体显示开;D=O,整体显示关;C=I,游标显示开;C=O,游标显示关;B=I,游标位置显示反白开;B=O,游标位置显示反白关;3.读取忙状态RSR/WD7D6D5D4D3D2DlDO01BFA6A5A4A3A2AlAO
35、读取忙状态以确定内部动作是否完成,同时可以读出地址计数器AC的值4.写数据RSR/WD7D6D5D4D3D2DlDO10写数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。5.读数据RSR/WD7D6D5D4D3D2DlDO11读显示数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。2.4电源和指纹模块指纹模块采用深圳市指昂科技有限公司生产的ZAZ-OlO系列独立式指纹识别模块,以高速DSP处理器
36、为核心。主要技术指标如下供电电压:DC366.0V供电电流:工作电流:10OmA(典型值)峰值电流:15OmA指纹图像录入时间:0.5秒窗口面积:14*18mm匹配方式:比对方式(1:1)搜索方式(LN)特征文件: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=I12(默认值N=6,即5760ObPS)2. 4.1ZAZ-OlO系列独立式指纹识别模块引脚功能模块
37、中引脚1与电源相连,引脚2接单片机的RXD端,引脚3接单片机的TXD端,引脚4悬空,引脚5接地。表2-2如下:表2-2指纹识别模块引脚功能引脚号名称类型功能描述1ViHin电源正输入端2TDout串行数据输出。TTL逻辑电平3RDin串行数据输入。TTL逻辑电平4NC-未定义,悬空。5GND信号地。内部与电源地连接2.4.2ZAZ-OlO系列指纹识别模块指令系统模块通过串行通讯接口,可直接与采用3.3v或者5v电源的单片机进行通讯。模块数据发送端接上位机接收端,模块数据接收脚接上位机数据发送端。录入指纹图像指令:指令包格式:2bytes4bytes1byte2bytes1byte2bytes包
38、头模块地址包标识包长度指令码校验和OxEFOlXxxxOlH03HOlH05H应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和OxEFOlXxxx07H03HxxHSUM注:确认码二OOH表示录入成功;确认码=OIH表示收包有错;确认码二02H表示传感器上无手指;确认码二03H表示录入不成功;图像生成特征Img2Tz指令:指令包格式,2bytes4byteS1byte2bytes1byte1byte2bytes包头模块地址包标识包长度指令码缓冲区号校验和OxEFOlXxxxOlH04H02HBufferI1)SUM应答包格式:
39、2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和OxEFOlXxxx07110311xxllSUM注:确认码=OOH表示生成特征成功;确认码=OIH表示收包有错;确认码二06H表示指纹图像太乱而生不成特征;确认码二07H表示指纹图像正常,但特征点太少而生不成特征;确认码二15H表示图像缓冲区内没有有效原始图而生不成图像;特征合成模板RegModeI指令:功能说明:将CharBUfferl与CharBUffer2中的特征文件合成特征模板。指令包格式,2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度
40、指令码校验和OxEFOlXxxxOlH03H05H09H应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和OxEFOlXxXX07H03HxxHSUM注:确认码二OOH表示合并成功;确认码二OIH表示收包有错;确认码=OaH表示合并失败(两枚指纹不属于同一手指);存储模板Store指令:指令包格式:2bytes4bytesIbyte2bytes1byte1byte2bytes2bytes包头模块地址包标识包长度指令码缓冲区号位置号校验和OxEFOlXxxXQlH06HQ6HBufferIDPageIDSUM应答包格式:2byte
41、s4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和OxEFOlXxxx07H0311xxHSUM注:确认码=OOH表示储存成功;确认码=OIH表示收包有错;搜索指纹Search指令:指令包格式:2bytes4byteSIbytO2byteSIbyteIbyte2bytes2bytes2byteS包头模块地址包标识包长度指令码缓冲区号参数参数校验和OxEFOlXxxXOlH08H04HIDStarPagOPageNumSUM应答包格式:2bytes4bytesIbyte2bytesIbyte2bytes2bytes2bytes包头模块地址包标识包长度确
42、认码页码得分校验和OxEFOlXxxX07H07HxxHSUM注:确认码=OOH表示搜索到;确认码二09H表示没有搜索;2.4.3电源模块电源模块可以直接提供正5V的直流电压,但是由于在一些工业环境中并不提供直流电源,而都是交流电源,为确保其实用性,在电源这一部分,提供了整流稳压电路,可以把交流电压变成5V的电压,为整个电路板提供电源。从图2-6可以看出,当开关按下时,电路接通,先通过一个整流电路,使交流电压变成直流电压。为了保证其输出的电压是5V,在后面接一个稳压电路,由一个7805稳压器和一个发光二极管组成,发光二极管作为电源导通的指示灯。当电源导通时二极管发光。其中电容Cl起滤波作用,电
43、容C2是抑制高平信号。电容C3,C4直接接地,起到抗干扰的作用,能使电压稳定在5V。有了电源模块避免了因没有直流电源而无法使用的问题,使这个仪表能够在更多的环境中使用。电源模块电路图如图2-6所示:3系统软件的设计3. 1系统程序工作分析在本文的电路板中,单片机是作为控制器嵌入到系统中。应用程序的开发主要分为两大部分,即对ZAZ-OlO指纹识别模块的的应用程序开发以及对HS12864液晶、按键程序的开发。因此,要实现其应用,需要对其进行联合调试。电路软件应用开发根据所设计的硬件。程序开发的方式将主要建立一系列的C语言函数子程序供主程序的随时调用。即对ZAZ-OlO指纹识别模块或液晶电路分别编制
44、C语言函数子程序。因此,需要有专门的开发工具。本设计中,采用AVRStUdiO4.0单片机软件开发环境对单片机进行编程,由于该编译器支持模块化程序设计,因此可以先将源程序划分为几个模块分别编写,然后再由编译器生成一个最终文件.该开发环境可以对程序进行软件仿真调试,因此可以方便地进行程序的编写和调试。调试通过的代码文件通过开发板下载到单片机。单片机在上电后,主程序应该完成相应的初始化工作。依据电路的功能要求,主程序必须对液晶初始化、同时对按键进行检测,如果有对应的按键按下。执行相应的操作,单片机通过串行接口对指纹模块进行读写。3.2 设计前准备工作由于使用串口和模块通讯,所以必须先约定好单片机和模块的的串口工作速度和数据包格式。UART数据格式定位为:8位数据位、1位停止位、无奇偶校验位,数据传输速率为57600bps。通讯数据包格式定义为:单片机发送串行数据包格式如图3TMeU发送数据包格式DD6D5D4D3D2DlDO发送数据共11T4个字节,前6个字节是模块的包头和模块地址为固定值,后5-8个字节是传输的模块的命令。同时根据外部晶振和系统默认的传输速率算出控制串口的各寄存器的初始值。参考meg16资料后编写了以下一段串口初始