大学本科生毕业设计(论文)1第1章概述1.1指纹识别技术的发展世界上任何一种物体与物质都有其表示自己特征的符号和信息,人体也不例外,取一根头发丝就能鉴别出它是谁的头发。然而,最简单、最直观、最常用的鉴别符号则是人的指纹。指纹是人类手指上的条状纹路,他们的形成依赖于胚胎发育时的环境。指纹识别已经有了很长一段历史,据考古学家证实:公元前6000年以前,指纹作为身份鉴别的工具已经在古叙利亚和中国开始应用。到了20世纪80年代,个人电脑、光学扫描这两项技术的革新,是的他们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用[1]。现在,随着取像设备的引人及其飞速发展,生物指纹识别技术的逐渐成熟,可靠的比对算法的发现都为指纹识别技术提供了更广阔的舞台。目前,全球范围内都建立了指纹鉴定机构以及罪犯指纹数据库,指纹鉴定已经被官方所接受,成为司法部门一种有效身份鉴定手段。据统计,在全世界50亿人口当中,除了19名生来就没长指纹的特殊人物之外,没有一个重样的指纹,所以世界各国的警察机关都利用指纹鉴别技术来侦破案件。有人把人的指纹称之为“人体的立体印章”,而公安人员正是利用这些立体印章来作为认定作案分子的特征符号。由于人体的身体特征具有不可复制的特点,人们把目光转向了生物识别技术,希望可以藉此技术来应付现行系统安全所面临的挑战。要把人体的特征用于身份识别,这些特征必须具有唯一性和稳定性。研究和经验表明,人的指纹、掌纹、面孔、发音、虹膜、视网膜、骨架等都具有唯一性和稳定性的特征,即每个人的这些特征都与别人不同、且终生不变,因此就可以据此识别出人的身份。[2]基于这些特征,人们发展了指纹识别、面部识别、发音识别等多种生物识别技术,目前许多技术都已经成熟并得以应用,其中的指纹识别技术更是生物识别技术的热点。指纹识别技术的发展得益于现代电子集成制造技术和快速可靠算法的研究。尽管指纹只是人体皮肤的一小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不想等的问题,现代电子集成制造技术使得我们可以制造出相当小的指纹图像读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术已经非常实用。[3]大学本科生毕业设计(论文)21.2指纹识别原理手指表面皮肤凹凸不平而产生的纹路就是指纹。理想的指纹图像是一幅黑白相间的二值图像。但是由于指纹通常是用按压的方式得到的,因此,油墨、纸张、手指的状况以及皮肤的变形等原因都会导致指纹图像不理想。另外,通过扫描仪或者摄像机进行数字化的时候,由于光照的影响,也会引入各种噪声。这些因素都使灰度图像不能直接用来匹配。因此,有必要选择合适的特征来描述指纹征来描述指纹。[4]通常采用的结构特征有2种层次:1)全局特征。所描述的是指纹的全局纹路结构,如图1-1所示,利用计算机处理时具体划分为:弓型、箕型、螺旋型。其他的指纹图案都基于这3种基本图案。图1-1指纹基本纹路图案2)局部特征。断点和分叉是最常用的指纹局部结构特征,也称为细节特征。采用这种特征的一个例子是细节—坐标模型,也就是使用指纹的细节点及其坐标和其他一些特征来描述指纹。对于指纹身份鉴定,特别是对现场的模糊指纹进行认定的时候所使用的信息是细节特征点,如图1-2中的小桥、三角点、分叉点、端点和环。大学本科生毕业设计(论文)3图1-2指纹图像人们根据纹路的局部结构特征共定义了150多种细节特征,如果同时使用所有的这些特征,将很难自动而且迅速地从指纹图像中提取并且区分他们。通常,自动指纹鉴定系统只使用其中2种主要的特征,即分叉点和断点。其他细节特征都可以用他们的组合来表示。例如小桥是由2个端点组成的,而环是由2个分叉点组成的。1.3系统设计目的及意义现代社会越来越需要高效可靠的身份识别系统。传统的个人身份鉴别手段如口令、密码、身份证等由于其与身份人的可分离性,可假冒、可伪造、可盗用、可破译,已不能完全满足现代社会经济活动和社会安全防范的需要。作为最传统、最成熟的生物鉴定方式,指纹具有很强的相对稳定性。从胎儿在6个月时指纹完全形成到人死后尸体腐烂,指纹的纹线类型、结构、统计特征的总体分布等始终没有明显变化,并且指纹具有明显的独特性。至今还找不出两个指纹完全相同的人,即使同卵双胞胎的指纹也是不相同的。而从易用性、安全性、成熟性和造价等方面综合比较,指纹识别技术将成为未来人体生理特征身份识别技术的主流之一,指纹自动识别技术开创了个人身份鉴别的新时代,将来我们生活的很多场合都要用到指纹,指纹使我们的生活更方便、安全。[5]而以单片机为控制器的技术以发展的非常熟练,因为它的控制性能和可靠性能高的优点,生活中的电子产品都离不开单片机控制,像电饭煲,洗衣机,汽车等等都是单片机控制。在学习了单片机基础知识后,我们需要实践来把所学的知识组织起来,并且运用到实际生活,所以我联系指纹识别技术及单片机原理及应用选择基于单片机的指纹识别系统这个课题,希望我设计的实物可以完成简单的身份认证任务,给身份认证带来便利。1.4工作流程1)开机:按下电源,电源指示灯点亮,液晶显示:“请先按键再刷指纹”,按下按键后,液晶显示:“请按指纹”,同时指纹模块绿灯亮起,可以进行指纹识别开锁功能。若指纹识别成功,继电器动作,LED指示灯亮起,开锁成功,人员可以进入,液晶显示:“指纹已找到,请进”;若指纹识别不成功,继电器不动作,LED指示灯不亮,将不能开锁,人员不能进入,液晶显示:“没有搜索到指纹请按任意键继续”。2)管理员模式:按下按键进入管理员模式首先要输入6位密码,密码正确可以进入管理员模式,密码错误不能进入管理员模式,在管理员模式下可以完成录入指纹、删除指纹、应急开锁和修改密码的功能。进入录入指纹模式后,指纹模大学本科生毕业设计(论文)4块绿灯亮起,将手指放到指纹头上,录入同一手指两次,此时液晶显示“指纹采集成功”。在删除指纹模式下,液晶显示“输入删去的指纹号”,输入后按确认键即可完成指定指纹的删除功能,同时液晶显示“删指纹号成功”。在非正常的情况下,如指纹模块不好用或者紧急情况下,可以使用紧急开锁功能。密码修改的功能是指可以修改并保存进入管理员的6位密码。系统设计的总体框图如图1-3所示。图1-3系统总体框架图STC89C52单片机LCD12864指纹模块4*4矩阵按键以及继电器和指示灯大学本科生毕业设计(论文)5第2章硬件介绍和设计2.1单片机及最小系统2.1.1STC89C52单片机介绍单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地[6]。纵观单片机的发展过程,可以预示单片机的发展趋势。MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。[7]STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。大学本科生毕业设计(论文)6ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4mA~7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备下图2-1为STC89C52RC引脚功能说明。图2-1STC89C52引脚图VCC(40引脚):电源电压VSS(20引脚):接地大学本科生毕业设计(论文)7P0口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P1口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P2口:为8位准双向I/O接口,当它作为I/O接口使用时,可直接连接外部I/O设备;在接有片外存储器或扩展I/O且寻址范围超过256字节时,P2口可用做高8位的地址总线。P3口:为8位准双向I/O接口,还可以将每一位用于第二功能,第二功能的定义见表2-1。表2-1STC89C52P3口的第二功能端口功能第二功能P3.0RXD(串行输入口)P3.1TXD(串行输入口)P3.2INT/0(外中断0)P3.3INT/1(外中断1)P3.4T0(定时/计数器0)P3.5T0(定时/计数器1)P3.6外部数据存储器写选通P3.7外部数据存储器读选通XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。本设计的主程序主要由液晶显示、通讯子按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。2.1.2外部晶振的设计单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。[8]大学本科生毕业设计(论文)8单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52使用11.0592MHz的晶体振荡器作