您好, 访客   登录/注册

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

来源:用户上传      作者:黄田 杨婷婷 姜少维 李佳康 董莉霞

  摘  要: 传统的机械式锁具,在很大的程度上,已经不能够去满足现人类对安全性能的要求,特别是在财产安全,住宅安全等方面。需要研究出让人们觉得更加可靠、更加安全、方便快捷的锁具。本文基于AT89C51单片机,对电子密码锁进行了总体设计和硬件电路的设计。该密码锁备以下基本特点:体积小、低价格、低功耗、操作简便等。
  关键词: AT89C51;密码锁;安全
  中图分类号: TP3    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.10.025
  本文著录格式:黄田,杨婷婷,姜少维,等. 基于单片机的电子密码锁设计[J]. 软件,2020,41(10):102104
  【Abstract】: Traditional mechanical locks, to a large extent, have been unable to meet the requirements of human safety, especially in the property security, housing security and other aspects. There is a need for research into locks that people feel are more reliable, safe and convenient. In this paper, based on AT89C51 single chip microcomputer, the overall design of the electronic code lock and the design of the hardware circuit. The password lock has the following basic features: small size, low price, low power consumption, easy operation, etc.
  【Key words】: AT89C51; Code lock; Security
  0  引言
  传统的机械锁,当人们插入钥匙后或其他工具的时候,会将锁芯内的所有弹子,顶入到最上端去。当转动钥匙的时候,外部的弹子会阻于锁芯之外,从而成功启动锁。而该系统,是根据通过4×4的键盘输入的数字密码,与已经保存在系统中的密码是否相匹配来开锁的智能电子设备。它囊括了掉电存储模块和报警模块,都有利的增强了密码锁的安全可靠性。相比于传统的机械锁,电子密码锁受到了那些在个人生活中财产和住宅安全以及公司安全注重的人们的青睐。
  1  以AT89C51为核心的电子密碼锁总体设计
  应用系统的开发过程应包括四部分工作内容,即系统硬件设计、系统软件系统、系统仿真调制及脱机运行调试[1]。单片机AT89C51为主要系统控制单元,设计相应的电子电路和软件。其主要功能是通过矩阵键盘,输入六位密码然后按下确认。密码正确自动解锁。输入密码的时候,上限为30秒。也就是说,当输入的密码是537489时,第二个数字“3”必须在第一个数字“5”之后的30秒内输入。六位密码全部输入后,若没有按下确认键,也被视作放弃开锁。键入密码后,显示屏上显示的是符号“*”,用以防止密码外泄。其结构图如图1。密码修改时,首先需要通过键盘输入正确原密码,按下相应的密码修改按钮。然后重新从键盘输入六位密码,然后确认保存即可。报警模块,是当输入的密码错误时,系统扬声器发出报警声。当密码输入错误达到三次或三次以上系统则会长期报警不止,需要按下复位才可停止。
  2  以AT89C51为核心的电子密码锁硬件设计
  单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,得到了迅猛的发展和大范围的应用[2]。该系统选用了AT89C51芯片为最小系统模块,以及矩阵键盘、报警机构、开锁机构、掉电储存和LCD显示模块等辅助硬件[3]构成。系统模拟设计图如图2所示。
  2.1  单片机最小系统
  AT89C51是日常使用率最高的51芯片,因为它具备可擦除、可编程、只读存储器的高性能,是可靠的低电压单片机。以AT89C51单片机为主控系统[4],包含晶振、上电自动复位等基本工作电路[5]。晶振电路又称时钟电路。
  2.2   LCD显示电路
  为了达到用户友好界面目的[6],选用了LCD1602液晶显示屏,又被叫做工业字符型液晶。它是标准的16脚接口。其特点是体积小,重量方面轻盈。可同时显示32个字符,既可以显示符号也可显示汉字。LCD1602与单片机的连接是简单可靠的,同时操作方便。单片机AT89C51上的P0.0~P0.7(第1~8管脚)接显示屏的D0~D7接口。P2.0接LCD1602的E接口。P2.1接LCD13602的RW接口。P2.2接的是LCD1602的RS接口。由于单片机AT89C51的P0口,它的驱动能力比较弱,所以需要另外上拉电阻来驱动管子。
  2.3  键盘输入电路
  键盘选用4×4行列式的矩阵键盘,每一条行列线都不相通,分别由不同的按键控制。其包括0~9十个数字键,以及确认键,清除键和复位键等。将其与AT89C51单片机的PI接口相连接,扫描式的按键可降低对AT89C51的I/O端口的占用,有利于整块电路板的美观度。
  2.4  报警电路
  蜂鸣器报警的电路,由PNP型三极管、蜂鸣器和电阻三个部分构成。与芯片AT89C51的P3.7口相连,三极管的基极由I/O接口控制。P3.7低电平时,PNP型三极管导通,蜂鸣器发出警报。   开锁装置用继电器模拟[7],可利用PNP型三极管来启动继电器。然后继电器再控制开锁机构,以达到开锁目的。发光二极管则用来替代电磁锁。二极管灯亮时表示开锁;不亮时表示闭锁。
  3  以AT89C51为核心的电子密码锁软件设计
  C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务[8]。因此使用C语言来设计软件部分。以AT89C51为核心的电子密码锁,其软件部分设计的主程序流程图,如图7所示。进去程序首先进行LCD显示屏初始化。密码输入后按确认按键调用主程序。以AT89C51为核心的电子密码锁判断其输入是否与已存储的密码相匹配,决定是启动开锁模块还是报警模块。密码正确的时候,则启动开锁子程序。自动开锁的同时,LCD显示屏也将会显示“欢迎回家”字样;若密码错误,则会调用报警模块子程序。LCD显示屏也将出现“错误”字样。以AT89C51为核心的电子密码锁修改密码时需要首先输入正确密码,然后才能调用密码修改子程序,输入密码后储存在缓存区,系统将会提示用户再次输入修改后的密码。两次输入的密码正确,那么密码成功修改并且保存;若第2次输入的密码错误则需要再一次输入。这就是以AT89C51为核心的电子密码锁软件部分。
  4  结论
  基于AT89C51设计出的系统操作简单,安全指标可靠,成本低廉,操作极为方便。并且具有破解保护,界面简洁,断电密码不丢失的特点。设计最初考虑到单片机其体积小,功能完善的特点,所以选用它作为主控单元,并设计了相应的开锁,密码修改,报警等模块。现在基于该系统的密码锁还引入了专家分析系统等功能[9],具有很好的应用前景。
  参考文献
  [1]何立民. MSC-51系列单片机应用系统设计系统配置与接口技术[M]. 北京航空航天大学出版社: 北京, 1990: 23.
  [2]王云. 51单片机C语言程序设计教程[M]. 人民邮电出版社: 中央, 2018: 2.
  [3]徐金榮, 高磊. 多功能生物识别智能锁系统设计与实现[J]. 电子技术, 2019(16): 78-81.
  [4]黄军, 田新宇, 陈克林. 基于STM32单片机的门禁指纹密码锁系统设计[J]. 电子制作, 2020(19): 026.
  [5]黄滔. 基于AT89C51单片机的电子密码锁设计[J]. 电子制作, 2014(18): 645.
  [6]南江萍, 郑凯, 谢国坤, 等. 电子密码锁的设计[J]. 科技风, 2019(8): 2-3.
  [7]林欢, 许建明, 陈炯明. 基于单片机的电子密码锁设计[J]. 技术交流, 2016(10): 130.
  [8]杨浩. C语言入门经典[M]. 清华大学出版社: 北京, 2013: 1.
  [9]庞书伟, 江世明. 基于AT89C51单片机的电子密码锁设计[J]. 探索与观察, 2019(19): 047.
转载注明来源:https://www.xzbu.com/8/view-15374139.htm