曹元元 基于单片机控制的电子密码锁设计副本.docx

上传人:b****6 文档编号:7200626 上传时间:2023-01-21 格式:DOCX 页数:51 大小:909KB
下载 相关 举报
曹元元 基于单片机控制的电子密码锁设计副本.docx_第1页
第1页 / 共51页
曹元元 基于单片机控制的电子密码锁设计副本.docx_第2页
第2页 / 共51页
曹元元 基于单片机控制的电子密码锁设计副本.docx_第3页
第3页 / 共51页
曹元元 基于单片机控制的电子密码锁设计副本.docx_第4页
第4页 / 共51页
曹元元 基于单片机控制的电子密码锁设计副本.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

曹元元 基于单片机控制的电子密码锁设计副本.docx

《曹元元 基于单片机控制的电子密码锁设计副本.docx》由会员分享,可在线阅读,更多相关《曹元元 基于单片机控制的电子密码锁设计副本.docx(51页珍藏版)》请在冰豆网上搜索。

曹元元 基于单片机控制的电子密码锁设计副本.docx

曹元元基于单片机控制的电子密码锁设计副本

本科毕业论文(设计、创作)

题目:

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

Electroniclockcontrolled

baseonsinglechipmicrocomputer

学生姓名:

曹元元学号:

0802127

所在院系:

电子信息与通信技术系专业:

电子信息工程

入学时间:

2008年9月

导师姓名:

刘同怀李菊芳职称/学位:

教授助教

导师所在单位:

安徽三联学院

完成时间:

2012年5月

 

安徽三联学院教务处制

摘要

现在电子产品向智能化和微型化的不断发展,人们对安全性能要求越来越高。

传统的机械锁由于它的内部构造简单,安全性能低,并不能满足现在人们的需求,且机械锁被撬导致被盗的事件让人痛苦不堪。

单片机已经在家电领域中有了广泛的应用,系统采用美国Atmel公司的AT89S51单片机作为系统核心,液晶显示器LCD1602作为输出设备显示系统提示信息,4*4矩阵薄膜键盘作为输入设备,CMOS串行E2PROM存储器AT24C02作为数据存储器,配合蜂鸣器、继电器等电路构成整个系统硬件,主要功能有开锁、修改密码、掉电密码锁存储、报警功能等【2】。

对本课题的构思方案采用AT89S51为核心的单片机,主要是由于它能防止多次试探而不被破译来有效的克服现实生活中许多缺点。

关键词:

密码锁、AT89S51、显示器LCD1602、存储器AT24C02

 

Abstract

Nowelectronicproductminiaturizationtotheintelligentandcontinuousdevelopment,peopleincreasinglyhighperformancerequirementsofsafety.Thetraditionalmechanicallockbecauseofitssimpleinternalstructure,lowsafetyproperty,andcannotmeetthepresentneedsofthepeople,andthemechanicallockprizingleadstoleneventsofagonizing.

SCMhasbeeninthefieldofhomeappliancehaswideapplication,systemusestheAmericanAtmelcompanyAT89S51MCUasthecoresystem,liquidcrystaldisplayLCD1602asoutputdevicetodisplaysystemmessage,4*4matrixkeyboardasaninputdevice,aCMOSserialE2PROMmemoryAT24C02asdatastorage,withabuzzer,relaycircuithardwareofthewholesystemthemainfunctionofthelock,modifypasswords,power-down,passwordlockstorage,alarmfunction.

OnthesubjectofdesignschemebasedonAT89S51single-chip,mainlybecauseitcanpreventmanytemptationsandnotbedecipheredtoeffectivelyovercomeinthereallifemanyshortcomings.

Keywords:

passwordlock,AT89S51,LCD1602,AT24C02displaymemory

 

 

前言

生活在现在的我们越来越多的东西需要保护,对我们的保护工具我们的要求也越来越高。

假如使用传统的机械式钥匙开锁,人们需携带多把钥匙,使用太不方便了,并且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中安全性能要求越来越高。

为满足人们对锁的使用要求,用数字密码代替钥匙的密码出现了。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术方面,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,解决了机械式密码锁的密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步【1】。

随着人们对安全的重视,许多电子智能锁已在国内外相继面世。

但很多产品都是指纹和IC开锁的,只适用于保密要求的箱、柜等。

而且假如指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等不便。

加上其成本较高,一定程度上限制了这类产品的普及。

鉴于目前的技术水平与市场的接收程度,我认为电子密码锁是这类电子防盗产品的主流。

电子密码锁可以用单片机做也可以用数字电路做,两者相比较而言,由于单片机具有灵活的编程能力和丰富的I/O端口,及其控制的准确性,不但能实现所要求的功能而且有很大程度的扩展功能,能方便的对系统进行升级,基于以上思路,本次设计使用ATMEL公司的AT89S51实现基于单片机的电子密码锁的设计。

1.1电子密码锁发展趋势

电子锁的研究是从上世纪30年代就开始了,在某些特殊场所早就有所用。

研究这种锁的初衷,是提高锁具的安全性,因为电子锁的密码量(可设置的密码数)很大,避免因钥匙被仿制而出现的问题。

在安全性极高的前题下,它的另一个特点——无需钥匙被越来越多的人所欣赏。

现代生活对安全方便的要求使得钥匙必须从有形到无形,由于安全的要求密码量多的电子密码锁将代替单一的机械锁。

到了20世纪80年代,后电子产品兴起大量的微型电子密码锁一步步代替老式机械锁,但始终没有大众化使用,我认为的原因可能有如下几点:

1.密码锁结构比较复杂,出现故障很难修。

因为密码锁本身是一种机械卡阻机构,最终还是要靠机械动作来完成。

而电子锁必须完成机械动作(操作)———电子识别转换和电子控制———机械执行这一系列过程,显然是复杂一些。

电子元件还会随着使用而老化。

这些都增加故障机率,而电子锁一旦损坏了就会拒人于门外。

绝大部分电子锁都为此增加了备用开锁手段,无疑又降低了安全性。

尽管随着元器件的质量提高了故障率大大降低,但备用开锁手段很少有取消的。

2.运行环境需要严格要求。

电子器件怕潮湿,怕强磁电,怕强震动,使它对使用环境有一定要求。

电子锁使用还需要充足的电力供应。

早期的电子锁耗电较多,一般用市电。

现在的集成电路电子锁耗电少,一节钮扣电池就可以维持控制部分的工作,但驱动电磁铁或马达却需要大一些的电池。

3.当时使用比较复杂。

比如键盘式电子密码在键盘上输入,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。

但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,造成保密性不足。

当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。

随着现代科技的发展,推动了电子锁技术发展并不断的提高电子锁的实用和安全性等【2】。

1.2设计的意义与目标

1.2.1设计的意义

密码锁具有安全性高、成本低、功耗低、易操作等优点,会被广大用户采纳,来作为保护自己隐私的工具。

也由于对密码锁的设计能让我更了解其功能,每个功能的工作情况,还有对其些主要芯片的了解和认识。

1.2.2设计的目标

①“密码可任意设定”技术使得使用人可以根据自己的需要或高兴设定密码;②“自动更改密码”技术使得密码不断变化,主要更改的规律不为他人所知;③“多重密码设定”技术使得单一密码不一定适用,当密码忘记时可通过另外一组密码打开密码锁,解决只有打开锁才能修改密码问题,以此来修改密码。

本设计目标有两种情况可报警:

一是密码输入错误3次或3次以上,则报警;二是非正常开门,例如有人用不正当手段开门,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。

系统工作时,用户通过按键输入规定的几位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有设定的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。

第二章系统的思路设计

2.1系统的整体框图

本篇论文主要由AT89S51单片机、矩阵键盘、液晶显示器和密码存储等部分组成,其中矩阵键盘用于输入数字密码和进行各种功能的实现【5】,如图(图2-1)所示。

用户通过矩阵键盘输入密码,经过单片机对用户输入的密码与自己保存的密码进行对比,判断密码是否正确,从而控制单片机引脚的高低电平实现开锁、上锁、修改密码、报警等功能。

图2-1电子密码锁整体框图

2.2设计理念

系统工作思路分析:

使用AT59S51单片机、4×4矩阵键盘、LED、发声器等。

矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、CLR、EN、MODIFY。

系统由液晶显示器1602显示,每按次键盘会有一个规定显示,并且发声器会发出声音,若连续3次输入不正确,则发出警报声同时锁定键盘【5】。

系统中CLR键用于退格,在输入密码时,若输入错误且未按下Enter键,按下CLR可以删除刚输入的密码,然后再次输入。

为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。

3.1主控芯片AT89S51

3.1.1芯片AT89S51简介

本论文主要选用AT89S51做为主控芯片。

AT89S51具有如下特点:

共有40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

另外,AT89S51振荡频率可为0Hz并可通过软件设置省电模式。

空闲状态下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式仍可以保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,可以适应很多产品需求。

3.1.2AT89S51引脚介绍与实物

下图(图3-1)为DIP封装AT89S51芯片引脚图

图3-1AT89S51芯片引脚图

它有40个管脚,分成两排,每一排各有20个脚,其中左上方为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚

VCC:

供电电压。

%K7bc5A4O4B7Gg"d1XGND:

接地。

优领域-电子领域oH&kBNg

 

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

优领域-电子领域j;vrE0z&d:

f

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。

优领域-电子领域0aR&BX#Ty4OaH

 

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

N;TD!

Qf{\]"O%v'y0_lgp3L1Z;K0P3口也可作为AT89S51的一些特殊功能口,

优领域-电子领域$fK_[0mM.v/DnI

管脚备选功能:

优领域-电子领域;mQCPyo"R]~

P3.0RXD(串行输入口)

优领域-电子领域%Vtq$ZOtR7E-ok$_J"、

P3.1TXD(串行输出口)

优领域-电子领域.aAi}&meP3.2

(外部中断0)

VhulpAh8i^qx0P3.3

(外部中断1)

优领域-电子领域x8SO1PL0jP3.4T0(记时器0外部输入)

9H'H.m%G#e8`J*QK7L0P3.5T1(记时器1外部输入)

优领域-电子领域ZJ_~/MAKP3.6

(外部数据存储器写选通)

r+e!

yo+iq_H0P3.7

(外部数据存储器读选通)

m$Z$w#f(GUa#t@0P3口同时为闪烁编程和编程校验接收一些控制信号。

0aO?

/he0RST:

复位输入。

外部程序存储器的选通信号。

/VPP:

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

优领域-电子领域"_`,wFF'_yXTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

优领域-电子领域^B_.q(d2JKXTAL2:

来自反向振荡器的输出【10】。

下图(图3-2)为实物图

优领域-电子领域g-Xl_z~X.i

图3-2芯片AT89S51实物图

3.2显示模块

为提高密码锁的密码显示效果能力。

本论文的显示部分由液晶显示器LCD1602取代普通的数码管来完成。

接通电源后显示器处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。

当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“correct”,电子密码锁被打开;如果密码不正确,LCD显示屏会显示“error”,电子密码锁不能被打开【5】。

通过LCD显示屏,可以清楚的判断出锁所处的状态。

1602显示器接口说明如下表1

表1

电路图如下图(图3-3)所示:

图3-3液晶显示LCD1602电路连接图

3.3键盘输入模块

本键盘主要是矩阵式按键,行列式矩阵解决了多个按键单片机接口少问题。

另外6个功能键分别是:

CLR、EN、S3、S4、S5、S6。

其中CLR键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。

EN键的功能是确认输入的密码。

S3是管理模式切换键,当用户不小心三次输入密码都没有正确,键盘被锁定,这个时候就可以启动管理模式,使用管理员的密码来开门。

S4是用来进入修改密码的状态。

S5用来关闭显示器,一来可以节省电量,另外也可以防止不法分子偷窥密码。

S6用作电铃输入键。

按键电路连接图如下图(图3-4)

图3-4密码锁按键电路连接图

3.4密码断电存储保护模块

3.4.1主控芯片AT24C02介绍

AT24C02是美国Atmel公司生产的一个2K位串行CMOSE2PROM,它有一个16字节页写缓冲器,是一个2K位串行CMOSE2PRO,M内部含有256个8位字节。

具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。

该器件可以通过接口

,做专门的写保护的功能。

总线是一种用于IC器件之间连接的二线制总线。

他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。

AT24C02正是运用了

规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。

主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。

无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。

AT24C02中带有的片内地址寄存器。

每次写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。

所有字节均以单一操作方式读取。

为降低总的写入时间,一次操作可写入多达8个字节的数据写入。

AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。

管脚中A0、A1、A2是器件地址输入端,这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。

当使用AT24C02时最大可级联8个器件。

如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。

SCL是串行时钟,AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。

SDA是串行数据/地址AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或。

WP是写保护管脚,如果WP管脚连接到Vcc,所有的内容都被写保护只能读。

当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。

Vcc是接电源管脚,vss是电源地管脚【12】。

3.4.2芯片AT24C02引脚图与电路连接图

图3-5AT24C02两种引脚图

图3-6AT24C02电路接线图

3.5发声模块

发生模块部分由陶瓷压电发声装置及外围电路组成,加电时不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P3.4引脚为低电平,三极管Q1导通蜂鸣器发出噪鸣声报警。

如下图(图3-7)所示:

图3-7蜂鸣器电路连接图

3.6系统晶振模块

AT89S51的两个引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按下图(图3-8)所示方式连接。

晶振、电容C1/C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C1、C2取值范围在5~30pF之间。

根据实际情况,本设计中采用12MHZ做为系统的外部晶振。

电容取值为20pF。

图3-8密码锁晶振电路连接图

3.7开锁模块

开锁控制电路的功能是当输入正确的密码后将锁打开。

系统使用单片机P3.6一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。

用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。

只有用户操作键盘时,单片机的电源端才能得到3V电源,否则.单片机处于节电工作方式。

开锁步骤如下:

首先按下键盘上的开锁按键,然后利用键盘上的数字键0-9输入密码,最后按下确认键。

当用户输入一密码后,单片机自动识码,如果识码与原存入的密码不符,不开门。

只有当识码正确,单片机才能控制电子锁内的微型继电器工作。

当继电器工作来完成本次开锁。

开锁以后,单片机自动清除掉由用户输人的这个密码。

在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。

当P3.6口输出低电平时,二极管发光,表示开锁【14】。

开锁电路连接图如下图(3-9)

图3-9开锁电路连接图

3.8电路复位模块

要达到整个电路的稳定有效的工作,复位电路在整个系统中是不可缺少的。

不管是什么单片机,都应该为用户设计这位的功能,主要是为了防止单片机在高温、强磁场等一系列强的干扰环境下卡死,能恢复初始状态正常工作。

系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。

为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防止复位开关闭合过程中引起的抖动而影响复位。

该电路在最基本的复位电路基础上增加了一个手动复位开关,当人为按下按钮时,则Vcc的高电平就会直接加到RST端。

由于人的动作再快也会使按钮保持接通达数十毫秒,所以完全能够满足复位的时间要求。

下图(图3-10)为电路原理图

图3-10密码锁复位电路连接图

第四章系统的软件设计

本系统软件设计由主程序、初始化程序、LED程序、键盘扫描及识别子程序、密码设置程序、EEPROM读写程序和延时程序等组成。

4.1主程序流程图

程序开始与复位是一体的两个同时进行,然后在键盘上输入密码,密码正确,开锁成功,密码错误3次出错报警,正确后选择是否修改密码。

若要修改密码,先输入旧密码,密码正确后才能设置新密码,错误时报警,需要两次确认新密码。

确认后,密码修改成功,否则结束最终返回。

然后启动程序,进行保护,再次在键盘上输入密码,系统再次进行扫描,如果和之前一样,则执行相同程序。

若不是执行另一个程序。

流程图如下(图4-1)

图4-1主程序流程图

4.2按键设计

4.2.1按键流程图

在按键中有与输入、开锁、清除、设置、确认相对应按键,并按顺序与输入的数相比较。

当输入正确时,进入密码程序,错误时,进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。

如下图(图4-2)

图4-2按键流程图

4.2.2按键消抖电路

由于当矩阵键盘按下的时候,会产生抖动原因,所以键盘电路中要用到除去抖动处理。

按键闭合与断开过程中会有机械弹性,所以按键闭合式不会马上稳定接通,按键断开时也不会马上断开,是由于按键闭合与断开的瞬间过程中会产生抖动电压。

简单示意图如下图(图4-3)。

按键按下的抖动时间一般是5-10ms,抖动是由于电压的抖动,单片机CPU会对该操作多次运行,从而会产生错误的指令。

所以必须要消除这都抖动的5-10ms,才能得到正确的按键闭合与断开的稳定状态。

现在的主流去抖方法有硬件去抖和软件去抖两种:

1硬件去抖是外加个硬件电路,例如可以通过加个RS触发器实现硬件去抖。

2软件去抖在第一次检测到键盘按下的时候,执行一段10ms的延迟子程序后再确认该键是否确实被按下了,躲过抖动,等到信号稳定后,再进行键扫描。

我这设计采用软件方法。

图4-3按键消抖示意图

4.3密码设置

如下图为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计三次进行报警程序。

如输入正确,可以修改密码,确认后再次输入新密码如两次输入一样,则更改成功。

如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。

如下图(图4-4)

图4-4密码设置流程图

4.4开锁软件设计

如下图(图4-5)为开锁流程图开始时按开锁键,输入密码,如果输入正确,则开锁成功。

如果输入错误累计达到三次,则执行报警程序。

优领域-电子领域9c9q?

$r__tX

图4-5密码锁开锁流程图

4.5系统的声音设计

本设计声音这部分主要是键盘扫描是否有键按下,每按次键会发一声短暂的声音。

还有当密码输入错误次数大于3次会自动启动报警程序发出报警。

流程图如下图(图4-6)

图4-6系统声音流程图

 

第五章结论

本设计主要是从经济实用的角度出发,采用了美国Atmel公司的单片机AT89S51与低功耗E2PROMAT24C02作为主控芯片与数据存储器单元,并结合了外围的键盘输入、液晶显示、报警、开锁等电路并用汇编语言来编写主控芯片的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。

设计完全可行可以达到设计目的【15】。

使用单片机AT89S51制作的电子密码锁具有软件与硬件设计简单,便于开发,成本也比较低,安全可靠,操作方便等优点,本论文主要是由软硬件相结合来完成设计。

论文中我在开锁部分遇到了点麻烦,用了发光二极管代替了机械开锁部分,硬件部分主要用proteus软件画出原理图,软件部分主要用word软件画出流程图。

本电路设计具有按键有效提示,输入错误提示,开锁控制电路,控制报警电路,修改密码等多种功能。

可在意外泄密的情况下随时修改密码。

保密性强,灵活性高,尤其比较适用于家庭、宾馆、办公室、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1