电子密码锁的设计与实现毕业设计文档格式.docx
《电子密码锁的设计与实现毕业设计文档格式.docx》由会员分享,可在线阅读,更多相关《电子密码锁的设计与实现毕业设计文档格式.docx(67页珍藏版)》请在冰豆网上搜索。
国内的不少企业也引进了世界上先进的技术,发展前景非常可观。
希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。
当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。
在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。
发展前境是非常大的。
电子密码锁的出现为人们带来了很大的方便,有很广阔的市场前景。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现,制作简单但很不安全,随后多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现,其密码简单,易破解;
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,实用更加方便,安全保密更强,由以前的单密码输入发展到现在,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。
出于安全、方便等发面的需要许多电子密码锁已相继问世。
但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高窃供个人使用的箱、柜、房间等。
由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁。
组合使用信息也能够使电子密码锁获得无穷扩展的可能,是产品多样化,对用户而言是“十挑百选、自得其所”。
可以看出组合使用电子信息是电子密码锁以后发展的趋势。
1.3电子密码锁设计分析
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码无论在技术上还是在性能上都大大提高了一步。
随着大规模集成电路的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
国内外电子防盗锁应用于金融行业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。
广义上讲,金融业的“授权”主要包括以下三种层次的内容:
1、授予保管权,如使用保管箱和保险柜;
2、授予出入权,如出入金库、运钞车和保管室;
3、授予流通权,如自动存取款。
目前,金融行业电子防盗锁的应用主要集中在前两个层面上。
当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破换行为,让电子防盗锁“软、硬不吃”。
一般情况下,电子防盗锁的关键是锁身外壳、闭锁的部件的强度、锁止形式、配合间隙和布局。
提高电子防盗锁的防护能力的必然途径是报警,在许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。
报警的前提是具有探测功能,根据电子防盗锁的适用场合和防护要求,可以选择多种多样的探测手段。
在中国的城市金融行业中,实现互联网报警已经成为对各金融网点的要求。
根据国内外的实践经验,安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员职守情况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子防盗锁的性能至关重要。
1.4课题设计目标分析
本次设计使用ATMEL公司的AT89S52实现一个基于单片机的电子密码锁设计,主要具有如下功能:
(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁(用继电器仿真)打开;
(2)密码可以由用户自己修改设定(只支持6位密码),修改密码之前须正确输入密码;
(3)报警提示功能(用蜂鸣器和LCD仿真)。
密码输入正确或错误会出现相关提示。
密码锁设计的关键问题是实现密码的输入、清除、更改、开锁、上锁等功能:
(1)密码输入功能按下一个数字键,一个“*”就显示在LCD上,以保证密码的安全性。
(2)密码清除功能当按下清除键时,清除前面输入的一个键值。
(3)密码更改功能将输入的值作为新的密码。
(4)开锁功能当密码输入正确时锁打开。
(5)上锁功能当上锁键按下时继电器吸合。
1.5本章小结
本章主要介绍了课题背景、课题意义和电子密码锁的设计分析。
在第四小节给出了本次设计所要实现的目标。
第2章系统设计
2.1系统方案论证
2.1.1主控部分的选择
数字电路控制方案用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。
采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。
以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。
单片机具有资源丰富、速度快、编程容易等优点。
利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,因此综合考虑,本系统采用方案二。
2.1.2密码输入方式的选择
指纹输入识别方案指纹识别技术主要涉及四个功能:
读取指纹图像、提取特征、保存数据和比对。
通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。
软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。
通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。
这些数据,通常称为模板。
通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。
考虑到本方案软硬件太过复杂,而且成本也高,故不采用。
矩阵键盘输入识别方案由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。
行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。
通过不断读行线口线,或者中断方式触发键位扫描。
当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。
当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。
每个按键都可通过程序赋予功能,从而完成密码识别。
本方案简单易行,故采用。
2.2系统设计概述
该系统是一个以单片机AT89S52为核心的控制系统,由单片机、矩阵键盘输入模块、液晶显示模块和报警提示模块(包括继电器、蜂鸣器、LED等)组成。
其中输入模块键盘有数字键0~9、删除键Del、确认键Enter、上锁键Lock、密码设置键Set以及两个可扩展键;
液晶显示模块作为主要输出设备,从开机开始就对每一次操作都作出相应的显示,如密码的输入、正确、错误、密码设置等;
报警提示模块作为密码判断结果的主要输出设备,若密码输入正确,继电器打开、LED亮,若错误,蜂鸣器发出警报。
2.3系统组成与硬件设计
图2-1系统组成框图
系统组成框图如图2-1所示。
整个硬件系统包括晶振电路、电源电路、复位电路、继电器电路、蜂鸣器电路、显示电路和4*4键盘电路,其中晶振电路、电源电路为单片机提供必要的外围电路,使单片机可以正常工作;
复位电路作为单片机的硬件复位,可随时对系统作出复位;
4*4键盘电路为主要输入电路,作为密码的输入和设置设备;
继电器电路、蜂鸣器电路、显示电路为输出电路,单片机处理输入信息后会作出相应的输出显示。
硬件实物如图2-2所示。
图2-2硬件实物图
2.4系统软件设计
系统软件程序采用C语言编写,根据设计功能要求,采用模块化结构程序设计方法将软件划分成若干个功能相对独立的模块,为每一个模块设计算法和程序流程。
软件设计部分主要包括系统总程序、键盘扫描程序、按键处理程序、液晶模块驱动程序、蜂鸣器报警程序等。
2.5本章小结
本章主要介绍了系统总体设计、组成结构及其工作原理。
简要介绍了系统硬件组成设计,系统软件分析设计等本课题大体设计思路,以下两章将详细介绍本设计硬件电路和软件程序设计。
第3章硬件电路设计
3.1硬件介绍
本课题主要硬件包括一个51系列的单片机AT89S52、液晶显示模块LCD1602、继电器、蜂鸣器、按键若干。
3.1.1AT89S52简介
单片机也被称为微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,如图3-1所示。
它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU、内存、并行总线、还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影,它主要是作为控制部分的核心部件。
图3-1单片机芯片
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是一些特殊的功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别,只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。
由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?
很多高级的语言已经达到了可视化编程的水平为什么不用呢?
原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!
对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
AT89S52是一种低功耗、高性能8位单片机,具有8K可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash、256字节RAM、32位I/O口线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口、片内晶振以及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持两种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52引脚如图3-2所示。
图3-2AT89S52引脚图
P0口——P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口——P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P1口接收低8位地址字节。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
P2口——P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口——P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在flash编程和校验时,P3口也接收一些控制信号。
此外,P3口亦作为AT89S52特殊功能(第二功能)使用,如表3-1所示。
表3-1引脚功能表
端口
引脚第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外中断0)
P3.3
INT1(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通
P3.7
RD(外部数据存储器读选通)
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许,输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
3.1.2LCD1602简介
液晶显示器,或称LCD(LiquidCrystalDisplay),为平面超薄的显示设备,它由一定数量的彩色或黑白画素组成,放置于光源或者反射面前方。
液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。
LCD1602是一种专门用于显示字母、数字、符号等点阵式LCD。
实物如图3-3所示。
图3-3LCD1602实物图
LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-2示。
第1脚VSS为地电源;
第2脚VDD接5V正电源;
第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比
表3-2引脚功能表
编号
符号
引脚说明
1
VSS
电源地
9
D
数据
2
VDD
电源正极
10
3
VL
液晶显示偏压
11
4
RS
数据/命令选择
12
5
R/W
读/写选择
13
6
E
使能信号
14
7
15
BLA
背光源正极
8