基于51单片机电子密码锁的课程设计.docx

上传人:b****8 文档编号:11274794 上传时间:2023-02-26 格式:DOCX 页数:66 大小:511.54KB
下载 相关 举报
基于51单片机电子密码锁的课程设计.docx_第1页
第1页 / 共66页
基于51单片机电子密码锁的课程设计.docx_第2页
第2页 / 共66页
基于51单片机电子密码锁的课程设计.docx_第3页
第3页 / 共66页
基于51单片机电子密码锁的课程设计.docx_第4页
第4页 / 共66页
基于51单片机电子密码锁的课程设计.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

基于51单片机电子密码锁的课程设计.docx

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

基于51单片机电子密码锁的课程设计.docx

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

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

摘要

随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E²PROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。

它能完成以下功能:

正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。

用C语言编写的主控芯片控制程序与EEPROMAT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。

本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。

 

关键词:

电子密码锁;报警;液晶显示

朗读

显示对应的拉丁字符的拼音

 

DesignofElectricPasswordLockBasedonMCU

Abstract

Aspeople'slivingstandardsimprove,thequestionhowtoachievehomesecurityhasbecomeparticularlyprominent.Inscienceandtechnologyisdevelopingcontinuously,electroniccodelockasasecurityguard'sroleisincreasinglyimportant.

Thisarticlefromtheeconomicalpointofview,thesystembytheSTC89C52withlowpowerCMOSbasedE²PROMAT24C02asthemasterchipandthedatamemoryunit,combinedwiththeexternalkeyboard,LCDdisplay,alarm,unlockandothercircuitmodules.Itperformsthefollowingfunctions:

enterthepasswordcorrectlyunderthepremiseofunlocking;wrongpasswordcasethealarm;passwordcanbechangedaccordingtouserneeds.MasterinClanguagecontrolprogramandEEPROMAT24C02chiptoreadandwriteprocessarecombinedandcompiledwiththeKeilsoftware,designedanumberyoucanchangethepassword,thepasswordwithanelectronicalarmcontrolsystem.

Thelockhasareasonabledesign,simple,lowcost,safeandpractical,confidentiality,flexibility,andhigh,withsomepromotionalvalue.

 

KeyWords:

ElectricPasswordlock;Alarm;LCDDisplay

 

 

 

插图清单

表格清单

 

引言

在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。

机械锁的这些弊端为一种新型的锁——电子密码锁,提供了很大的发展空间。

从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。

但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。

而且指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。

鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。

电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。

现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。

其性能和安全性已大大超过了机械锁。

本次毕业论文主要分为两大模块,一是硬件系统电路部分,另一个是用C语言编写的软件程序部分,基本能完成电子密码锁的开锁、修改密码、密码错误报警等主要功能,成本低,可靠性高,具有很好的市场应用价值。

 

第1章绪论

1.1电子密码锁的背景与研究意义

在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。

机械锁的这些弊端为一种新型的锁——电子密码锁,提供了很大的发展空间[1]。

本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共8位密码,每位的取值范围为1~8,用户可以自行设定和修改密码,每个密码按键都有声、光提示。

用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警十分钟,期间输入密码无效,以防窃贼多次试探密码。

八位密码同时输入正确,锁才能打开。

锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。

其特点如下:

1)保密性好,编码量多,远远大于弹子锁。

随机开锁成功率几乎为零。

2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。

3)误码输入保护,当输入密码多次错误时,报警系统自动启动。

4)无活动零件,不会磨损,寿命长。

5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

6)电子密码锁操作简单易行,一学即会。

1.2电子密码锁的现状及发展趋势

在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

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

在安全技术防范领域,随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性。

最早的锁,是主人为防他人开启而设的简单的机关,应用于门上最简单的锁就是门闩了。

我国古代有石锁,并无钥匙,是以绳索或铁链束缚。

商周时期出现了用钥匙才能开启的铜锁,铁锁,以钥匙的不同而匹配不同的锁。

随着科学技术的迅猛发展,机械锁也有了长足的发展。

现代机械锁具已有了一百多年的历史,锁芯里加入了长短不一的弹子,要外线用相应齿形的钥匙来打开。

以后,又发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。

如指纹、眼底视网膜等)来控制锁的开启。

我国锁的发展已绵延了数千年,中国锁具的发展,大体经历了初创期,发展期和繁荣期三个阶段。

初创期为新石器时代到夏商时期。

在我国母系社会后期(相当于公元前5000年--公元前2000年),因为当时社会生产力的提高,人类开始拥有个人的私有(少量)财产。

后来,随着私有制的发展,私人财富越来越多,为了保护财产和生命的安全,人类开始了对锁具的探索。

在最初,人类只是简单地把个人贵重财物用兽皮包起来外面用绳索牢牢捆缚,最后在开启处,打上特殊的紧紧捆死的绳结,只能用一个叫“错”的工具才能挑开。

错,又叫“肖”、“起子”。

它用兽牙或兽骨制成,形状像把镰刀状的钩子,实际上绳结就是最早的锁具,“肖”就是最早的钥匙,这就是我国锁具的雏形,一直从商代沿用到汉代。

到了距今5000年的仰韶文化时期,我们先民创造了装在木结构框架建筑上的木锁。

这是世界上迄今为止最古老的锁具,可称得上是“世界第一锁”。

[2]这种木锁一直在民间传承。

发展期为春秋战国经秦汉、魏晋、南北朝,直到隋唐宋元时期。

春秋时期进入铁器时代,考古证明,在这一时期人们大量的是使用铁锁、铜锁,还有银锁、鎏金锁等,其中有代表性的如西周的青铜锁、东汉的金属锁、唐代的虾尾银锁和宋代的方身锁等,都具有相当高的技术水平。

繁荣期为明清时期特别是汉代的铁制三簧锁,在我国前后沿用了1000多年。

各种材质的锁具同步发展,以铜锁、铁锁居多,工艺更加精巧,在开锁难度和外形制造上有很大的创新。

现代锁具,它的机械化生产,摆脱了过去我们用手工操作的束缚。

它不仅是能批量生产,满足人民生活的需要;同时,也充分运用了现代科学,创造了磁控锁、声控锁、遥控锁、远红外线锁、电子卡片锁、指纹锁、超声波锁、电磁波锁等绝妙精品,大大提高了防窃、防盗功能。

从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。

但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。

而且指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。

鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。

电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点[3]。

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

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

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

因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高[4]。

在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。

当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。

在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的[5]。

发展前境也是非常大的。

1.3本章小结

本章首先讲述了本文的选题来源及研究意义,然后讲述了电子密码锁在国内的发展过程及特点,最后叙述了当前电子密码锁的应用及发展前景。

 

 

第2章系统整体方案设计

2.1设计目标

本设计采用STC89C52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD1602和密码存储AT24C02等部分组成。

其中矩阵键盘用于输入数字密码和进行各种功能的实现。

由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统,能够实现:

1.完全正确输入八位密码的前提下,有开锁提示;

2.错误输入密码情况下,蜂鸣器报警;开锁密码错3次要报警10分钟,报警期间输入密码无效。

3.用户可以自行设定和修改密码;

4.只有内部上电复位时才能设置或修改密码。

系统整体设计框图如图2-1所示:

 

图2-1系统整体设计框图

2.2主控部分的选择

方案一:

采用数字电路控制

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合[4]。

采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。

方案二:

采用以单片机为核心的控制方案

选用单片机作为系统的核心部件,实现控制与处理的功能。

单片机具有资源丰富、速度快、编程容易等优点。

利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标[6]。

因此综合考虑,本系统采用方案二。

2.3密码输入方式的选择

方案一:

指纹输入识别

指纹识别技术主要涉及四个功能:

读取指纹图像、提取特征、保存数据和比对。

通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。

软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。

通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。

这些数据,通常称为模板。

通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。

考虑到本方案软硬件太过复杂,而且成本也高,故不采用。

方案二:

矩阵键盘输入识别

由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。

行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。

通过不断读行线口线,或者中断方式触发键位扫描。

当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。

当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。

每个按键都可通过程序赋予功能,从而完成密码识别本方案简单易行,故采用。

2.4本章小结

本章主要围绕电子密码锁系统展开,首先说明了电子密码锁的组成,然后介绍了主控制方案、密码输入方案论证与比较,最终选择了最优方案。

 

第3章硬件系统设计

3.1系统芯片介绍

3.1.1单片机STC89C52功能介绍

STC89C52是51系列单片机的一个型号,它是STC公司生产的。

STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可提供许多较复杂系统控制应用场合。

STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[7]。

STC89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

其引脚图如图3-1示。

图3-1STC89C52引脚分布图

STC89C52具体介绍如下:

①主电源引脚(2根)

VCC(Pin40):

电源输入,接+5V电源

GND(Pin20):

接地线

②外接晶振引脚(2根)

XTAL1(Pin19):

片内振荡电路的输入端

XTAL2(Pin20):

片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):

复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):

地址锁存允许信号

PSEN(Pin29):

外部存储器读选通信号

EA/VPP(Pin31):

程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根[8]。

P0口(Pin39~Pin32):

8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):

8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):

8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):

8位准双向I/O口线,名称为P3.0~P3.7

3.1.2LCD1602显示器介绍

液晶显示模块已作为很多电子产品中都可以看到,显示的主要是数字、专用符号和图形。

1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。

1602型LCD可以显示2行16个字符,有8位数产品的通过器件,如在计算器、万用表、电子表及很多家用电子据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。

引脚功能说明:

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明,如表3-1所示:

表3-1LCD1602引脚接口说明表

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比

度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

3.1.3存储芯片AT24C02介绍

AT24C02是美国Atmel公司的低功耗CMOS型E²PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。

而且他是采用了I²C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。

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

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

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

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

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

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

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

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

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

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

管脚描述:

SCL为串行时钟:

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

  SDL为串行数据/地址:

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

  A0、A1、A2为器件地址输入端:

当使用24C02时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。

  WP为写保护:

如果WP管脚连接到Vcc所有的内容都被写保护只能读当WP,管脚连接到Vss或悬空,允许器件进行正常的读/写操作[12]。

管脚图如图3-2所示。

图3-2AT24C02引脚图

3.1.4I2C总线介绍

I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。

例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。

I2C总线的硬件结构:

I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。

所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。

设备上的串行数据线SDA接口电路应该是双向的,

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

当前位置:首页 > 高等教育 > 哲学

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

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