电子密码锁.docx

上传人:b****3 文档编号:6264989 上传时间:2023-05-09 格式:DOCX 页数:44 大小:543.57KB
下载 相关 举报
电子密码锁.docx_第1页
第1页 / 共44页
电子密码锁.docx_第2页
第2页 / 共44页
电子密码锁.docx_第3页
第3页 / 共44页
电子密码锁.docx_第4页
第4页 / 共44页
电子密码锁.docx_第5页
第5页 / 共44页
电子密码锁.docx_第6页
第6页 / 共44页
电子密码锁.docx_第7页
第7页 / 共44页
电子密码锁.docx_第8页
第8页 / 共44页
电子密码锁.docx_第9页
第9页 / 共44页
电子密码锁.docx_第10页
第10页 / 共44页
电子密码锁.docx_第11页
第11页 / 共44页
电子密码锁.docx_第12页
第12页 / 共44页
电子密码锁.docx_第13页
第13页 / 共44页
电子密码锁.docx_第14页
第14页 / 共44页
电子密码锁.docx_第15页
第15页 / 共44页
电子密码锁.docx_第16页
第16页 / 共44页
电子密码锁.docx_第17页
第17页 / 共44页
电子密码锁.docx_第18页
第18页 / 共44页
电子密码锁.docx_第19页
第19页 / 共44页
电子密码锁.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子密码锁.docx

《电子密码锁.docx》由会员分享,可在线阅读,更多相关《电子密码锁.docx(44页珍藏版)》请在冰点文库上搜索。

电子密码锁.docx

电子密码锁

单片机课程设计说明书

电子密码锁控制系统设计

专业

电气工程及其自动化

学生姓名

张海啸

班级

B电气104

学号

1010601410

指导教师

张兰红

完成日期

2013年6月15日

摘要:

锁是指加在门、箱子、抽屉等物体上的封缄器,要用专用的钥匙才能打开。

自古以来锁都是人们财产安全乃至生命安全的一种重要保障。

伴随着人类历史的发展和人们对自身财产安全和人生安全的重视,各种各样的多功能的锁具也相继出现,人们使用的锁具也由传统的机械式锁逐渐发展为安全性能更好,功能更多的电子密码锁。

在现代社会,电子密码锁已是一个被大家所熟识的名词。

相信很多人的小区大门上的锁都用的是电子密码锁。

本文中将要介绍的电子密码锁是一种通过判断密码输入是否正确来控制电路或是芯片的工作状态,进而控制锁的打开和闭合,从而完成开锁、闭锁任务的电子锁装置。

本设计是基于AT89C51单片机为控制核心的密码锁设计方案。

在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核心,配合相应的电路和软件程序,实现密码的输入和修改、信息的显示、键盘的锁定、系统报警、开锁和闭锁等功能。

在设计中,利用识别密码是否正确来开锁或报警,通过串行存储器AT24C02来实现密码的修改和存储

关键词:

单片机;密码锁;矩阵键盘;掉电存储

TheDesignOfElectronicCodeLockBasedOnSingleChipMicrocomputer

Abstract:

Assealeddevice,thelockaddedtosuchobjectslikedoor,box,draweretc,canbeopenedwithspecifiedkey.Sincetheancienttime,lockisakindofsecurity,guaranteeingpeople’spropertysafetyevenlifesafety.Withthedevelopmentofhumanhistoryandmoreattentionpaidtopropertysafetyandlifesafety,variousmulti-functionallockscanbeseenintheworld.Traditionalmechanicallockspeopleuseinlifearegraduallyreplacedbyelectroniccombinationlockcharacterizedwithbettersafetyperformanceandmorefunctions.

Inthemodernsociety,electroniccombinationlockisanounfamiliartoeveryone.Usually,thedoorofcommunityisequippedwithelectroniccombinationlock.Thispaperwillintroduceanelectroniccombinationlock.Thislockcontrolstheelectriccircuitsandtheperformanceofchipsbyidentifyingpassword.Thus,theopennessandclosenessofthelockcanbecontrolled,andthetaskofelectroniclockdevicecanbecompleted.

Thisdesignisaboutcombinationlock,basedontheAT89C51single-chipmicrocomputerasthecoreofcontrollinggoals.ThisdesigninwhichtheAT89C51single-chipmicrocomputerasthecoreofthecontrollinggoalscooperatedwithrelevantcircuitsandsoftwareprogramscanachievesuchfunctionslikepasswordinputandmodification,informationdisplay,keyboardlocking,warningsystem,andtheopennessandclosenessofthelocketc.Inthisdesign,theopennessoflockandalarmingareaccordingtoidentifyingthepassword,andpasswordrevisionandstorageisachievedbythefunctionoftheAT24C02serialstorage.

Keywords:

Single-chipmicrocomputer,Combinationlock,Electroniclock,Matrixkeyboard,Powerloststorage

 

目录

绪论4

电子密码锁简介5

电子密码锁设计的背景及意义5

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

1课题设计目标6

2总体设计方案6

2.1设计思路6

2.2方案确立7

3硬件电路方框图7

3.1单片机及其最小系统7

3.1.1复位电路的设计8

3.1.2时钟电路的设计9

3.2密码锁电路10

3.2.1按键电路的设计10

3.2.2LCD显示电路11

3.2.4开锁机构12

3.2.5报警机构13

4程序设计14

4.1软件总体设计14

4.2键盘扫描子程序15

4.3显示模块子程序18

4.4掉电存储子程序19

4.4.1写操作方式19

4.4.2读操作方式20

4.5定时器中断子程序21

4.6密码输入子程序21

4.7报警子程序23

5课程设计总结23

6参考文献25

7附录25

附录一总电路原理图26

附录二:

电子密码锁的PCB图27

附录三:

电子密码锁的实物图27

附录四:

元器件清单30

附录五源程序清单31

 

绪论

电子密码锁简介

什么是电子密码锁?

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

”——XX百科上是这样解释的。

简单来说,电子密码锁就是能够实现密码等信息的设置、存贮、识别和显示,以及报警信号的接收和发送等功能的电子器件。

电子密码锁相对传统机械锁有以下几个优势:

(1)密码可更改。

用户可以随时更改密码,以确保密码锁的安全性和可靠性。

可以更改密码这一功能同时也避免了人员的更替而使锁的安全性降低,这是传统钥匙锁所不具备的功能。

(2)操作简单。

无论是开锁还是更改密码,只要识字的人都能够直接使用,使用方法简单而不繁琐。

(3)能够报警。

报警功能无疑更增加了锁的安全性。

(4)无法“技术”破解。

不知道密码就无法打开锁,即使是惯偷也只能望“锁”兴叹。

电子密码锁设计的背景及意义

在现代文明社会,虽然人们的道德素质越来越高,“梁上君子”、“三只手”等人群相对旧社会大大减少,但是像“某某小区遭入室行窃,居民损失XXXX”之类的新闻我们还是经常能够在报纸上看到的。

随着人们生活水平和自身防范意识的提高,个人财产安全和人身安全的问题也越来越受到人们的重视,拥有一把能够有效保证居民财产安全和人身安全的锁具也越发的重要起来。

锁具的起源可以追朔到人类社会财产私有化的出现,锁具从其出现到发展至今天的高科技化、信息化,已经有若干年的历史了。

经过若干年的使用和研究,人们对锁具的结构、机理也了解得相当透彻了,因此,不使用钥匙就能将锁打开的方法也层出不穷。

特别是传统的机械锁,由于其构造简单,在惯偷面前,甚至能够只用一根铁丝就直接将其打开,使其失去了保障用户个人财产安全的意义。

那么,如何才能提高锁具保障用户财产安全的有效性呢?

在信息现代化的今天,锁具也应该向高精度、高安全性的智能化、信息化发展。

自20世纪70年代第一块单片机芯片TMS-1000于美国德克萨斯仪器公司面世以来,基于其体积小、价格低廉、个性突出等特点,越来越多的电子产品开始采用单片机芯片作为核心控制部件。

在这样的大环境下,基于单片机的电子密码锁也应运而生。

这种电子密码锁是以单片机为核心,配以相应的硬件电路和软件程序,实现密码的设置、存贮、识别和显示,以及报警信号的接收和发送等功能,具有操作快、修改密码简单、安全性高、功耗低等优点。

基于单片机的电子密码锁的面世使人们的自身财产安全有了更多的保障,同时也促进了安全信息系统的发展,是安全信息系统的一大进步。

基于单片机的电子密码锁的出现,在一定程度上解决了用户私人财产安全的问题。

但是,时代在发展,社会在进步,任何事物只有不断地进步才能适应时代发展的需求。

电子密码锁虽然有安全性高、操作简单等优点,但是却不如机械锁价格低廉,因此,在市场上的主流产品还是机械锁。

电子密码锁要想取代机械锁成为市场上的主流,就必须不断改进,在具有更多功能的同时向更智能化和更低成本化发展。

这就需要我们不断研究电子密码锁的设计方法和实现原理。

因此,研究基于单片机的电子密码锁的设计是很有必要且具有现实意义的。

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

目前,和西方发达国家相比,我国的电子密码锁技术还相对落后。

在西方发达国家,电子密码锁的种类已经很齐全,技术也比较先进,且在各个领域得到了广泛应用。

在我国,电子密码锁技术却才相当于国际上七十年代的水平,相对来说还很落后。

20世纪80年代以来,随着各种电子集成电路的出现,特别是单片机的面世,电子密码锁得到了很大的发展。

相对于笨重而构造简单的传统机械锁来说,电子密码锁具有体积小,可靠性高的优势。

但是就目前而言,电子密码锁的价格相对较高且需要有电源提供能量,使得其使用还局限在一定范围,特别是在国内,各种条件的制约使得电子密码锁暂时难以普及。

尽管电子密码锁还存在着一些缺陷,但是其安全性高、方便易用、能够智能报警的优势却是传统钥匙锁取代不了的,而且随着电子信息技术的发展和各种电子器件的价格的不断降低,电子密码锁也将往低成本、多功能的方向发展。

1课题设计目标

本设计采用MCS-51系列单片机AT89S52作为主控芯片,结合外围电路,设计密码锁控制系统,能够实现。

2总体设计方案

2.1设计思路

该电路是一种采用以AT89S52为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能根据实际需要添加调电存储、声光提示功能。

2.2方案确立

(1)为了实现密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码,从而提高了密码的保密性。

(2)采用LCD显示单元,提高了可读性,提供良好的人机界面。

3硬件电路方框图

电路由两大部分组成:

AT89S51单片机及其外围电路和密码锁电路。

密码锁电路包含:

矩阵键盘输入、LCD指示电路、报警控制电路、AT24C02掉电存储电路。

其原理方框图如图3-1所示。

 

图3-1原理图框图

 

3.1单片机及其最小系统

单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证接下来的其他模块的正确设计。

图3-2是单片机最小系统的完整仿真图。

图3-2单片机最小系统的完整仿真图

3.1.1复位电路的设计

复位是单片机的初始化操作。

单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。

因而,复位是一个很重要的操作方式。

但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。

该复位电路采用按键电平复位式复位电路。

当单片机已在运行当中时,按下复位键S后松开,在复位引脚RET(9脚)脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。

也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

如图3-3所示。

图3-3复位电路

3.1.2时钟电路的设计

时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。

当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个11.0592MHZ晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如20PF。

如图3-4所示。

图3-4时钟电路

3.2密码锁电路

3.2.1按键电路的设计

为了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。

其原理图如图3-5所示。

图3-5矩阵键盘电路

每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N×M个按键的矩阵键盘。

在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

当确认有按键按下后,下一步就是要识别哪一个按键被按下。

对键的识别方法通常有两种:

一种是通用的组行扫描查询法;另一种是速度较快的线反转法。

此系统中,我们采用线反转法。

首先辨别键盘中有无按键被按下,在单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

具体方法是:

向行线输出全扫描字00H,把全部列线置成低电平,然后将列线的电平状态读入累加器A中。

如果有按键被按下,总会有一根行线电瓶被拉至低电平从而使行线不全为1。

判断键盘中哪一个按键被按下通常是通过将列线逐列至低电平后,检查行输入状态来实现的。

方法是:

依次给列线送低电平,然后检查所有行线状态,如果全为1,则所按下的按键不在此列;如果不全为1,则所按下的按键必在此列,而且是在与零电平行线相交的交点上的那个按键。

实现功能如图3-5

3.2.2LCD显示电路

本系统设计的显示电路是为了给使用者以提示而设置的。

因为系统具有账户管理系统,使用LCD可以为用户提供更友好的人机界面,故选用LCD1602作为显示器件。

开锁时,按下键盘上的开锁按键后,利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。

当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD显示“OK”,单片机其中P3.0引脚会输出低电平,使三极管T2导通,电磁铁吸合,继电器开关跳转,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“youarethief!

”,P3.0输出的是高电平,电子密码锁不能打开。

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

 

图3-6显示器电路

使用LCD1602可以轻松的实现所有字母和符号显示,显示功能丰富,驱动程序简单。

能提高系统的安全行,使系统更人性化,更有可扩展性。

下面几幅图是本课题用到的显示和提示语:

 

图3-7.1.初始化图3-7.2密码输入正确

图3-7.3密码输入错误第一次图3-7.4密码输入错误第二次

图3-7.5密码输入错误第三次图3-7.6修改密码

图3-7.7输入新密码图3-7.8清屏

3.2.3AT24C04存储电路

AT24C02是Atmel公司生产的AT24CXX系列串行E2PROM中的一种,是具有I2C总线接口功能的电可擦除串行存储器。

AT24C02内部含有256个字节,通过I2C总线接口进行操作,有一个专门的写保护功能(WP=1时即为写保护)。

电路如下图3-8

图3-8AT24C04存储电路

3.2.4开锁机构

在基于单片机的电子密码锁设计中,用户需要输入密码,密码正确则发出开锁信号开锁。

因为在设计中是以发光二极管代替电磁锁,二极管亮代表锁开,因此可以设计一个简单的可以点亮二极管的电路系统代替电磁锁开锁机构。

如图3-9所示。

图3-9开锁显示电路

由于单片机I/O口默认为高电平,故初始时二极管不亮,代表锁是闭着的。

当用户输入密码并验证正确时,发出开锁信号(使P2.4=0)。

3.2.5报警机构

在这次基于单片机的电子密码锁设计中,通过控制蜂鸣器的发音来实现系统的报警功能。

蜂鸣器是一种采用直流电压供电的电子讯响器。

图3-10是用蜂鸣器模拟的报警机构仿真图。

图3-10报警机构模拟仿真图

当P3.7口有脉冲信号输入时,蜂鸣器SPEAKER即会发音。

通过控制输入脉冲的频率还能控制蜂鸣器的发音频率。

当用户输入密码错误次数达到预设警告次数时,系统调用报警子程序,使蜂鸣器发出报警音,同时禁止键盘输入。

3.2.6密码初始化电路

密码初始化是有个相当于超级用户的功能电路当用户密码忘记时可以点击按键实现密码的初始化:

123456。

当然要有一定的权限的啦仿真图如下图3-11

图3-11密码初始化电仿真图

4程序设计

4.1软件总体设计

根据电子密码锁的实际应用要求和其应该具有的功能,本次设计的主程序流程图如图4-1所示。

图4-1主程序流程图

此次基于单片机的电子密码锁设计的软件设计方面的主要问题是如何实现键盘输入、信息显示、密码的掉电存储以及密码的比较和处理。

本设计接下来将分步解决这几个问题。

4.2键盘扫描子程序

矩阵键盘扫描子程序应该具有以下2个基本的功能:

(1)能判断是否有键按下;

(2)能确定是哪个键被按下。

其软件管理主要分为以下三步来完成:

(1)判断整个键盘是否有键按下。

让所有的行为0,然后读列的数值。

如果列的数值全部为1,说明没有键被按下,否则说明有键被按下。

(2)识别被按下的键的位置。

采用一行一行的扫描方法,逐行输出0,然后读列的值。

如果列的数值全部为1,说明不是这一行的按键被按下,扫描下一行,如果列的数值不全为1,则说明被按下的按键时在这一行。

(3)查键值表,返回键值对应信息,以便确定各按键应该完成的功能。

采用某种算法,将被按下的键所在的行和列的信息合并成为一个信息,该信息即为此键的键值。

用相同的方法给每一个键确定键值。

在给按键确定键值时必须采用同一种算法,并且计算出来的键值应该是互不相同的。

本设计中各按键对应键值如表4-1所示。

表4-1按键键值表

按键名称

键值

按键名称

键值

1

0x7e

9

0x7d

2

0xbe

0

0xbb

3

0xde

A

0xdb

4

0xee

B

0xeb

5

0x7d

C

0x77

6

0xbd

D

0xb7

7

0xdd

E

0xd7

8

0xed

F

0xe7

键盘扫描子程序的流程图如图4-2所示:

图4-2键盘扫描程序流程图

从流程图可以看出,此键盘识别程序是通过逐行扫描来确定是否有键按下,当确定某一行有键按下时,再在该行中确定被按下的是哪一个按键。

在本设计中,P1.0~P1.3为行输出口,P1.4~P1.7为列输出口。

初始时将P1.0~P1.3值赋为0,P1.4~P1.7赋为1,CPU始终扫描P1端口,当P1值不为0xf0时,有按键被按下,否责没有按键被按下。

在实际应用中,为了防止因为按键的抖动而使得一次按键按下被当做2次或者2次以上处理,应该进行按键消抖程序设计,只要方法是当有键闭合时,延时一段时间再确定是否还有键闭合,若有,则为键有效闭合,若无则为键无效闭合,返回重新扫描。

图4-3为CPU扫描第一行键盘的程序流程图。

单行键盘扫描能够准确确定被按下键所在的位置。

图4-3单行键盘扫描流程图

在本设计中,各按键的功能与图3-5一样详见图

4.3显示模块子程序

由于设计中要求能够显示密码输入界面、密码输入信息、密码正确后提示界面、密码错误后提示界面和修改密码相关界面等信息,故要用到很多个显示子程序来显示不同的内容。

虽然显示子程序很多,但是由于其显示原理都一样,所以我就不一一介绍各个子程序了,只要能够熟练使用LCD1602各个指令,这些大同小异的子程序也就不在话下了。

以下是LCD1602从第一行第一列开始显示N(0

图4-4显示字符程序流程图

显示模块子程序主要指根据LCD1602的命令和引脚功能来编写,程序逻辑相当简单。

4.4掉电存储子程序

掉电存储子程序就是将初始密码写进AT24C04,单片机每次复位后从AT24C04中读取密码用来和输入的密码进行比较,以判断输入的密码的正确性。

当密码修改成功后,将新密码写入AT24C04,以便单片机下次复位后使用。

掉电存储模块子程序主要涉及AT24C04的写操作方式和读操作方式。

AT24C04有2种不同的写操作形式和3种不同的读操作方式。

4.4.1写操作方式

两种写操作方式为:

字节写和页写。

(1)字节写。

字节写模式下,主机发送(R/

位置为0)起始命令和器件地址信息,主机在收到AT24C04的应答信号后,发送1~8位字节地址,写入AT24C04的地址指针中。

对于高于8位的地址,主机连续发送两个8位字节地址写入AT24C04中,主机在收到AT24C04的另外一个应答信号后再发送数据到被寻址的存储单元,AT24C04再次应答,并在主机发出停止信号后开始内部数据的擦写。

AT24C04在内部擦写过程中不响应主机的任何请求,因此在两次写操作之间应该留有足够的反应时间。

字节写的时序是这样的:

地址只有8位:

开始→器件地址→响应→8位字节地址→响应→数据→响应→停止

地址高于8位:

开始→器件地址→响应→高8位字节地址→响应→低8位字节地址→响应→数据→响应→停止

(2)页写。

页写和字节写所不同的是:

字节写一次只能写入一个字节数据,页写一次可以写入8个或16个字节数据。

页写的时序是这样的:

地址只有8位:

开始→器件地址→响应→8位字节地址→响应→数据1→响应→……→数据N→响应→停止。

地址高于8位:

开始→器件地址→响应→高8位字节地址→响应→低8位字节地址→响应→数据1→响应→……→数据N→响应→停止。

三种不同的读操作方式为:

读当前地址内容(立即地址读取)、读随机地址内容(随机地址读取)和读顺序地址内容(顺序地址读取)。

4.4.2读操作方式

(1)读当前地址内容。

AT24C04的地址计数器内容为最后操作字节的地址加1,所有如果上次读写操作的地址为N,采用读当前地址内容方式读地址应该从N+

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2