基于单片机的指纹密码锁设计

2021-07-27 03:48黄慧灵甘双红李国治唐诗程
电子元器件与信息技术 2021年5期
关键词:密码锁指纹识别按键

黄慧灵,甘双红,李国治,唐诗程

(广西民族师范学院数理与电子工程学院,广西 崇左 532200)

关键字:指纹密码锁、单片机、指纹识别

0 引言

随着现代科技的不断进步和信息时代的不断发展,人们的生活水平和物质需求都有较大的提高,同时市场的五金锁具行业也发展迅速。近年来,因为家居智能的普及,传统的机械锁逐渐被新型智能锁所取代,机械锁锁体材料差,开启门锁的方式单一,安全性差,钥匙非常容易丢失,随身携带会给我们带来诸多不便,而指纹密码锁主要利用单片机控制相应的传统机械部分来实现开锁,若输入的指纹密码错误次数超过设计要求时,系统就会自动响起警报,解决了传统锁具的被动防盗的缺点,增加了其使用的安全性和操作的便捷性。若要辨别一个人身份真伪性,最常用的方法就是利用指纹识别,这种技术是将对象的指纹与数据库已有的指纹逐一比较实现的。欧美国家对这种新型锁的使用率很高,该产品在出口市场上也一路走俏。如今,指纹识别作为热门的人体生物特征学和身份识别应用技术之一,其拥有市场的巨大需求,并且对国际、国内安防产业产生极大影响。指纹识别技术也被应用于本设计的指纹密码锁中。

1 系统整体设计

系统的主控制芯片是以STC89C52单片机来设计的,通过指纹和密码两种方式进行开锁。初始化时,指纹识别电路和存储电路对指纹进行采集、处理、提取、有效存储等步骤,最后才能将指纹成功录入。在电源上电后,输入的指纹会经过指纹识别模块对该指纹进行比较,若与预先保存好的指纹数据相匹配,则继电器控制开关开锁,若指纹不匹配,系统就会自动报警。同样地,也能利用4×4矩阵键盘设置密码来开锁,当指纹或者密码开锁成功时,液晶显示屏上会出现“开锁成功”的提醒字样。此外,系统也能对指纹和密码进行修改和清除,还能录入多个人的指纹。最后,本系统还由电源电路、报警电路、显示电路等组成[1]。

1.1 硬件设计

1.1.1 单片机选择介绍

本设计选择STC89C52是宏晶科技生产的一种高性能、低功耗、超强抗干扰、多功能等优点的CMOS8微控制器,且具有8K擦除闪存的单片机[2]。STC89C52的机械周期可以任意选择,还具有EEPROM功能和看门狗的功能,其指令代码完全兼容传统8051。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash[3]。当CPU停止工作,RAM、串口、中断会继续工作,并且有掉电保护功能,即使掉电,RAM内容也会被保存下来。其在系统可编程,不需要专用编程器及专用仿真器,直接通过串口就能下载用户程序。

1.1.2 指纹识别电路设计

指纹电路模块是指纹锁必不可少的部件,用来完成用户指纹的采集和识别[4]。其识别的方法是利用专门的光电信号转换设备和图像处理技术,搜集指纹、处理、存储数据、对比特征值来完成。该模块设计选用型号为ZFM608指纹芯片,ZFM608属于光学式指纹,光学类型的指纹主要模块是使用反射光线成像确实用户指纹,该模块已经包含了算法芯片,其质量稳定、性能优异。指纹识别电路与主控芯片通信是通过使用串口的方式进行数据的接收和信号的输出。指纹识别电路工作过程是将扫描的指纹进行图像处理,然后将CMOS采集得到的指纹进行记录,当系统从扫描模式进入识别模式后,系统就会向CMOS芯片发出指令,让其采集后的指纹与Flash芯片中相应的指纹数据进行对比处理,验证是否与数据库中存储的指纹相匹配。其电路设计如图1所示。

图1 ZFM608 电路图

1.1.3 键盘电路设计

该设计的按键电路主要是对指纹密码进行修改和清除,除此之外还有指纹的采集、存储,并且完成密码开锁等功能。按键设计模块采用矩阵键盘进行系统建设,按键电路共有16个按键,分别有四个字母按键、数字按键及其两个特殊符号按键。用户在管理模式下输入六位密码,并按按键确定,才能将密码存储到数据库中,若用户忘记密码,可在管理页面进行修改,另外,也能用按键在管理界面修改和清除指纹。为防止按键系统执行过程中干扰信号,通过添加延时的方式来实现按键的消抖。其电路设计如图2所示。

图2 矩阵键盘电路图

1.1.4 显示电路设计

本设计采用LCD12864液晶显示屏,其能显示中文、数字、图形[5]。利用这个模块的灵活的接口方式和简单、方便的操作指令,能形成全中文人机交互图形界面,其通讯方式有两种:串行、并口,此电路使用串口通信模式,并将PSB接低电平。模块内部接有上电复位电路,可以将7~14引脚的数据I/O口悬空,来减少引脚的使用和减轻单片机的负担[6]。模块外部接有一个可调节灵敏电阻,可对液晶显示屏对比亮度进行调整,背光源正端接5V,负端接一个电阻,为了起到保护电路的作用。其电路设计如图3所示。

图3 LCD12864 显示屏电路图

1.2 软件设计

1.2.1 指纹识别程序设计

指纹模块的程序设计是通过单片机与指纹模块间的串口方式执行数据的发送和接受这一指令来完成该程序的启动的。指纹识别程序主程序中只对液晶屏进行写操作,首先串口初始化,然后经过相关程序录入一个指纹,采集两次,生成一个指纹模板,获取图像并将生成的特征文件保存起来。在指纹识别子程序中,将读到的指纹进行比较,如果搜索到数据库中存有的指纹序号,返回指纹序号,并成功搜索指纹序号。在验证过程中,如果验证成功则返回1,若不成功,再验证一次,两次不成功,则返回失败。

1.2.2 指纹对比程序设计

指纹对比是将指纹图像转换成数字字符串,通过指纹对比程序,实现用户指纹的对比与匹配。指纹对比的整个过程是通过硬件系统完成指纹的粗对比,然后再根据粗对比结果由程序进行细对比来判断指纹是否匹配。当用户输入指纹时,硬件模块对指纹进行扫描和读写,并将读写到的数据传输到单片机中,单片机中的指纹对比程序会对指纹进行采集和记录,将此记录的指纹和之前存储的指纹进行数据的比对,如果系统数据库中已有的数据与该数据匹配成功,则系统启动开锁,当该软件在操作过程中发现指纹信息与数据库中的信息不一致时,该系统自动进入警报模式。

1.2.3 开锁程序设计

当开锁程序设计接收到密码和指纹的正确信息,输入开锁指令后,单片机通过一系列指令动作,然后驱动控制门锁的开启,如果输入密码错误三次后,就执行报警程序。程序流程如图4所示。

图4 程序流程图

2 结论分析

指纹密码锁作为智能家居的先锋,凭借着独特的技术优势成为市场的新宠,其改变了传统意义上的机械锁单一开门的缺点,是具有多种功能、安全性更高的一种科技产品。本设计介绍了该系统利用单片机、指纹识别电路、键盘电路模块、液晶显示模块等来实现产品功能的。在研究过程中,发现目前市场上产品技术方面存在的问题:指纹识别度有待提高,核心技术无法独立,整和技术能力不够等。经过此次研究,让我们对指纹密码锁设计有了更多的认知,而在未来,指纹密码锁的技术会越来越成熟,其发展一定值得信赖,指纹密码锁必然会对锁具市场产生革命性的冲击。

猜你喜欢
密码锁指纹识别按键
基于有限状态机的按键检测程序设计
按键消抖在单片机和FPGA实验教学中的应用
基于单片机指纹识别电子寄存柜设计
开启密码锁
数字密码锁的逻辑实现
指纹识别技术综述
一种多方向导光按键结构设计
基于大容量指纹识别的实时身份认证系统
基于线阵CCD的指纹识别实验
B超机按键的替换与维护