基于51单片机的电子密码锁设计与应用研究

2020-11-24 00:53韩燕楚
漯河职业技术学院学报 2020年6期
关键词:密码锁蜂鸣器按键

韩燕楚,余 宏*

(1.贵州师范学院 物理与电子科学学院,贵州 贵阳 550018;2.贵州大学 大数据与信息工程学院,贵州 贵阳 550025)

利用单片机控制的电子密码锁,不但操作简单,价格易接受,而且很大程度上可以保障设备的安全性和便捷性,消除了人们携带钥匙的烦恼。电子密码锁可靠性较高,弥补了传统机械锁安全系数较低的缺点,逐渐成为用户的优先选择。

1 总体设计

单片机控制的电子密码锁系统主要由硬件和软件两个部分组成。硬件设计是将STC89C51单片机及其外围电路连接起来。密码的输入可通过按键电路模块设置,同时通过存储电路对密码进行存储与识别,密码锁的实际操作过程可通过LCD显示电路实时显示,密码输入有误时蜂鸣报警器发出报警,且错误超次将会锁定键盘。软件设计利用单片机可编程设计的特点,对密码锁控制系统的各个功能模块进行编程。电子密码锁系统设计功能如下:

(1)设置6位初始密码,密码输入正确时,黄色LED灯亮提示密码锁被成功打开;密码错误时,蜂鸣器即刻发出报警且红色LED灯亮起,密码锁输入错误次数加1,超过三次锁定输入键盘,第一次锁定30s后解除锁定,解除后可再次输入密码解锁;第二次锁定60s后解除锁定,解除后可再次输入密码解锁,以此类推。

(2)可通过功能按键“修改密码”键重新设置密码。在设置新密码前,必须先输入旧密码,然后连续输入两次新密码,当两次新密码输入一致时才可成功完成修改。若旧密码输入错误,系统便会直接退出“修改密码”页面,且错误密码次数加1。

(3)密码锁具有掉电保护功能。密码锁锁定后,若未到解除锁定时间出现掉电,则锁定仍将保持,这样可防止以断电方式重新输入密码的操作,对密码锁起到掉电安全保护作用。

(4)密码锁的输入具有退格、重新输入、退出输入等功能。

2 硬件部分设计

硬件电路主要分为STC89C51单片机、AT24C02存储模块、按键电路、报警电路、继电器驱动模块五个部分。该控制系统的硬件设计以STC89C51单片机为主控芯片,利用单片机丰富的I/O端口将各个外围电路连接起来构成主系统,可以利用矩阵键盘实现密码输入与修改、关锁、复位等功能,并且通过单片机外接LCD1602液晶显示屏提示用户进行下一步操作。系统的硬件电路设计如图1所示。

图1 系统硬件电路设计

2.1 STC89C51单片机的最小系统

STC89C51单片机共有40只管脚,分为电源、时钟、控制和I/O引脚四类,它的优点是容易操作,原有程序可直接使用,硬件也无须改动,运行速度快且功耗低,而且成本低,抗干扰能力强,可提升产品性能,这使得在操作与成本方面都有极大的优势。单片机最小系统的工作由电源、晶振电路以及复位电路构成。

2.2 AT24C02存储模块

AT24C02存储器的数据传送率高且能与IIC总线兼容,功耗低,数据保存时间较长,还有一个专门的防误擦除写保护功能。芯片工作时有读和写两种操作,执行读操作时有当前地址读、随机读和顺序读三种方法;执行写操作时可根据数据量的大小选择字节写还是页写。在本设计中可直接将存储芯片的A0、A1、A2三个引脚连接至GND,为了方便读/写操作,将WP写保护引脚也连接到GND,最后将SDA、SCL两引脚分别接到单片机对应的两个引脚。

2.3 按键电路

该设计在操作过程中所需按键数目较多,所以采用矩阵式扫描的方法来作为键盘的输入形式且用4×4矩阵键盘可满足该设计所设定的功能。使用矩阵扫描法不仅可以减少单片机I/O端口的占用,也会降低电路连接的复杂程度。根据具体要实现的功能,密码锁的按键分布为数字键0-9、输入密码键、退格键、退出输入键、密码修改键、重置键、确认键。用户根据定义的按键功能实现输入,矩阵键盘直接连接单片机的P1口进行输入,通过输入高低电平判断键盘是否按下。

2.4 报警电路

报警电路由LED灯和蜂鸣报警器组成。这样可直观地观察密码锁的工作情况。本设计选用5V电磁式有源蜂鸣器,因为蜂鸣器工作时所需的电流较大,无法驱动单片机的I/O接口,电路中需要用一个三极管来驱动。当输入低电平时,三极管导通,蜂鸣器发出报警同时连接的红色LED灯亮;当输入高电平时,三极管截止,蜂鸣器停止鸣叫。

2.5 继电器驱动模块

由于继电器的工作电流较大而导致无法直接驱动,因此需要在单片机的I/O端口添加一个三极管来放大电流才可驱动,同时在继电器两端并联一个LED灯作为指示来直观判断,提示用户密码输入是否正确。当输入低电平时为有效电平,三极管导通,继电器吸合,黄色LED灯亮,锁打开;当输入高电平时,三极管截止,继电器断开。

3 软件设计

电子密码锁控制系统的软件设计主要分为主程序、LCD1602显示程序、AT24C02存储程序、矩阵按键电路及中断服务程序的设计。为了实现密码锁的预期功能,软件设计部分以STC89C51单片机为核心编写程序,首先对整个系统程序进行初始化设置,开启电子密码锁的功能,采用4×4矩阵式键盘扫描方法来判断是否已按下按键,可通过LCD1602液晶显示屏清楚地看出当前已输入的密码位数,输入完成后按下确认键,密码锁会将输入的密码与事先存储在AT24C02芯片中的原密码进行比对,若密码一致则打开锁,若密码不一致则蜂鸣器报警且LED灯亮,可选择重新输入,当密码错误三次则键盘将被锁定且报警。软件设计流程如图2所示。

图2 程序设计流程图

4 结论与展望

4.1 结论

电子密码锁经过不断调试和优化,成功实现了预期功能。目前市场上的电子锁种类繁多,功能也是应有尽有(见表1)。电子锁相比传统机械锁的突出优点就是安全性能高,同时消除了人们携带钥匙的烦恼。相比之下按键式的电子密码锁更为实用,大众更易接受;卡片式电子锁需要携带IC卡,容易丢失、损坏;生物识别式电子锁的要求较高,需要记忆一串自己事先在系统里设定好的数字密码,不太适合老人和孩子使用。

表1 各类电子锁比较

4.2 展望

目前电子锁在功能和安全性方面已得到了很多人的认可,有着非常广阔的应用前景。显而易见,在安全保险技术领域,电子密码锁最大的优势就是满足了人们的安全需求。电子密码锁的发展会越来越贴合人们的实际需要,针对安全性能做进一步拓展与提升,比如可事先在芯片中通过一定算法对初始密码二次加密;也可再添加一个GSM模块,使密码锁通过短信方式提示用户密码锁已被其他用户输错密码,这在很大程度上都能够提高密码锁的安全性,使其更加安全可靠,更具实用价值。

猜你喜欢
密码锁蜂鸣器按键
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于有限状态机的按键检测程序设计
掌控板制作简易钢琴
单片机驱动蜂鸣器的程序设计
按键消抖在单片机和FPGA实验教学中的应用
开启密码锁
数字密码锁的逻辑实现
一种多方向导光按键结构设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
B超机按键的替换与维护