单片机电子密码锁论文
安徽机电职业技术学院
毕 业 论 文
单片机电子密码锁论文
系 (部) 电 气 工 程 系
专 业 机 电 一 体 化 班 级 机 电 3104 姓 名 XXXX 学 号 XXXXX 指导教师 XXX
2012 ~ 2013 学年第 一 学期
摘要
在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确认
目录
摘要........................................................ I 第一章 绪 论................................................ 1
1.1 引言.........................................................1 1.2 电子密码锁的背景.............................................1 1.3 电子锁设计的意义.............................................1
第二章 系统设计............................................. 3 第三章 硬件电路设计......................................... 6
3.1 键盘电路设计 ................................................6 3.2 LED显示电路.................................................8 3.3 开锁电路设计................................................10 3.4 报警电路设计................................................10
第四章 软件设计............................................ 12
4.1 软件设计思路................................................12 4.2 各子程序设计................................................12
第五章 系统调试............................................ 17 结论....................................................... 18 参考文献................................................... 19 附录....................................................... 20
第一章 概 述
1.1 引言
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上, 用以关住某个确定的空间范围或某种器具的, 必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。 为什么会出现这种情况呢?因为传统锁具都存在致命的弱点: 第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏; 第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。
目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。 1.2 电子密码锁的背景
随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。 1.3 电子锁设计的意义
单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU )、随机存取存储器(RAM )、只读存储器(ROM )、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,
这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。
电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。
(1)系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。 (2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。
(3)具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。
(4)两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入4位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。
第二章 系统总体方案设计
方案一:采用数字电路控制。其原理方框图如图2-1所示。
图2-1 数字密码锁电路方案
采用数字密码锁电路的好处就是设计简单。用以74LS112双JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO 端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图2-2所示。
图2-2单片机控制方案
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
本方案采用一种是用以89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
初步设计思路如下:
输入密码用矩形键盘,包括数字键和功能键。
LED 数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
用发光二极管代替开锁的电路,发光表示开锁。 输入密码错误次数超过3次,系统报警。
打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。
按“C ”键,清除显示器为“000000”。 欲重新设定密码,先输入密码在案“*”。
输入密码,再按“D ”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。
软件的设计主要包括键盘键值的读取,LED 显示程序,密码比较程序和报警程序。
第三章 硬件电路设计
3.1 键盘电路设计
使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图
3-1
。
图3-1 矩阵键盘
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N 条行线和M 条列线,即可组成具有N ×M 个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照图3-1所示的4×4键盘,说明线反转个工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H ,把全部列线置为低电平,然后将列线的
电平状态读入累加器A 中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表3-1:
表3-1 按键功能
3.2 LED显示电路
本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3-2所示。
用P0.0—P0.3接74LS247的A ,B ,C ,D 四端口,74LS247的输出口接LED 的七段显示;而P0.4—P0.6接74LS138的A ,B ,C 三个输入口,74LS138的输出口接LED 的位显示。通过软件实现数字和位控制。
图3-2 LED显示电路
用74LS247可以控制输出什么字型。74LS247的逻辑功能表如表3-2: 表3-2 74LS247的逻辑功能表
用74LS138控制位循环显示,其逻辑功能表如表3-3:
3.3 开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3-3所示。当P2.0口输出低电平时,二极管发光,表示开锁。
图3-3 开锁电路
3.4 报警电路
图3-4报警电路
报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA 驱动电流。蜂鸣器电路如图3-4所示。当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
第四章 软件设计
4.1 软件设计思路
电子密码锁工作的主要过程是LED 数码管提示开始输入密码,通过键盘输入密码,同时LED 显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H —45H 中,假设预设的密码为"123456" 共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。 4.2 各子程序设计
1 键盘扫描子程序 键盘扫描流程图如图
4-1
图4-1 键盘扫描流程图
键盘扫描子程序如下: L2: MOV R3,#0F7H MOV R1,#00H L3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04H
L4: RLC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L2