基于 51 单片机的 6 位密码锁设计
一、概要
多功能电子密码锁系统由 AT89C52 单片机最小系统、4×4 矩阵键盘、LCD1602 显示、AT24C02 存储模块以及报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。
二、设计要求
(1)本设计为了防止密码被窃取要求在输入密码时在 LCD 屏幕上显示*号;
(2)设计开锁密码位六位密码的电子密码锁;
(3)能够 LCD 显示在密码正确时显示 OPEN,密码错误时显示 ERROR,输入密码时显示 INPUT PASSWORD;
(4)实现输入密码错误超过限定的三次电子密码锁定;
(5)4×4 的矩阵键盘其中包括 0-9 的数字键和确认、重设、清除以及关锁功能键;
(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且 LED 灯亮;
(7)密码可以由用户自己修改设定(只支持 6 位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作;
Proteus 仿真
原理图
仿真分析
(1)51 单片机加载 Lock 程序的 Hex 文件,进行仿真运行,此时 LCD 显示初始密码输入界面。
(2)输入初始密码 6 个 0 后,点击“确认”键,LCD 显示 Open 状态,密码锁打开,继电器动作,绿色 LED 灯点亮,开锁成功。
(3)重设密码过程为:在密码锁开锁成功的状态下,即 LCD 显示 Open 时,再次输入 6 位旧密码,点击“确认”键,此时 LCD 显示 Set NewWord Enable,重设密码进程激活。
(4)此时,输入 6 位新密码,点击“重设”键,LCD 显示“inputagain”,再次输入 6 位新密码,点击“重设”键,密码重设成功,此时 LCD 显示“ResetPassword OK”,新密码被写入 AT24C02 存储器。即使仿真结束,或单片机复位,AT24C02 存储的密码都不会丢失。
(5)如果忘记密码,可输入管理员密码:131420,点击“确认”键后,LCD 显示“Init Password”,密码锁密码被重置为:000000。
(6)密码输入过程中,均会产生提示音。一声提示音,表示按键每次的有效输入;两声提示音,表示开锁或密码重设重置成功;三声提示音,表示输入错误等。密码输入错误 3 次,键盘被锁死,提示音长鸣报警。
(7)开锁成功后,可以点击“关锁”键,模拟锁密码关锁,此时继电器失电,绿色 LED 灯熄灭,LCD 显示密码输入界面。当密码输入过程中输入错误时,可以通过“清除”清除错误的某位密码数字,重新输入即可。
三、部分 C 程序
版权声明: 本文为 InfoQ 作者【智趣匠】的原创文章。
原文链接:【http://xie.infoq.cn/article/1cef638f0aebd6069cd9794a8】。文章转载请联系作者。
评论