STC89C52RC智能电子锁设计研究

时间:2022-06-23 11:04:00

STC89C52RC智能电子锁设计研究

【摘要】设计一种基于STC89C52RC单片机的廉价智能电子锁。采用单片机作为控制核心,可通过编程选择实现修改开锁模式和异常开锁报警等功能,相比于市场上同类产品,使用更灵活、安全性更高、成本更低,具有较高的实用价值。

【关键词】指纹识别;矩阵键盘;STC89C52RC;报警

传统的机械锁或智能IC卡锁需要配备钥匙,使用不便,特别是对于实验室、办公室、机房等相对重要而门锁又较多的场所,管理人员往往需要配备大盘钥匙。工作人员时常会因为遗忘钥匙或IC卡损坏等原因而无法开门,同时还存在因丢失钥匙而造成的安全隐患。为了克服这一缺点,目前市场上已推出了无需利用钥匙开锁的指纹锁和电子密码锁,因其使用方便、安全高效而成为一种趋势。但目前市场上的指纹锁或电子密码锁价格普遍较高,且开锁模式单一、使用不够灵活[1-2]。针对这种情况,本文用FPM10A模块进行指纹采集,用矩阵键盘进行密码输入,用STC89C52RC单片机作为控制器,设计了一种廉价的智能电子锁。设计的电子锁成本较低、安全性能高,能实现异常开锁报警,同时预留了其他功能开发,具有较高的实用价值。

1系统设计

本设计由指纹模块、密码键盘、功能切换按键、存储模块、主控单片机、声光报警器、液晶显示器以及电源模块等组成,系统结构如图1所示。其基本工作原理是:存储模块存储程序设置参数,包括开锁模式、指纹信息和密码信息。主控单片机将输入部分的输入信息,根据程序设置与存储信息进行对比、确认,然后将处理结果送给输出部分进行相应操作。其中,输入部分包括指纹信息获取模块、密码输入键盘和功能选择切换按键。为了开锁方便,系统默认首选指纹开锁,然后是密码开锁。若要进行其他操作,可按下功能切换键进入管理模式,此时需要输入超级密码,验证通过后可进行指纹录入与删除、开锁密码修改、临时开锁密码设置以及开锁模式修改等,比如为了增强安全性,可以将默认的“指纹或密码”的开锁方式修改为“指纹+密码”的开锁方式。控制部分采用STC89C52RC单片机作为控制核心,根据程序设置输入指令执行相应操作。输出部分包括报警器、显示器和继电器控制,报警器进行开锁异常情况报警,比如连续三次输入指纹或密码错误;显示器显示输入信息;继电器用于控制电磁锁开锁机构的动作。由于各个模块的工作电压不完全相同,由电源管理模块完成各模块的供电管理。

2硬件选择与设计

2.1指纹识别模块

本设计中指纹识别模块选用技术比较成熟的FPM10A型光学指纹识别模块[3],该模块图像录入快,存储容量大(最大可达880枚指纹信息),错误接受率(FalseAcceptanceRate,FAR)<0.001%,错误拒绝率FalseRejectionRate,FRR)<1.0%,工作电压3.6~6V,设计中采用5.0V电压供电,其电路如图2所示。

2.2密码键盘

本设计的密码键盘采用4×4矩阵键盘[4],各键代表的符号意义如图3所示,电路设计如图4所示。密码键盘工作原理是:第一步,判断是否有按键。若有按键会使该键所在的行线和列线电平发生变化;第二步,判断按键所在位置。根据行线和列线电平变化,寻找该键所在位置;第三步,建码计算。根据各键所代表的符号及意义,执行相应操作,若按键为特殊功能键(“确定”、“取消”、“退出”、“重置”)会进行即时操作,其中“重置”为管理员模式,需要输入超级密码,然后进入管理模式。若按键为普通符号键(“0~9”及“*”和“#”)则按顺序排列记忆存储,直至按下“确认”键结束,然后与存储的密码进行对比确认,执行后续开锁、报警等操作。为了安全起见,若按键后超过10秒无操作,系统自动退出。

2.3电磁锁控制模块

本设计采用继电器控制电磁锁锁舌的动作,电路设计如图5所示[5]。为了安全起见,保证电磁锁的可靠动作,设计采用电源适配器提供12V直流电压对电磁锁供电,继电器则采用5V直流电压供电。当接收到开锁指令后,单片机会通过P2.2口输出一个低电平信号使光耦得电导通,从而接通继电器工作,执行开锁操作。未接到开锁指令时,P2.2口为高电平,光耦不工作,电磁锁处于闭锁状态。

2.4存储模块

本设计的存储模块采用AT24C02[6]。AT24C02采用低功耗CMOS工艺,具有100万次擦写周期,数据保存达100年,不会因为断电而丢失数据,完全满足设计需要,且价格相对较低。AT24C02模块的SDA(管脚5)和SCL(管脚6)分别于单片机的P3.5和P3.4口连接,连接电路如图6所示。

2.5单片机及其电路

本设计没有太复杂的数据运算,但要求可靠性高。综合比较各种微控器,选用宏晶公司的8位增强型单片机STC89C52RC[7-8]。该单片机技术成熟、成本低,自带ADC,简化器件设计。信息存储采用AT24C02模块,液晶显示器采用LCD1602显示器,报警器采用声光报警,当输入指纹或密码连续三次错误时,输入模块强制退出,同时单片机会通过P2.1端口输出一个低电平信号使三极管Q2导通,接通声光报警器进行声光报警。

2.6电源模块

本系统设计中,电磁锁采用12V电压供电,可直接采用电源适配器供电,单片机和继电器、显示器等器件采用5V电压供电,设计采用LM2596-5模块将电源适配器输出电压转化成5.0V电压[9]。

3程序设计

3.1默认解锁程序

考虑到指纹解锁快捷、方便,系统首选指纹解锁,如果指纹识别模块无动作则进入到密码解锁。指纹解锁中,如果指纹比对失败会通过液晶显示器进行提示,超过三次则关闭指纹识别模块。考虑到指纹模块可能会因为手指出汗等原因比对失败,此时不报警,提示选择输入密码解锁。密码解锁中,设置了6位由“0”~“9”及“*”和“#”12个符号组成的普通解锁密码和临时解锁密码,位数过低会降低安全性,位数过高又会影响工作效率与可靠性。若选择“重置”键则进入管理员模式,可进行密码修改、指纹录入与删除等操作,此时需要输入9位超级密码。无论是普通解锁密码、临时解锁密码还是超级密码,输入错误系统会进行提示,如果错误输入超过三次则自动关闭解锁系统,同时启动声光报警。声光报警器延时10秒退出,解锁系统关闭150秒后恢复待机状态,系统工作流程如图7所示。

3.2重置与拓展功能

为了增加系统使用的灵活性,本系统设计的程序可以进行修改、重置。(1)修改密码。在不太重要的场合,可以采用4位密码,快速高效。同样,在重要的场合可以采用9位密码及更多位数的超级密码。临时密码默认使用一次即失效,也可以改为按时间记忆,比如启动12小时后失效。(2)开锁模式。在非常重要的场合,为了提高安全防护级别,可以采用“密码+指纹”的方式开锁。此时安全级别高,不设置临时密码,开锁时系统首先验证密码,三次错误即报警。然后再次验证指纹(管理员模式的超级密码除外),三次比对错误也报警。但“密码+指纹”的验证方式要确保指纹录入无误,手指不能有汗渍、油污及伤口等。(3)功能拓展。由于采用单片机作为控制器,这种智能电子锁可以通过无线通信的方式与其他设备建立联系,实现遥控解锁。比如手机终端解锁、红外遥控器解锁等[10-11]。

4系统测试

为检验设计的可靠性,进行了系统的硬件测试。针对预定的指纹解锁、密码解锁以及错误报警等功能进行逐一测试,结果显示,系统误动和报警器误报均为零,证明了系统工作的可靠性。

5结语

本文设计的智能电子锁利用指纹或密码即可开锁,无需配备钥匙或IC卡等开锁装置,使用方便,符合门禁系统发展趋势;采用单片机作为控制核心,可以通过程序设定选择和修改开锁模式,使用灵活,安全性高;设计的智能锁利用单片机与外界的通信链接,很容易与智能家居、物联网、5G技术、大数据与区块链等深度融合,实现联网控制与报警等功能拓展,有着广阔的应用前景。

作者:杨清志 徐宏 单位:亳州职业技术学院