基于单片机的指纹密码锁

【摘要】 本设计是一款基于单片机的指纹识别电子密码锁系统。该系统以STC89C52单片机作为模块核心同时结合ZFM-60指纹模块实现录取指纹并存储指纹数据的功能,并且通过HS12864-15C液晶显示比对流程及比对结果,该指纹电子密码锁通过直流继电器与发光二极管来模拟开锁的动作。本系统有小体积、高性价比、高传输速度的特点,适合家庭及单位使用。
【关键词】 单片机;指纹比对;电子密码锁;液晶屏

1 引言

我们现在市场上的主流密码锁一般都是电子设计的,但是这种密码锁的设计有很多缺陷比如他容易被人窃取密码同时主人也很容易忘记密码,由于这类情况的发生大大增加了安全隐患。因此人们开始转而探索生物识别技术,希望可以利用此技术来应付现在系统安全所面临的挑战。据研究结果表明,人类身体的很多部位具有不可复制的特点,比如人类的声音、视网膜、指纹等等都是我们人体
独有的特征。这些外部条件让我们的身份认证更加安全方便,其中近年来发展成熟的指纹识别技术成为生物识别技术中的热点。

2 系统硬件设计

基于单片机的指纹电子密码锁硬件模块主要有指纹传感器,电源,单片机,继电器,液晶显示屏,按键等构成。在系统工作时硬件中的指纹模块可以对外来指纹进行录入和清除工作,这一硬件部分的工作是采用C 语言构建系统程序,单片机通过对不同的按键执行操作后向模块发送相应指令,完成对应功能。在硬件与软件完成匹配调试后,整体可构成一个独立的指纹识别系统。

2.1 按键模块

矩阵式键盘由行线和列线构成,其中按键的位置位于行和列的交叉点上。当键被按下时,其交点处的行线和列线接通,随即对应的行线或列线上的电平会产生变化。通过检测行或列线上的电平变化,单片机可以确定哪个按键被按下。
在本设计中我们采用了逐行扫描法来实现按键检测的功能,识别的具体过程如下:
判断键盘中是否有键按下。本设计中将行线设置为输出口,并且输出低电平;同时将列线设置为输入口,输出为高电平。我们在读取的时候只需查看列线上的电平状态,如果有一列的电平为低电平,就表示此时有按键按下。
判断被按下按键所在的位置。在确认有键按按下后依次将每根行线设置为输出口,并输出低电平然后逐列检查每根列线的电平状态,若某列为低电平,则该列线与行线交叉处的按键就是被按下的按键。按键位置确定后,我们采用计算法编码的方法给矩阵键盘中的每个按键进行编号。

2.2 指纹模块

本设计我们所选择的是型号为 ZFM60 的指纹模块,该指纹模块里面主要是型号为 AS606 的 DSP 芯片,其中芯片外面装载有 CMOS 芯片,当我们录入两次这样的指纹特征时就能生成一个指纹模板。当指纹模板处于工作状态时,模块会将第一次录入的指纹信息进行模糊处理并且生成"0 "和" 1 "两种不同的信息同时模块会把生成的信息存入到FLASH 芯片里面。当使用到指纹模块的识别模式时, CMOS 芯片将采集到的指纹和之前存储在FLASH 芯片里的数据库进行对比,并且从N 个录入的指纹数据里面找出与之对应的指纹。单片机会对识别结果进行判断,如果存在的话就会显示对应的指纹标号。

2.3 液晶显示器

在本设计中采用了 12864 液晶显示器,显示器主要完成数据的显示功能。本设计一开始必须对用户所编的显示程序进行初始化,否则该指纹模块会出现无法正常显示的问题,在模块接收到其他指令前,单片机必须确认模块内部处于非忙碌的工作状态,然后显示器会接收到指令,并且根据相应的指令将需要显示的内容放在显示屏上。

2.4 记忆存储设计

本设计中将 AT24C02 作为记忆存储装置, AT24C02 是美国Atmel公司一款低功耗的的 CMOS E2PROM ,它的工作电压范围为2.5V-5V。 AT24C02 内部含有 256*8 位存储空间以及一个 16 字节页写缓冲器。该器件通过I2C 总线接口进行操作并且有一个专门的写保护功能。AT24C02 有良好的资料保存功能,在断电的情况下芯片里面的资料能保存几十年。

3 软件设计部分

本设计采用 keil 进行 C 源码编程, keil 软件可以提供丰富的库函数和功能强大的集成开发调试工具,能够连接和重定位目标文件和库文件,创建HEX 文件,调试目标程序。

4 系统调试

将 keil 编写的程序分别对矩阵键盘,显示屏以及指纹模块进行调试,同时检验蜂鸣器、继电器、LED 灯是否正常工作。通过软件硬件的调试,判断基于单片机的指纹密码锁能不能实现正常采集、录入、存储指纹的功能。

5 结束语

本文提出的指纹密码锁将单片机和指纹模块结合在一起,通过人体指纹独有特性提高了电子锁的安全性能。同时本设计的软件和硬件还有很大的扩展性可以增加其他功能,有一定推广性。

相关推荐
FreakStudio3 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘8 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
十五喵源码网8 天前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记
u152109648498 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd8451015008 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼8 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi8 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
jay神8 天前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
✎ ﹏梦醒͜ღ҉繁华落℘8 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展8 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件