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

龙源期刊网 http://www.qikan.com.cn

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

作者:李凯丽 樊建强

来源:《中国新通信》2016年第22期

【摘要】 本论文采用AT89S51单片机作为主控芯片,密码程序采用C51语言实现,使用3-8译码器和数码管相互结合实现密码显示。数码管以“-”实时显示当前输入密码个数。密码输入正确正常显示,表示密码正确指示灯亮;密码输入错误时,表示密码错误指示灯亮,继而蜂鸣器发出警报声进行报警。

【关键词】 AT89S51单片机 C51语言 3-8译码器 数码管 引言

传统锁在安全方面有很多隐患,为了保证人们的生命财产安全,提高锁的安全等级非常必要,现如今越来越多的人开始应用安全信息系统,在财产安全、隐私保护、机密保护等方面的需求非常迫切。

在此我们研究了电子密码锁,电子密码锁种类繁多,既有简单的电路控制产品,又有复杂基于芯片的控制部分和外围电路部分、机械部分等性价比高的产品。随着电子技术的更新换代,电子锁具的发展也异常迅速[1],我们可以结合各种电子密码锁开锁信息,对研究电子密码锁产品的多样化发展具有非常重大的意义。 一、设计方案选择

电子密码锁设计的主控芯片使用单片机,硬件电路还包括数码管显示模块、声光报警模块、键盘扫描模块等,为了能够将电子锁的相关作用充分发挥出来,需要实现以下功能。 (1)使用数字键盘实现密码输入。当按键顺序与设计值相符合,并且字符数相等时,可以将锁打开。

(2)键盘锁定和报警。首次密码输入错误,数码管显示错误提示,密码输入次数超过 设定次数,蜂鸣器报警的同时锁定键盘。

(3)输入密码功能。当按下一位数字键时,最右边的数码管显示一个“-”,同时将已 经输入的所有“-”依次向左移动一位。

(4)清除密码功能。按下清除键时清除输入的所有值并清除所有显示。

龙源期刊网 http://www.qikan.com.cn

二、基于51单片机的电子密码锁硬件电路设计

通过对电子密码锁进行研究,在此选择AT89S51 单片机作为主控模块、使用4×4 键盘输入密码、采用74LS47、74LS138 和三极管设计显示模块与声光报警模块。电子密码锁的硬件电路设计系统框图如图1所示。

基于51单片机的电子密码锁硬件电路主要利用键盘对各个模块进行扫描,在完成数据显示同时也能对密码进行修改,通过扫描相应模块来完成输入工作。在完成输入工作后,显示模块能够为我们提供所需数据,然后利用声光报警系统对密码输入情况进行判别:红灯为正确;绿灯及声音为错误。本文所设计的基于51单片机的电子密码锁硬件电路包括四部分,分别为扫描模块、控制模块、显示模块以及报警系统。 2.1键盘扫描模块电路设计

扫描模块主要是对键盘扫描模块电路进行设计,通过4×4 扫描键盘对按键及按键位置进行判别。在按键后,按键位置的行线及列线能够接头,使得开关之间接通。在电路中扫描到按键后,及时对其使用软件进行抖动,利用软件计算时间的延迟,进而得以错过抖动时间,完成输入。

2.2单片机控制模块电路设计

控制部分选择AT89S51单片机控制模块来完成,单片机能够在该系统中完成显示、报警等一系列的功能,采用的芯片属于直插式的集成电路[2],有4 个八位的并行双向I/O 端口,分别记作P0、P1、P2、P3。第20 引脚为接地端;第40引脚为电源端;第31 引脚通过接高电位来选择合理的存储设施;第18、19 脚处连接晶振(工作频率为12MHz),其主要作用是产生时钟信号;第9 脚为复位脚,该处接通高电位时,能够中断单片机的运行状态。P0 口连接的是声光报警器, P2 口连接译码器通过动态扫描来实现数码管的驱动,该译码器可以同时驱动

龙源期刊网 http://www.qikan.com.cn

六个数码管,P1 口与16 个阵列式按键相连实现对键盘的扫描。我们利用编程来实现数码管的驱动及数据显示,然后,在设置相关的一些指令来实现数码管的动态显示及报警提示等[3]。 2.3声光报警模块电路设计

当按下开锁指令后,数码管会显示相应的数组,当数字相等指示灯颜色显示绿色,输入正确;反之,数值与密码不符,指示灯颜色显示红色,并且会触发蜂鸣器的反应。 2.4数码显示模块电路设计

图2是数码显示模块,它包括74LS47、74LS138两个译码器及6个8段数码显示管。系统中的数据由编码器传送,然后该数据会分别由两个不同的译码器进行译码,再利用显示管将数据分别显示出来[4]。

在该系统设计当中,P2口低4位连接74LS47译码器,然后根据译码器的属性选择数码管,在此选择共阳极数码管类型的七段译码器。AT89S51通过不同接口输出的相应数据[5],在经过译码器处理后能显示出不同数字,需要注意的是,译码器与数码管之间还应当设置限流电阻,避免电流过大时数码管出现损坏现象。P2.4-P2.6 口接于74LS138译码器的三个输入端,这个译码器的输出端连接在公共极上,利用三极管与数码管来实现。然后根据不同端口输出量对译码器进行控制,通过译码器点亮相应的数码管,三极管在该系统中能起到控制的功能,通过芯片来对数码管进行动态的扫描显示。 三、系统软件部分设计

电子密码锁系统中密码程序使用Keil uVision4软件进行程序编写,电路采用Proteus Professional V7.5 SP3进行仿真。

具体操作流程如下,通过扫描键盘对系统中的各项功能进行控制,对于系统的初始密码设置来说,我们可以利用数码管来完成显示,然后通过按键进行输入,并且在键盘中,我们还可以设置3个按键来对密码进行修改、显示以及开锁功能进行操作[6]。当操作人员按下开锁按钮以后,数码管的显示数值同设计值相同时,绿灯亮;反之,红灯亮,蜂鸣器发出声响,触动报警装置。

当单片机复位以后,系统会启动初始化,将初始密码存放到设定的几个单元当中(40H~45H),然后重新选择六个单元(30H~35)存储数码管的数据,在设置完成后,系统开始自检,当自检完成以后启动扫描程序,对键盘开始扫描,当键盘中的按键触发相应程序后,能够将后设置的密码数据显示到数码管中。数码管显示完成后可以重复启动子程序扫描键盘,该过程循环进行。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4