首页 > 范文大全 > 正文

多功能电子密码锁的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇多功能电子密码锁的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:本文设计了一种以AT89S51单片机为控制核心,以矩阵键盘为密码输入器件的多功能电子密码锁,从设计思路、硬件电路设计、软件程序设计等方面进行了介绍,该设计的密码锁实现了预期的目标,具有自动开锁、报警提示、信息显示等功能。符合民用场合的要求,按此设计思路可以量产推广应用。

关键词:电子密码锁 单片机 AT89S51 自动开锁

中图分类号:G71 文献标识码:A 文章编号:1672-3791(2014)05(c)-0003-02

随着社会的不断发展和人民生活水平的不断提高,人们对日常生活中的安全防护越来越重视,电子密码锁是基于这一需求而产生出来。本文从使用便利、性价比高等方面介绍了一款以51单片机为控制核心,具有数码管显示、提示报警等功能的多功能电子密码锁。本文设计的密码锁控制方法简单,成本低廉,非常适用于家庭、商场、办公室等公共场所。其具体功能如下:用户通过键盘输入正确密码,之后按下确认按键结束密码输入,系统自动开锁,使用退格键可以删除前面所输入的密码,使用闭锁键可以使密码锁重新闭锁;当每按下一个密码键发出一次短提示音,当密码输入正确发出1s长提示音,当密码输入错误发出5s长提示音;用六位数码管显示密码锁信息,第一位显示P时为等待用户输入开锁密码,显示H时为已经开锁,显示E时为密码输入报警;通过继电器模拟锁具,密码输入正确继电器断开,通过闭锁按键可以使继电器闭合。

1 设计思路及流程

根据上面所提到的功能,多功能电子密码锁要完成用户密码输入,显示,提示及报警,自动开锁等功能,依次可以将此系统分为单片机模块,键盘模块,数码管显示模块,发声模块,电子锁控制模块。系统功能结构图如图1所示。

各模块设计思路如下。

单片机模块:采用教学中经常使用的AT89S51作为核心芯片,此芯片使用率高,价格便宜,开发成本低,适用于一些控制简单,要求运算速率不高的场合。此模块以单片机为核心,并配以复位电路和晶振电路,可以采用电池供电或采用简单方便的开关电源供电。

键盘模块:键盘采用4×4行列矩阵键盘,一共有16个按键。按键采用的是微动开关,也可以采用抖动小且稳定的薄膜按键或硅胶按键。密码键有10个,从0~9,功能键有3个,一共需要13个按键。

显示模块:系统只是显示0~9共10个数字和若干个英文字母,所以不需要采用液晶等汉字显示工具,采用6位数码管显示。第一位数码管显示功能字母,其余5位数码管用于显示密码。为了简化硬件电路设计,采用动态显示方式。

发声模块:提示音和报警声音采用蜂鸣器发声,用一个IO口进行控制,并用三极管进行驱动。

电子锁控制模块:系统采用继电器控制电子锁的开关与闭合,用一个IO口进行控制,并用三极管进行驱动,为了方便观察开关闭合状态,可以将发光二极管连接到电路上,闭合时二极管点亮,断开时二极管熄灭。

2 硬件电路设计

根据上文介绍的各个模块,选择合适的芯片,然后设计硬件电路。按照功能模块划分为单片机电路,键盘电路,数码管显示电路,发声电路,电子锁控制电路。

单片机电路包括两个基本电路,复位电路和晶振电路。复位电路采用阻容复位方式,采用按键复位模式,晶振电路中选择的晶振一般采用12 MHz或11.0592 MHz,以方便计算时间。AT89S51单片机是高性能8位单片机,兼容标准的MCS-51指令系统。P1口的8个引脚用于构成行列矩阵键盘,P0口用于输出数码管的段码,P2口用于输出数码管的位码,P3口中有两个引脚用来控制蜂鸣器,和继电器。

键盘电路采用4×4行列矩阵结构,由4条行线和4条列线组成,行线和列线共有16个交叉点,每个交叉点可以放一个按键,这样可以放置16个按键。采用程序控制,行扫描列判断的方式判断出哪一个按键按下,按键电路图如图2所示。

数码管显示电路用六个数码管动态扫描显示,P2口用6个IO口控制6个PNP三极管,继而通过它们控制数码管的位选端,使数码管可以轮流点亮,三极管的基极电阻一般选择4.7 kΩ。P0口输出数码管的段码信息,硬件上还需连接220 Ω的限流电阻。

发声电路由PNP三极管和蜂鸣器组成,当控制引脚输出低电平时,三极管饱和导通,蜂鸣器发声,当控制引脚输出高电平时,三极管截止,蜂鸣器停止鸣叫,同时通过程序还可控制发声时间的长短。

电子锁控制电路主要由继电器、三极管、二极管组成,其中控制引脚通过控制三极管的导通和截止,使得继电器线圈得电和失电,继而控制触电的闭合和释放,同时继电器线圈还要并联上续流二极管,为感应电动势提供回路,防止损坏三极管。

3 软件程序设计

软件设计主要包括按键扫描子程序,动态扫描显示子程序,发声子程序,电子锁控制子程序及最终集成的主程序。

按键扫描子程序设计是系统程序中最难的,其思路是先要判断是否有键按下,如果有键按下再判断哪一个键按下,最后返回按键值,这其中可以采用多分支结构进行按键处理。不能出现死循环,无论是否有按键按下,都要尽快返回。显示子程序要求在主程序中不间断地调用,使数码管能够稳定显示。发声与电子锁控制子程序由于只是对几个引脚进行简单控制,所以程序不是很复杂。主程序主要是按照定时、显示刷新、发声报警、按键扫描、按键处理循环操作,其流程图如图3所示。

4 结语

本文设计的多功能电子密码锁具有方便实用的操作模式,简单的硬件设计电路,低廉的软件开发成本,具有一定的推广价值。系统还可以增加密码修改功能,这样用户可以动态修改密码,还可以增加通信功能,当发生报警时还可以向主机或用户发出信息以便及时处理。

参考文献

[1] 戴文雯.采用AT89C51的电子密码锁的设计[J].电子产品世界,2013(10):61-64.

[2] 韩团军.基于单片机的电子密码锁设计[J].研究与开发,2010(7):58-61.

[3] 高海.基于AT89S51的密码锁设计[J].现代电子技术,2010(18):12-15.