基于单片机指纹识别系统的设计与实现

摘要

随着社会的发展和科技的进步,传统的安全防盗系统面临极大的挑战,特别是生物识别技术的蓬勃发展,让人
们对于安防系统的设计有了新的灵感,指纹识别系统为此应运而生。针对如何实现指纹识别技术的实际应用这一问
题,课题研究并设计基于单片机指纹识别系统。系统以单片机STC89C52为控制核心,应用指纹传感器原理设计按键
模块,实现指纹识别系统进行确认、退出等各项操作功能。采用LCD12864液晶显示器实时显示操作信息。当指纹识
别正确时继电器模块控制电磁锁开锁,当指纹识别错误时,蜂鸣器将发出三次警报。设计完成了指纹识别的系统,
解决了生活中安全系统问题。课题使用了市场调研、文献研究及实验检测等方法。系统实现了指纹的录入和匹配功
能,由于指纹特征的唯一性,有效提高了防盗安全性,对指纹识别技术有一定的研究意义和参考价值。
关键词:指纹识别技术;LCD12864;STC89C52单片机

1绪论

1.1课题研究背景
  在现如今,信息安全在现在是大家关注的热点,我们每个人都有各种各样的密码,比如支付密码、手机密码等
等[1]。有些密码配有钥匙,如开锁的钥匙。之前的安全系统都用到了这些密码。时局变迁,这些老的安全系统正变
得日益薄弱。人们为了解决这个问题,指纹系统的重要性与日俱增,本设计用单片机及附加电子器件实现数据采集
和控制算法,实现指纹识别各项功能[2]。
  人们的手掌、脚趾、脚和大腿的凹面和凸面形成不同的线条。这些肌肉的存在会导致皮肤表面产生更多摩擦
[3]。使得我们可以拿得动东西,我们也看到,指印的图案、断点和交点各不相同,都是独一无二的。我们将个人的
指纹与别人的指纹进行比对,确定了这个人的真正身份[4]。这种技术叫做指纹识别技术。最早的指纹识别系统应用
与警方的案件侦破,已有30多年。
总体而言,该系统主要包括指纹采集、指纹图像处理、特征提取、特征值对比等。当今的电子一体化生产技术使得
指纹图像的快速扫描和与单片机相匹配[5]。通过对指纹的处理与匹配,可以实现指纹的精准识别[6]。
1.2研究意义
  简而言之,生物特征技术是指与统计原理等理论知识密切相关的现代声学、光学和生物特征传感器、计算机软
件和硬件[7]。身体识别是基于身体固有的行为特征(如走路姿势、字迹、语言)和生理特征(如手指指纹、人脸、
眼睛等)。生物识别可以防止传统认证系统中出现的大多数潜在安全问题[8]。近年来,指纹、人脸、虹膜等生物识
别技术发展迅速,应用广泛,指纹识别最为普遍。生理特征是人类从出生起就具有的结构特征,如虹膜、指纹和
DNA。行为特征是在人们不同的生活方式影响下形成的特征[9]。
  生物技术所选取的很多人体特性往往具有不可遗忘、不可丢失、不可替代且不易被仿造的显著优点[10]。因此,具有高安全性、可靠性和易于采集等显著优势。只有少数人类品质适合生物特征识别。从该表可以得出结论,
与许多其他生物特征要素相比,指纹识别技术在生物鉴定方面的优越性[11]。所以指纹技术在信息安全、移动支
付、教育、医疗、社会医疗、网上理财等领域得到了广泛的应用,并在当今社会中起到了重要的推动作用,具体如
下:
  (1)每个人的指纹应是唯一的。人与人之间没有完全相同的指纹。指纹识别技术的正确性已经被普遍证实
(2)指纹非常稳定,很难修改。例如,他们的年龄和身体状况没有变化。
(3)指纹样品的采集容易,可以识别系统的开发与应用。
1.3国内外研究现状
  当传统的安全体系遇到麻烦时,生物特征识别技术的应用使大家充满希望,在今后很长一段时间内,它将是减
轻安全压力的有力保证。由于不同的生物识别技术存在着差异[13],目前仅有的以指纹为基础的产品有望进入民用
领域。所以,在全球范围内,指纹识别技术将是发展与投资的中心[14]。
  一方面,廉价相机的引入和快速发展、指纹识别产品的快速发展和可靠匹配算法的发展意味着,与许多其他技
术一样,指纹识别技术已经从排他性转向了普遍性,逐渐成为大众感兴趣的先进技术[15]。现在已经成为先进技术
的标志。Apple公司打算发布一款手机,并配有指纹识别功能,微软推出了一款可以单独使用的指纹读取器,IBM公
司发布了一款具有指纹识别功能的便携式计算机,韩国 LG公司发布了一款能识别指纹的手机[16]。
  指纹技术是一项高科技的行业,其技术难点一直困扰着世界各国[17]。国内市场尚未形成具有实际实力的指纹
技术产品,中国的一些产品已在进行市场调研,但是这些公司在国内的业务还没有完全展开 [18]。
  当前,德国、韩国是全球指纹识别系统的代表,二者均具备技术与工艺上的优越性[19]。而当地岭南的指纹系
统则以组合式为主,技术和工艺水平不高。北京奥运、海外指纹识别系统进入中国,并在高端指纹识别领域占据一
席之地,而国内的技术只能在低端的指纹识别系统中占据一个低端的市场,所以,与外国品牌相差甚远,比如指纹
识别系统产品的市场[20]。然而,考虑到巨大的市场需求,在上市第一年后,在我国,许多公司已经研发出了指纹
识别的产品。很多厂商都将目光投向了这个市场,并且在市场上率先采用了指纹识别技术。目前,指纹识别系统已经进入市场,指纹识别技术将会迅速发展[21]。

2需求分析

2.1用户需求
  随着现今科技的飞速发展,指纹识别技术受到了越来越多的关注,传统的门禁多采用刷卡或输入密码等方式采
集并处理信息密码很容易被破解或窃取,并且在安全上还需改进,指纹是非常独特和稳定的,与其它生物特性相
比,为了更方便地获得信息,本课题将研制一种用于指纹的快速录入与识别的单片机指纹识别系统,通过对单片机
指纹识别技术需求的调查与分析,需要实现的功能需求总结有以下几点:
(1)指纹识别的当前状态可通过按键标记,如输入、搜索状态等。
(2)指纹识别状态信息可以通过LCD12864进行显示。
(3)使用继电器来判定当前指纹识别的信息,比如提示当前的指纹是否正确。
(4)用蜂鸣器和LED来提醒,如指纹识别是否正确。
2.2功能需求
通过用户对系统的功能需求分析,单片机指纹识别系统的设计要求需要做到以下几点功能:
(1)按键控制模块,用于标识目前的指纹识别情况,如录入状态、识别状态、清楚状态。
(2)指纹传感器模块,能够对指纹进行输入系统并且匹配指纹信息。
(3)12864液晶显示驱动,显示正在进行的指纹识别的状态信息。
(4)蜂鸣器和LED灯指示报警模块,当指纹识别错误时,蜂鸣器会进行三次报警LED灯会进行三次闪烁。
2.3可行性分析
(1)对于使用标志当前按键的状态。
解决方案:利用四脚按键实现了当前指纹识别系统输入与识别状态的实时标识。
(2)指纹识别设。
对于实现指纹采集和录入过程。
解决方案:采用AS608指纹识别模块,可利用串行接口进行指纹采集、识别、清空、增加等操作。
(3)显示设备
对于如何显示当前指纹识别状态信息。
解决方案:采用LCD12864液晶显示屏,可以显示当前系统的状态,指纹识别和录入的状态信息。
2.4硬件选型
  (1)主控模块:采用STC89C52单片机作为主控芯片。STC89C52 MCS-51核心为MCS-51核心,完全兼容MCS-51的
指令,不过,这款微处理器经过进一步的升级,使其拥有了许多传统51微处理器所没有的性能。STC89C52单片机便
于开发,可在线编程,是很好的选择,STC89C52芯片如图2-1所示。
图2-1 STC89C52芯片在这里插入图片描述

(2)指纹模块:用AS608作为指纹识别模块,实现了指纹的采集与识别。指纹采集,清空和增加都可以用串口
来控制,AS608指纹模块如图2-2所示。在这里插入图片描述

图2-2 AS608指纹模块
  (3)显示模块:使用LCD12864液晶显示器。12864个中文点阵图形,可以显示中文显示界面。显示128列x64
行,也可以实现图形化查看,具有各种功能,LCD12864显示屏如图2-3所示。
图2-3 LCD12864显示屏在这里插入图片描述

(4)继电器模块:控制电路采用HK4100F继电器,是一种广泛用于低压控制系统的电磁铁,其结构简单,成本
低,触点容量小,体积小,操作快速准确,可判断指纹识别信息,
2.5软硬件环境
主控芯片:STC89C52单片机
调试工具:ST-Link下载线,串口助手、数据线、PL2303下载器。
集成开发软件环境:
  (1)Keil u Vision4对于编程,使用了KEIL程序,它有一个相应的HEX文件,并通过PL2303加载器加载到微控
制器中。该系统是用c语言和MySQL等数据库的知识开发的。经过多轮的修改和调试,我们终于能够得到一套完整的
程序,
  (2)MulTIsim拥有数字电路板的设计,该软件采用了一种基于计算机的图形输入电路,采用了一种基于计算机
的硬件描述方法,其模拟和分析性能好。
(3)实验环境:焊接实验室具有电烙铁、焊锡、松香,万用表,焊接实验室平台如图
  在焊接时,最好是把 PCB图纸和电路图结合起来,实际的照片可以作为设备的版面布置,这样更易于焊接。焊
接电路如图2-7所示。
在这里插入图片描述

图2-7焊接电路

3功能设计

3.1系统整体功能设计
  单片机指纹识别系统主要以STC89C52作为本设计的主控芯片,结合指纹ID、搜索指纹、清空指纹库等操作,实
现指纹的采集及自动识别功能。采用四脚按键输入,采用LCD12864液晶显示实时操作内容与提示;同时加入了指纹
识别功能,能够进行添加和删除指纹信息,通过继电器电磁锁判断指纹识别是否正确,用蜂鸣器和指示灯指示来进
行报警,系统方案框架图如图3-1所示。在这里插入图片描述

图3-1系统方案框架图
3.2子功能设计
3.2.1按键模块功能设计
  在当前的指纹识别系统中设置按键系统,以对指纹系统进行上下查找和确认退出功能,为以减少系统的计算
量,所以,本文在系统构建中使用了四个脚键。该键的电路由四个行电路组成,按下相关按键后,此按键所对应的
电路为低电平,单片机可以通过检测和分析电路中的电平状况来判断按键被按下的状态,由此决定了按键的工作状
态。
3.2.2指纹传感器模块功能设计
该系统的核心功能有两个主要作用:
  (1)指纹模板注册:采用指纹模块对使用者的一根手指进行两次连续提取,并将所获得的指纹信息整合到一个
指纹模版中,然后将其储存起来,然后将其关掉,在储存过程中,各指纹均拥有ID号码,可以储存999个指纹。
  (2)指纹匹配:在采集到需要鉴定的指纹后,将其转换成指纹识别特征档案,然后把该指纹特征档案与已存储
的指纹模版特征档案相对比,通过比较得出的结论,系统控继电器做出相应的动作,通过LCD12864显示匹配结果。
  指纹识别系统的研制,指纹扫描仪器与指纹识别模块的互联,目前,指纹扫描仪的各种形式都有,当指纹扫描
仪完成扫描后,传送信息给指纹模块。接下来要做的事情有两方面,第一种是在整个系统中向存储器芯片中输入扫
描指纹信息,有效地存储指纹,二是进行指纹信息的比对,在这两种方法的实施中,都需要用电来传递信息,和软
件相结合,更好的识别指纹。
3.2.3 LCD12864液晶模块功能设计
显示模块,采用的是LCD12864屏,该模块具有显示当前指纹识别的状态。在系统中实现的功能:
(1)实时显示指纹识别系统当前状态,初始化状态、录入状态,识别状态,清楚状态。
(2)设置上下翻动和确认和退出按键功能,通过按键来进行上下翻动进行添加指纹、搜索指纹、清空指纹库。
3.2.4继电器模块功能设计
  继电器是由电控制的部件。它被用在需要自动控制的线路上。继电器是一个开关,它能在很小的输入电流下实
现控制高电流的输出。用继电器,对当前信息的进行判断,如果匹配成功,则提示指纹识别正确。
3.2.5蜂鸣器报警模块功能设计
  单片机通过蜂鸣器来报警,当设备加载成功和初始化时蜂鸣器会提示进行一次报警,当指纹输入成功后,蜂鸣
器会发出警报,提示指纹输入成功,如果指纹识别不正确,则会发出三次振动警报,提醒目前的指纹识别有误。

4硬件模块电路设计

4.1按键模块电路设计
  采用四脚按键进行系统建设,该按键的电路由4行组成,在按下有关的键时,这个按键与一个低电位相对应的电
路,单片机可以通过检测和分析电路中的电平状况来判断按键被按下的状况,进而判断出键盘是否工作,引脚p21、
P22、P23、P24分别实现单片机按键清除、确认、上选、下选功能,
  指纹模块的工作电压是3.3V而单片机的电压是5V,通过降压芯片把5V转化为3.3V,TXD表示发送刚给单片机,RXD
表示接收单片机的指令。其中3.3V表示的是供电电压,TXD表示发送,RXD表示接收,TCH表示判断手指是否在指纹模
块上,有的话输出高电平,
4.3LCD12864液晶模块电路设计
  LCD12864液晶模块,显示区域由电压控制,由此显示图形。液晶是通过1、2、3、4、5、6、7、8这8个并口让
RS、RW共同组成数据接口、并行传输实现数据的传输
4.4继电器模块电路设计
  电路设计中采用S8550三极管进行放大,接入一个12V负电源连接到电磁锁引脚1,首先给线圈通电产生磁性,把
衔铁吸附过来,当单片机IO端口上在P20引脚输出高电平,三极管关断,继电器断开;当单片机IO口给P20引脚输出
低电平时,三极管接通,继电器吸合,当开关1和2接通时给了一个12V正的电压实现继电器电磁控制开锁,继电器电
磁锁控制电路如图4-4所示。
图4-4继电器电磁锁控制电路在这里插入图片描述

4.5蜂鸣器报警模块电路设计
  通常情况下,由于蜂鸣器的工作电流通常很高,它不能直接通过I/O端口控制,所以它由一个三极管转换器控
制。该电路由一个8550PNP型三极管灯与一个1K电阻串联而成。当I/O端口输出为低电平且三极管开启时,蜂鸣器响
三声,LED灯亮;当I/O端口输出为高电平且三极管关闭时,蜂鸣器停止鸣叫,LED灯熄灭,

5软件设计

5.1按键模块软件驱动设计
  在按键模块,按下按钮时难免会出现一定幅度的抖动,这个时候,会使用延迟函数来排除抖动,然后才能确定
有没有按钮,若有键按下后按键进行分析,按键分析要通过程序的写出正确的结论,然后进行分析,把测试的结果
发送到单片机,通过单片机的命令来控制其它外部设备,从而实现一系列的操作.如果判定不是按下按键而是出现
了抖动,然后再等,直到出现一个实际的按键出现,
代码如下:
if(KEY_UP == 0)//按键按下
{
while(KEY_UP == 0); //等待松开按键
if(local_date>=0)
{
local_date–;
if(local_date==-1)
local_date=2;
}
}
Delay_Ms(100); //延时判断100MS检测一次
5.2指纹传感器模块驱动设计
  AS608通过串行通信协议与单片机进行通信,使用户能够发送适当的信息并进行适当的处理。在控制AS608指纹
模块搜索指纹时,首先发送指纹接收信息,等待完成后再次发送指纹匹配命令,如果指纹匹配成功,则发送成功信
号,否则发送错误信号。
代码如下
Device_Check();//指纹模块初始化
FPM10A_Cmd_Send_Pack_Head(); //发送通信协议包头
FPM10A_Receive_Data(12);允许进行接收,接收长度为12
FPM10A_Cmd_Get_Img();//获得指纹图像
5.3液晶12864模块软件驱动设计
  LCD12864的显示以指令将所要将地址写入要显示的地方,并以此为基础,依次写入数据。当一个地址被写入
后,显示第一次内容地址会加1。参数为x,y,s,其中的x,y为 LCD上的位置坐标, s为显示字符的数组,以供
显示。软件通过所输入的位置坐标来计算所需的地址,LCD12864显示流程如图5-3所示。
代码如下:
void LCD_PutString(unsigned char x,unsigned char y,unsigned char code *s)
{
switch(y)
{
case 1: Write_Cmd(0x80+x);break;
case 2: Write_Cmd(0x90+x);break;
case 3: Write_Cmd(0x88+x);break;
case 4: Write_Cmd(0x98+x);break;
default:break;
}
while(*s>0)
{
Write_Data(*s);
s++;
Delay_Us(120);
}
5.4蜂鸣器报警模块软件驱动设计
  首先蜂鸣器和指示灯进行初始化防止上电的时候进行误报警,当指纹识别错误时,蜂鸣器报警模块会触发报警
的条件,蜂鸣器发出三声警报,发光二极管闪烁三次,蜂鸣器报警流程如图5-4所示。
在这里插入图片描述

图5-4蜂鸣器报警流程图
代码如下:
Buzz_Init();//蜂鸣器初始化
void Led_Init(void)//指示灯初始化
sbit buzz=P2^0;
void Buzz_Init(void);
void Buzz_Times(unsigned char times);//蜂鸣器报警

6软硬件集成测试

6.1 LCD12864模块测试
  通过程序编译之后,对主控板进行调试,系统上电正常工作,LCD12864会显示设备正在加载等,待一会设备提
示加载成功时蜂鸣器会提示一次,进入到系统初始化界面蜂鸣器提示三次,系统上电进行初始化如图6-1所示。在这里插入图片描述

图6-1系统初始化
  进入到LCD12864菜单时蜂鸣器会提示一声,显示由上至下为“添加指纹”“搜索指纹”“清空指纹库”,指纹
识别系统的各项功能如添加指纹、搜索指纹、清空指纹库,通过按键的上选、下选、确认、退出这四个按键来实现
指纹识别系统的操作。
在这里插入图片描述

图6-2指纹系统菜单界面
6.2指纹传感器模块测试
  指纹录入过程,通过指纹系统菜单界面选择添加指纹按下确按键,进入到指纹输入界面,LCD12864显示请输入
指纹ID,上表示指纹ID个数加1,下表示指纹ID个数减1,系统可以添加指纹ID的最大值为999个,此时要添加的指纹
ID为001,指添加界面如图6-3所示。在这里插入图片描述

图6-3指纹添加界面
  指纹录入的时候AS608要用纸巾擦拭一下防止之前在AS608上留下的旧指纹也录入进去,擦拭完成之后将手指轻
放指纹采集头,AS608指纹传感器模块亮着蓝灯正常工作,指纹输入成功,放开要录入的手指,进行确认指纹二次采
集,在次按压AS608采集头显示指纹录入成功,指纹录入成功如图6-4所示。
在这里插入图片描述

图6-4指纹录入成功
  返回到指纹识别系统菜单界面,通过按键选着第二个搜索指纹界面,把刚刚录入的手指放到指纹采集头上,
AS608指纹采集头闪烁蓝色灯光,指纹匹配正确,继电器控制电磁锁开锁,会显示成功开门,放开手指之后会显示指
纹ID数001,指纹匹配正确如图6-5所示。在这里插入图片描述

图6-5指纹匹配正确

7总结与展望

(1)已完成工作。针对于传统安全防盗系统存在的缺陷,结合国内外城市对指纹识别技术的研究,设计了一款
基于单片机指纹识别技术的系统。通过查阅参考文献的资料,明白指纹识别系统模块的具体作用,本设计单片机
STC89C52作为指纹识别系统的控制主板并进行了电路的设计,通过按键模块来控制指纹识别系统的菜单界面实现指
纹系统的添加指纹,匹配指纹,清空已录入指纹等操作,LCD12864液晶显示屏实时显示指纹识别系统的操作信息,
以AS608指纹采集器对手指进行指纹的录入和匹配,最后当指纹识别错误时通过蜂鸣器和LED指示灯进行报警。通过
硬件的组装和焊接,对程序代码进行设计,在进行硬件的调试,最后实现了指纹识别系统的可行性,指纹识别系统
的安全性和方便性大大的优于传统的开锁方式,具有很大的市场前景。
  (2)存在不足。经过制作设计的这段时间的努力终于将指纹识别系统要求基本实现,由于时间、水平和经验有
限,指纹识别系统设计还存在着一些的不足之处,指纹识别系统对环境要求很高,当手指出汗有水的情况下可能会
造成指纹识别不出来的情况,在每次使用AS608之后都会在采集头上留下指纹痕迹,这些指纹痕迹有可能会在录入指
纹的时候采集进去等问题。使用过程中要使用纸巾擦拭手指和AS608采集头。该课题仅在电路和软件中实现了模块的
功能,并未涉及到在其安全性稳定性方面做相关的设计,对指纹系统进行整体优化使其稳定性、安全性进行提升。
  (3)下一步研究的方向。系统识别到指纹之后,可以应用到更多场景的开锁,例如在汽车上可以通过指纹来解
锁并启动车辆、通过指纹识别来实现一个多人的考勤系统、利用指纹开锁来联动家居照明开关等。我也将继续注意
指纹技术的研发。随着指纹指纹识别技术的不断改进,在未来指纹锁的发展,可以更好的给大家的生活提供便携的
服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值