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

更新时间:2023-08-21 06:37:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第24卷第4期

2009年8月成 都 信 息 工 程 学 院 学 报JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYVol.24No.4Aug.2009文章编号:167121742(2009)0420341205

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

周 鑫, 何建新, 刘 琥

(成都信息工程学院电子工程学院,四川成都610225)

摘要:设计以AT89S51单片机为核心器件,结合按键电路、LED数码管显示电路、存储电路、报警指示电路和

开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现

电子密码锁的基本功能。系统能实现密码的输入、清除、显示,限时输入完整密码,,超时报警,超位

报警,密码错误次数超次锁定键盘,,,具有一定

的实用价值。

关 键 词:单片机;电子密码锁;扫描

中图分类号:TP309.1      1 引言

,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。这种应用以单片机或FPGA芯片为核心,通过编程来实现整体基本功能和安全性要求。

2 电子密码锁系统设计

211 电子密码锁功能简述

用户通过键盘输入密码,确认后系统调用密码比较判断函数,如果密码在规定的时间内输入正确,单片机输出开门信号开锁。如果在规定的时间内没完成密码的输入,系统自动清除所输入的密码,并提示重新输入。用户发现输入错误时,可以清除重输。密码输入后,通过验证和多位校验后,如果密码错误则启动报警系统,当密码错误次数达到3次时,系统将锁定键盘一段时间,时间到后系统自动启动键盘输入。初始密码由系统设定,用户可根据自己的要求设定密码,修改密码时需要首先匹配旧密码,如果输入旧密码错误则系统报警并自动退出密码修改状态。旧密码正确则可以输入新密码,新密码的输入需要两次对比确认。系统设定密码为6位,当输入新密码不为6位或两次输入的新密码不一致时密码修改失败,系统报警并自动退出密码修改状态。如果输入的新密码为6位且两次输入的新密码一致则修改密码成功。

212 系统硬件设计

系统以AT89S51单片机为核心来控制密码锁的密码输入,密码显示,密码比较判断,开锁,报警指示以及密码的存储等功能。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不仅能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1所示。

系统的设计包括硬件和软件两大部分。其中硬件部分主要由以下几个模块组成:

单片机系统:该部分主要是使单片机能稳定工作,来控制整个系统实现密码锁的功能。

开锁电路:系统中采用单片机输出开锁信号驱动电磁锁驱动电路直接开电磁锁的方式,同时开锁也可以通过红外遥控的方式来控制。

收稿日期:2008211217;修订日期:2008212229

342成 都 信 息 工 程 学 院 学 报           第24卷按键电路:采用行列式矩阵键盘作为密码输入按键,可以节约单片机的输入/输出端口减少硬件的复杂程度。

显示电路:由于液晶显示器价格昂贵,而且显示部

分不是本系统的重要部分,因此采用LED数码管作为

显示器件。

存储电路:选用I2C总线器件作为存储器件,占用

的单片机端口少,而且存储信息有效期长,硬件电路简 单,成本也较低。

报警指示电路:选用LED灯作为报警指示电路,其

硬件电路简单,成本低能比较直观地起到报警指示作

用。报警指示可以采用蜂鸣器、语音芯片等。

21211 

单片机及显示系统图1 图2 单片机及显示电路原理图

如图2所示,单片机为整个系统的核心,要保证系统的稳定和出错后的恢复,一定要考虑设置复位电路和合理的振荡电路。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以退外部时钟信号的占空比没有特殊的要求,最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。在振荡电路中采用12M石英晶体和20PF电容做振荡电路。

单片机作为主控芯片,其主要作用是控制各个外围电路的协调工作,其主要功能是通过软件实现的,该部分内容在软件设计中详细讲解。

显示电路采用最常用的LED数码管有足够的亮度,耗电与发热均

很少,并可在单一+5V电源下工作。软件译码是将各数码管的笔划信

息构成一个表格预存于内存,以后根据要显示的每一数码执行一段查

表程序,查得相应笔划信息再送数码管显示。硬件译码采用CD4511、

74LS46、74LS47、74LS48等BCD码7段锁存、译码、驱动芯片直接译出 

笔划信息。结合实际显示需求,系统采用两个4位LED共阴数码管组

成的8位LED数码管(其中前两位在系统上电工作时显示“P—”提示用

户输入密码,后6位用来对应显示用户输入的6位密码)来动态显示用图3 密码锁开锁机构示意图

户输入的密码信息。译码采用软件译码方式。

21212 电子锁电路

电子锁电路中最重要的部分就是开锁机构电路,通过单片机送给开锁执行机构电路,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图3所示。

当用户输入的密码正确而且是在规定的时间(10S)输入的话,单片机便输出开门信号,送到开锁驱动电路,

第4期          周鑫等:基于单片机的电子密码锁控制电路设计

然后驱动电磁锁,达到开门的目的。其实际电路如图4所示

。343

 

图4 

图5 存储电路

。由D1、R1、T1组成驱动电路,其中T1可以选择普通的小功率三极管如9014、9018,D1作为开锁的提示。由D2、C、T2组成执行开锁电路,其中D2、C是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰从而起到保护电路的作用。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。当单片机输入开门信号时驱动电路T1导通从而D1发光提示开锁,同时驱动T2,T2导通执行开锁。

21213 存储电路设计

存储电路主要作用是存储密码,提供校验

码以在密码判定的时候作为密码安全性的一

道屏障。

存储电路如图5所示,采用ATMEL公司

推出的容量为512KB的串行电可擦除、可编

程存储芯片AT24C512设计,传输方式为I2C

总线。这样设计的优点在其简单性和处理的

高效性上。一般A0、A1、WP接VCC或

GND,SCL、SDA接上拉电阻(上拉电阻的阻值

可参考有关数据手册选择,通常可选5K到 

10K的电阻,设计中选用的电阻阻值为10K)

后再接单片机的普通I/O口,即可实现单片机

对AT24C512的操作。在对AT24C512开始

操作前,需要先发一个8位的地址字来选择芯

片以进行读写。其中要注意“10100”为

AT24C512固定的前5位二进制;A0、A1用于

对多个AT24C512加以区分;R/W为读写操

作位,为1时表示读操作,为0时表示写操作。

AT24C512内部有512页,每一页为128字图6 软件流程图

节,任一单元的地址为16位,地址范围为

344

0000~0FFFFH。

213 系统软件设计成 都 信 息 工 程 学 院 学 报           第24卷

系统软件流程图如图6所示,在整个软件设计流程中,键盘扫描及识别,密码校验和定时器程序比较重要。键盘扫描电路中,扫描键盘时采用逐列扫描的方式,依次对1、2、3、4列按键循环扫描(P3口低四位连接键盘的行线,高四位连接键盘的列线)。扫描时先对单片机P3口赋0xff,同时对与要扫描那列按键相连的单片机端口赋低电平,再将P3口的值与0x0f相与使低四位有效,如果按键被按下则与被按下那个按键相连接的单片机端口的电平将被拉到低电平,通过判断P3口的值就可以判断出是哪个按键被按下。需要注意的是,在键盘扫描软件设计中,一定要有毛刺消除的功能,否则按键按下的响应会受到较大的影响。不同按键赋不同的值来执行相应的操作的。

密码校验的设立主要是从安全性的角度考虑的,址并读出改地址对应的内容,,片内的密码很容易被破解,如果加上密码校验位,。,通过多位同或运算或其它更复杂的运算,将整,,每次设定密码,在存储密码的,同时进行密码校验,这样就相当于加入了两级密码保护,提高了安全性,同时,即使普通密码被盗取,但校验运算方式不公开,也是不能直接打开电子密码锁的。

其处理关系程序中简单体现如下:

if(KeyCount!=pwlen)  //密码位数不为6位

{ErrorFlag=1;

 RightfFag=0;}else

{for(i=0;i<6;i++)

{if(getpw[i]!=pw[i])  //逐位比较用户输入密码和系统密码

 {ErrorFlag=1; RightfFag=0;break;//如果某位不一致则结束循环不再做后续比较}……

定时器是保证限时输入密码和键盘锁定。定时器0中断的作用是给系统锁定键盘定时,当用户三次错误输入密码后启动定时器0,通过定时器0中断函数判断是否到定时时间,到了就停止定时器0并解除键盘锁定。定时器1中断的作用是限时输入密码,当用户第一位输入密码后启动定时器,通过定时器1中断函数判断是否到定时时间,到了就停止定时器1并清除输入的密码。其中定时器0中断主要处理程序如下:

m++;

if(m==100000) //判断定时时间(10000个定时器0的定时时间)是否到

 {TR0=0; //系统锁定时间到停止定时器0

m=0;

KeyerrorTimes=0; //密码错误次数标志置0

TimesoverFlag=0; //时间溢出标志置0

 }……

3 结束语

系统主要通过软件程序来控制硬件电路实现一些基本的电子密码锁的功能,具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有比较强的实用性。但是,从安全性角度考虑,本型电子安全密码锁系统在后续执行器的接口点上,存在着“单点失效”

第4期          周鑫等:基于单片机的电子密码锁控制电路设计345的安全性隐患,也就是有可能从该点旁路电子安全密码锁。对此,在实际应用时,应根据具体情况,采取相应的措施。另外在密码管理权限方便可以设置两级权限,普通用户和管理员身份,分别给它们设置不同的权限使其安全性更高。

参考文献:

[1] 赵益丹,徐晓林,周振峰.电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,15(1):103-

105.

[2] 董继成.一种新型安全的单片机密码锁[J].电子技术应用,2004,(3):58-[3] 王金国.采用单片机的电子密码锁控制电路[J].)[4] 宁爱民.应用AT89C2051单片机设计电子密码锁[J].,12(2):29-31.

[5] 丁元杰.单片微机原理及应用[M].北京:2lockcontrollerbasedonSCM

ZHOUXin, HEJian2xin, LIUHu

(SchoolofElectronicEngineering,CUIT,Chengdu610225,China)

Abstract:Combinedwiththepressedkeycircuit,LEDdigitaldisplaycircuit,storagecircuit,alarminstructioncircuitandunlockmachinethedesigntakestheSCMofAT89551asthecorecomponenttocontroltheentiresystemachiev2ingthebasicfunctionsoftheelectroniccipherlockthroughthesoftwareprogramwithit’sflexibleprogrammingde2sign,richI/Oportandcontrolaccuracy.Thissystemhasthefollowingfunctions:passwordinput,clearanddisplay,enterthefullpasswordintime,unlockwhenthepasswordiscorrect,alarmwhenthetimeenterpasswordisover,alarmwhenthepassworddigitisover,lockthekeyboardwhenthewrongenterpasswordtimesisover,settheinitialpasswordbysystemandusercanchangepassword.

Keywords:singlechipmicyoco;electro2lock;keyboardscan

本文来源:https://www.bwwdw.com/article/1eyi.html

Top