一个指纹密码锁的设计与实现∗

2019-07-31 09:55李友胜
计算机与数字工程 2019年7期
关键词:流程图指纹识别按键

李友胜

(宝鸡文理学院机械工程学院 宝鸡 721016)

1 引言

指纹是人类皮肤上一种特殊的纹路结构,而这些结构的形成完全依赖于胚胎细胞的发育[1~2]。每一个胚胎因为其基因的重组是不尽相同的,所以,每个指纹也有着其特殊的纹理结构。

现代电子集成制造技术对于本系统的实现起了很大的作用[3~4],可在一个微小的单片机上存储很多个指纹信息,体现其便捷性。利用指纹图像读取设备,可以获取任何一个指纹信息,而数据库可以准确地存储这些信息,在单片机上进行两个指纹的比对和运算,所以基于单片机的指纹识别技术有着很强的可行性[5~6]。

1.1 指纹识别原理

手指表面皮肤凹凸不平而产生的纹路就是指纹[7~8],而纹路可以用结构特征来描述。

通常采用的结构特征有2种,如图1所示。

图1 指纹基本纹路图案

1)全局特征:分为:环形、弓形、螺旋形。

2)局部特征:利用指纹中最常见的断点和分叉来建立坐标,结合其他一些特征表示指纹。如图2中的小桥、三角点、分叉点、端点和环。

指纹识别原理[9~10]:是对指纹进行“照相”,生成指纹特征,如图3 所示就是一个指纹模板,录入两次这样的指纹特征就能生成一个指纹模板[11~12]。

其工作过程是:扫描指纹(录入图像)、生成特征、合成模板[13~14](建立一个指纹库文件,成功录入一个指纹)。

图2 指纹图像

图3 指纹模板

1.2 系统功能结构图

该系统由四个功能模块构成,即LCD12864、单片机[15]、指纹模块、继电器和指示灯模块。其功能结构如图4所示。

图4 系统功能结构图

管理员进入系统后,在管理员模式下可以完成录入指纹、删除指纹、应急开锁和修改密码的功能。

管理员进入录入指纹模式后,指纹模块绿灯亮起,录入同一手指两次,此时液晶显示“指纹采集成功”;在删除指纹模式下,液晶显示“输入删去的指纹号”,输入后按确认键即可完成指定指纹的删除功能,同时液晶显示“删除指纹号成功”。在非正常的情况下,如指纹模块不好用或者紧急情况下,可以使用紧急开锁功能;密码修改的功能是指可以修改并保存进入管理员的6位密码。

2 系统硬件设计

该系统硬件部分由四个模块组成:按键模块、显示模块、单片机控制模块、指纹模块。

2.1 指纹模块电路设计

指纹模块电路如图5 所示:将指纹模块里面的CMOS芯片采集一次指纹信息,然后处理生成0和1两种记录信息,存入指纹模块的FLASH芯片里面。

当切换到识别模式时,指纹模块首先采集一次指纹,然后和FLASH 芯片的数据进行对比,如果存在,则返回是几号指纹。

图5 指纹模块接口图

2.2 液晶显示的电路

本系统采用LCD12864 液晶显示器,是一种功耗极低的显示器件,广泛应用于便携式电子产品中,具有低功耗、显示信息量大、易于彩色化等特点。其电路如图6所示。

图6 LCD12864电路

2.3 按键控制电路

如果按键上为高电平,则表示断开,否则表示闭合。为了防止信号的干扰,加入消除电平,确保CPU 对一次按键动作只确认一次,图7 为按键电路,按键按下是呈低电平,采用软件消抖减少对的单片机影响。

图7 按键电路

2.4 复位电路

复位电路[16]由按键复位和上电复位两部分组成。本系统采用的复位电路如图8 所示。单片机在上电瞬间,RC 电路充电,RST 引脚端出现正脉冲,如果RST 端保持两个机器周期以上的高电平,单片机就会复位。

图8 复位电路

3 系统软件的设计

本系统采用Keil 开发软件对单片机程序进行编写、仿真调试,随后将代码文件通过开发板下载到单片机中,系统在通电之后,单片机中的主程序完成各个模块的初始化工作,同时检测对各个按键是否有按键动作,有则执行相关的程序。

3.1 主程序流程图

主程序首先对各个模块进行初始化,扫描有无按键动作,若有,先判断是哪个按键,并判断是否执行相应子程序。其主程序执行流程如图9所示。

图9 主程序流程图

3.2 按键流程图

按键模块实现其功能时,其流程如图10所示。

3.3 LCD显示流程图

LCD显示模块主要显示对比结果,方便用户更直观的获取信息。图11为显示模块的流程图。

图10 按键流程图

图11 显示模块流程图

3.4 指纹模块的通信流程图

指纹模块的串口通信中,数据的发送和接收流程图如图12所示。

图12 串口通信数据发送、接收流程图

4 系统的功能实现

4.1 程序的烧写

STC-ISP 是一款单片机下载编程烧录软件,主要用于对单片机程序的烧录,图13 为软件工作界面。

图13 STC-ISP工作界面

调试通过的代码文件通过STC_ISP_V480下载到单片机。STC_ISP_V480使用步骤为:

1)打开 STC-ISP 软件,然后在 MCU Type 栏目下选中STC89C52RC。

2)选中COM端口,波特率选择9600。

3)点击“打开文件”并在对话框内找到要下载的HEX文件。

4)点击download/下载,根据提示给单片机上电,完成程序烧写。

4.2 液晶显示屏的实现

导入12864 液晶的测试程序,设备通电后,通过调节液晶屏背面的电位器,在调试液晶时要注意:程序是否对液晶屏初始化,调整标准初始化步骤,或调整指令之间的延时。在经调试后液晶的显示结果如图14所示。

图14 液晶显示屏

4.3 指纹模块、按键的实现

导入程序后,测试指纹模块及按键是否工作,操作步骤为

1)按下电源,电源指示灯点亮;

2)按“*”键后屏幕显示“请按指纹”,指纹模块亮,将手指放到指纹头处即可识别指纹;

3)若录入指纹,指纹识别成功则继电器工作,LED灯亮,门开锁,按任意键返回初始界面,等待下一个人扫描指纹。若录入指纹后,指纹识别不成功,继电器没有动作,LED 灯不亮,将不能开锁,按任意键返回初始界面,继续扫描指纹。

4)按下 A 按键,输入 6 位密码,按下 B 按键,可删除输入的数字,按下D 按键确认,密码输入正确后,可进入管理员模式。

5)在管理员模式下,按数字键“1”进入录入指纹模式,指纹头灯亮起,此时可把手指放到指纹头进行指纹的录入,录入指纹时需要录入2 次指纹完成这个指纹的录入存储,指纹录入成功后,按任意键返回到管理员界面,如需再录入指纹重复上面操作即可。

6)按数字键“2”进入删除指纹模式,输入要删除指定的指纹号按“D”键确认,若指纹号输入错误可按“B”键撤销,再重新输入要删除的指纹号即可。

7)在非正常情况下(指纹模块不能识别或紧急情况)可按数字键“3”进行开锁。

8)按数字键“4”可进行管理员密码的修改。

5 结语

该指纹密码锁利用高性能单片机、LCD显示屏以及指纹识别模块实现了各模块的电路设计,通过系统的功能测试,实现了录入指纹、存储指纹及指纹对比及继电器的开锁功能,为身份识别奠定了良好的基础,具有现实的应用价值。

猜你喜欢
流程图指纹识别按键
云的识别指南
基于有限状态机的按键检测程序设计
非触勿动 秒治键盘误触
一种程序源代码的标准化流程图转化方法∗
苹果屏幕指纹识别专利图流出
iPhone8新专利曝光
指纹挂锁
形形色色的指纹解锁
其实真的很简单教你轻松关闭WP8.1手机按键灯
计算器