APP下载

基于单片机的电子密码锁设计

2019-01-08刘佳乐

中国新技术新产品 2018年23期
关键词:密码锁按键键盘

刘佳乐

(兰州工业学院电气工程学院,甘肃 兰州 730000)

1 电子密码锁硬件设计

该文分析的系统是由4×4矩阵键盘、LCD1602报警系统、单片机AT89S52和显示部分等构成,该系统具有修改和设置用户6位密码、密码错误报警、超次锁定和超次报警等功能。该文的密码锁设计是使用PO单片机LCD控制显示,密码正确有“password ok!”提示,如果是错误会出现“password error!”该提示,错误输入3次会自动锁定。P1口矩阵控制键盘包括0~9个数字,还有A-F功能键。另外,除了这些密码功能,还能实现遥控功能控制密码锁,关于整体系统框架的设计如图1所示。

1.1 最小系统设计

图1 系统结构框图

单片机最小系统是由晶振电路、复位电路组成。晶振电路是通过XTAL2和XTAL1引脚与晶体振荡器12MHz进行连接,形成了一个内部振荡电路,该模块是由一个晶振、两个电容组成。其中引脚XTAL2和XTAL1与电容C1和C2进行连接。该部分的两个电容具有快速起振、稳定振荡频率的功能,其中电容值是20 pF,内部振荡方式应用比较广泛,其获得的时钟信号相对稳定。

1.2 键盘设计

键盘的设计是4×4矩阵式的行列键盘,每条垂直线和水平线都是相互交叉但不连通的,一般都是利用按键进行连接。这样每个端口构成一个4×4=16的按键,在单片机系统中这种行列式矩阵键盘,在执行程序中需要先等待按键指令,之后确认都按下按键程序,连接每个键垂直和水平端口,比如:如果垂直输入扫描码,这时同一行获取的扫描码的bit是相同的,而水平线是读取扫描的,这时会线输入扫描的动作,之后才是读取输入的信息,经过系统分析,才能确定哪个键被使用。

1.3 声光报警电路设计

该文分析的电子密码锁是利用程序频率促使蜂鸣器发出声音,之后将频率发送给输出端口并输出即可。使用LED灯判断是否输入正确密码,如果是错误面lED灯会显示红色,这时蜂鸣器会自动出现报警声,如果密码正确,则绿色的LED灯亮。

1.4 开锁机构设计

通过LED信息提示,用户可以了解输入的密码是否正确,从而正确开锁。如果密码输入正确,这时系统会判断按键是否被按下,之后单片机会发出开门信号,开锁驱动电路接收到指令,会驱动电磁锁,这时即可将锁打开。开锁电路是由开锁、驱动2个部分构成,其中驱动电路由D5、T10、R1组成,D5是提示开锁、T10一般选择三极管功率较小可以满足实际需求,比如:9014。开锁系统包括C4、D6、T11工程,其中,C4、D6是负责消除电磁锁被电磁干扰,或是出现反向高电压情况。T11可以选择中功率三极管,比如8050,电磁锁选择都是根据实际需求,但要注意保证吸合力有一定的余量。本次分析为了节省材料,临时选择发光二极管来替换电磁锁,发光管亮表示已经开锁,如果是灯灭,表示没有开锁。

2 电子密码锁软件设计

2.1 电子密码锁功能

电子密码锁一般在办公室或是家庭中的门锁上使用,一般都是通过电磁铁吸合,将门关闭,只有输入正确密码,才能打开锁。门锁的密码用户自己可以设置或是修改,门锁还有自动报警功能。电子密码锁是根据液晶屏信息显示,选择开锁或是修改密码。如果开锁,需要扫描键盘输入密码,之后保存数组,再选择正确的密码数据进行比较,根据指示灯LED显示开锁。如果密码输入错误,会自动报警,并有错误提示。如果想要修改密码,需要将新密码保存到系统中,开锁程序包括主程序、子服务中断程序。主程序主要是读取键盘数值,并显示屏幕信息和判断密码。子服务中断程序就是将密码复位再进行密码锁开锁、上锁、报警等处理。当程序进入初始化,再分析键盘数值是否输入,如果选择输入开始进入步骤程序,选择开锁或是密码修改,如果键盘没有输入,则需要返回。

2.2 电子密码主程序流程

为了保证程序更好地进行调试和阅读,这里将外围电路设计成为不同的子程序,包括按键扫描、程序显示、左移键值、右移程序、读存储器程序、报警程序和保存密码程序等。

3 仿真

该文通过Proteus软件对密码锁进行了仿真实验,证明该软件可以实现软件硬件同时设计,如果还没有制作硬件,可以利用绘制的软件电路图,将程序加载编译,在电脑上完成仿真调试,从而分析软件设计上存在的错误再进行调试,可以有效减少设计周期。

进入Proteus ISIS编辑窗口,在元件列表中单击“P”按钮,进入对话框“Pick Device”,之后添加元件。如果没有元件,可以使用芯片来代替,达到功能兼容效果。

密码锁电路图绘制完成后,将AT89C51单片机晶振频率设置为12 MHz,之后加载“*.HEX”文件。

在编辑窗口,点击图表“运行”或是菜单“Debug”,并在菜单中选择“Execute”,即可看到模拟仿真的结果。

在调整单步调试中,打开“Debug”菜单中的“Watch Window”窗口以及“XX器件编号”,观察储存器、寄存器的数值变化。

4 结语

经过仿真设计反复调试,电子密码锁可以基本实现:识别对比输入的密码、判断密码、开锁、自动报警、储存密码、修改密码。基于单片机进行电子密码设计,单片机属于主控芯片,同时与外围电路进行连接,构成电子密码锁。在单片机2个线路上设置电阻,可以有效减少功耗。这种程序设计比较简单、设计方法可靠、成本比较低、使用安全性高,而且能够满足日常锁的需求,有使用价值。

猜你喜欢

密码锁按键键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
基于有限状态机的按键检测程序设计
Cлово месяца
ikbc R300机械键盘
开启密码锁
数字密码锁的逻辑实现
一种多方向导光按键结构设计
按键的多种状态检测及消抖处理方法
解析某型号手机按键检测程序的缺陷