基于51单片机的指纹密码锁设计与制作

2024-04-28 06:45陈新芬邱小华金琦淳
无线互联科技 2024年5期
关键词:指纹图密码锁液晶屏

陈新芬,邱小华,金琦淳

(1.无锡城市职业技术学院,江苏 无锡 214153;2.无锡市宏源弹性器材有限公司,江苏 无锡 214161)

0 引言

随着科学技术的发展,安全、高效、便捷的指纹密码锁已经在市场上逐渐普及。设计中,以STC89C52单片机为控制核心的密码锁能实现友好的人机交互,实现密码开锁和指纹开锁2种功能。指纹密码锁合理利用人类指纹个体差异,采用新型安全可靠的指纹识别技术,实现指纹开锁的同时,外加丰富的辅助功能,实现更加安全智能化开锁[1]。

1 设计功能描述

开机待机状态:按下电源键,电源指示灯点亮,液晶屏待机初始界面显示“指纹密码锁”“编号”“状态”3行字样,密码锁处于待机等待开锁状态。待机状态时,单片机主机循环扫描按键,达到实时检测按键动作的目的。

密码开锁功能:在密码锁处于待机状态时,用户输入6位开锁密码数字,液晶屏同步加密显示“*”,按下键盘上的“确认”键,密码输入结束。密码正确,则电磁锁得电,锁头打开。开锁的同时,系统启动内部定时器进入倒计时定时,达到定时时长,电磁锁自动断电上锁。输入密码错误,液晶屏提示“密码错误”字样,蜂鸣器报警器发出“滴滴滴”报警3次,锁头保持关锁状态。

指纹开锁功能:在密码锁处于待机状态时,按压AS608指纹模块,如果当前采集的指纹是系统存储的开锁指纹,则液晶屏显示当前指纹对应指纹库中的3位数字ID编号,同时液晶屏显示开锁字样“指纹解锁”,电磁锁得电,锁头打开。AS608指纹集成模块,内部的指纹模板存储容量可以达到1000枚指纹,设计中用3位数字ID编号即可满足最大容量指纹模板存储要求。如果当前采集到的指纹不是系统存储的开锁指纹,则液晶屏提示“无效指纹”,蜂鸣器发出“滴滴滴”报警3次,锁头保持关锁状态。

管理员模式:在开机待机状态下,按下键盘上的“管理”键,液晶提示“请输入管理员密码”。当用户继续输入6位数字管理员密码时,系统进入管理员界面模式,此时液晶屏显示提示字符“管理系统界面”“录入指纹”“删除指纹”“修改密码”。在管理员界面,通过键盘上的“上一项”或“下一项”功能按键选择,实现系统录入指纹、删除指纹或者更改开锁密码功能。在录入、删除指纹子系统中,液晶屏提示用户输入3位数字指纹ID编号,同时启动AS608指纹模块,实现开锁指纹的新增、删除功能。在更改开锁密码子系统中,液晶屏提示用户连续输入2次新密码,如果2次新密码一致,则系统顺利实现开锁密码更新,液晶屏提示用户“密码修改成功”。系统自动退出返回到开机待机状态,等待用户开锁。

在管理员界面或密码输入过程中,直接选择键盘上的“返回”键,则系统退回到开机待机状态。密码输入过程或者指纹编号ID输入过程中,如果发现输入数字错误,则利用矩阵键盘上的“退格”按键,实现清除最近一次的数值输入。

2 硬件电路设计

硬件电路设计原理如图1所示。

2.1 单片机最小系统

单片机最小系统包含以下几个部分:+5 V直流稳压电源;STC89C52单片机芯片;C1、R1复位按键,电源构成的复位电路;石英晶体振荡器,C2、C3构成的晶振电路[2]。单片机与AS608指纹模块通过串行口实现通信控制,11.0592 MHz的晶振可以产生零误差9600 bit/s的波特率。在设计中,晶振频率选用11.0592 MHz,2个并联的频率微调电容选用30 pF陶瓷电容。

2.2 液晶显示电路设计

LCD12864[3]是一种有4 位/8 位并行、2 线或3 线串行多种接口方式,含有国标一级、二级简体中文字库的点阵图形液晶显示模块;它的显示分辨率为128×64,内置8192个16×16点汉字和128个16×8点ASCII字符集。设计采用单片机P2口与液晶显示器的8位数据线连接,进行8位并行通信实现字符信息显示。

2.3 指纹识别模块设计

AS608[4]是功能完整的独立指纹处理模块,无需挂接任何外围器件。在指纹密码锁设计中,该模块一直处于从机地位,单片机主机需要通过指定格式的指令驱动该模块实现各种指纹处理功能。主机的指令、模块的应答以及数据交换都是按照规定格式的数据包来进行的。

指纹模块内部包含:光学镜头、通信连接线、DSP芯片、型号为AS6084的稳压芯片、Flash芯片、外面的CMOS传感器芯片。模块处理指纹的主要工作过程分为以下几个步骤:扫描指纹、生成特征、合成模板、成功录入指纹。CMOS芯片负责对指纹进行“照相”,然后进行模糊处理生成0和1模式的2种记录信息,进而生成指纹特征。成功录入2次相同的指纹特征能生成一个指纹模板,通过单片机主机命令,将指纹模板信息存入模块的Flash芯片。

当指纹模块切换到识别模式时,CMOS传感芯片先完成一次指纹图像采集,然后将采集的指纹信息与Flash芯片里已经存储的指纹模板数据进行对比。当前采集的指纹图像如果与之前的指纹模板匹配,则返回指纹编号,如果匹配不成功,则识别为非法指纹。如此,可以通过单片机来进行指纹的识别与登记。

2.4 按键电路设计

设计需要有密码输入以及指纹输入管理,为减少单片机的I/O口占用,将按键电路设计成4×4矩阵键盘。矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法[5]。设计采用逐行扫描法实现按键检测。其中,P1.0-P1.3作为行线,P1.4-P1.7作为列线。4×4矩阵键盘的16个按键对应的功能如表1所示。

表1 矩阵键盘对应功能

2.5 继电器电路设计

继电器是一个通过输入小电流来控制大电流输出的一个“自动开关”[6]。当使用51单片机进行控制继电器时,由于单片机I/O口输出电流在4~20 mA,而继电器工作电流大约在40 mA,所以采用直接控制是无法驱动的,需要添加一个电流放大电路。本设计采用S8550三极管进行电流放大。

3 软件设计

3.1 主程序设计

软件设计采用C语言程序[7]。在C程序中,主函数void main()是程序的入口函数,一个完整的程序必须包含该函数。设计中,主程序利用无限循环实时检测矩阵键盘动作,利用按键处理子程序,控制变量mode的数值,确定指纹密码锁的当前执行功能。mode=0时,实现指纹或者密码2种方式解锁功能;mode=1时,实现管理员界面功能;mode=2时,实现指纹录入功能;mode=3时,实现指纹删除功能;mode=4时,在键值处理子程序内部,实现密码修改功能。主程序流程如图2所示。

图2 主程序流程

3.2 录入指纹程序设计

录入指纹子程序如图3所示。在管理员界面,通过按键选择录入指纹功能,进入录入指纹子程序。录入指纹子程序开始,液晶提示目前为“录入指纹”状态,主程序中的键盘扫描以及键值处理子程序,输入即将存储指纹模板的ID值。用户将指纹图像按压在AS608指纹采集模块上,接着对即将准备储存的指纹模板编号ID值进行预判断,如果指纹编号ID的值在程序预设范围内,则启动指纹采集子程序,实现指纹图像2次录入生成指纹特征[8],将指纹特征合并生成指纹模板,指纹模板存入子程序开头指定的指纹模板编号ID中。指纹模板采集录入成功,则ID变量清零,方便下一个指纹模板录入,同时利用二进制开关变量,关闭密码锁当前指纹检测功能,子程序返回到主程序中。在主程序中,只有流程检测到mode=2或者mode=3时,才能再次开启指纹检测功能,以便于密码锁区分何时进行普通密码开锁以及何时进行指纹图像开锁。

图3 录入指纹流程

3.3 指纹解锁程序设计

AS608用串口通信协议与单片机进行通信,单片机主机通过串口发送对应的指令数据包来控制指纹模块实现对应的功能。主机必须按照规定格式封装发送指令或数据,也必须按规定格式解析收到的数据包。指令/数据包共分为3类:(1)包标识=01 命令包;(2)包标识=02 数据包,且有后续包;(3)包标识=08 最后一个数据包,即结束包。所有的数据包都要加包头:0xEF0。

在控制AS608指纹模块采取指纹时,先发送采集指纹图像命令,等待指纹图像生成指纹特征,然后指纹特征与指纹模块库中的指纹特征进行逐一比对,当前采集的指纹图像如果与指纹库中已经录入的模板一致,则返回当前采集指纹所在库的指纹编号,如果比对不成功,则新采集的指纹图像不是指纹库中的已有指纹,则判断为非法指纹,取消该指纹开锁功能。指纹解锁子程序流程如图4所示。

图4 指纹解锁流程

4 实物运行

设备通过USB提供+5 V的电源,打开系统的设备开关,设备进入开锁待机状态,液晶显示屏提示开机初始界面。此时密码锁接收2种方式解锁:直接输入6位数字密码或者直接在AS608指纹模块按下解锁指纹,系统实现正确解锁。对于解锁指纹的管理,系统的实现方法非常简单,通过进入管理系统界面,选择“录入指纹”子菜单,进入管理系统界面,此时预先输入3位数字指纹ID编号,接着按压指纹模块,当解锁指纹采集成功,系统提示“录入成功”。指纹录入及解锁实物运行如图5所示。

图5 指纹录入及解锁实物运行

5 结语

本文实现了一款单片机指纹密码锁的设计及制作。系统由硬件电路以及软件程序2部分结构组成。硬件电路主要包括单片机最小系统、矩阵键盘输入电路、电磁继电器控制模块、AS608指纹识别模块、LCD12864液晶显示模块、AT24C02密码存储模块等。密码锁液晶显示界面实现友好人机交互,功能齐全,简单易操作。

猜你喜欢
指纹图密码锁液晶屏
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
指纹图像传感器技术与后续发展研究
开启密码锁
FPGA的TFT-LCD真彩液晶屏显示控制
数字密码锁的逻辑实现
基于机器视觉的液晶屏字符缺陷检测系统设计
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
基于图像处理的电能表液晶屏质量检测方法
1株蒜薹采后病原真菌的鉴定、rDNA ITS序列及碳源代谢指纹图谱分析