电子密码锁的设计与制作(完整版)_第1页
电子密码锁的设计与制作(完整版)_第2页
电子密码锁的设计与制作(完整版)_第3页
电子密码锁的设计与制作(完整版)_第4页
电子密码锁的设计与制作(完整版)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*大学网络教育学院 专科毕业论文题目:电子密码锁的设计与制作完成期限: 2021年 1月 8日至 2021年 4月 20日 学习中心: *专业名称:电气自动化技术学生 *:*伟强学生 *: 指导教师: * 斌z.电子密码锁的设计与制作第 1 章方案选择和总体设计1.1 国内外现状目前,最常用的锁是 20世纪 50 年代意大利人设计的机械锁,其机构简单、使用方 便、价格廉价。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同 齿形与锁芯的配合来工作的。据统计,每 4000 把锁中就有两把锁的钥匙齿牙一样或类 似,故平安性低。二是钥匙一旦丧失,无论谁捡到都可以将锁翻开。三是机械锁的材料

2、 大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共 场所使用。由于人们对锁的平安性,方便性等性能有更高的要求,许多智能锁如指纹 区分、 IC 卡识别也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用 于*要求高且仅供个别人使用的箱、柜、房间,其本钱一般较高,在一定程度上限制了 这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密 码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁 * 性差的缺点。根据国外的统计资料显示 ,装有电子防盗装置的商业区或居民区盗窃犯罪率 平均下降 30%左右。目前

3、西方兴旺国家已经大量地应用这种智能门禁系统,但在我国的 应用还不广泛,本钱还很高。1.2设计目标利用 51 系列单片机为核心,采用矩阵键盘作为数字输入; 6 位数字密码显示;可重 新设置新密码, EPROM 存储密码,掉电不丧失;当输入密码与存储密码一致时,开锁, 并响音乐,假设连续三次输入错误,则报警灯亮并且蜂鸣器响。第 2 章硬件设计及电路图2.1设计方案论证与比较方案一:卡片式电子密码锁。卡片式电子密码锁,它利用光电耦合的方式,将密码信 息从打孔的形式做在卡片上,只要将卡片插入锁内,就能将锁翻开。如果卡片上密码信 息不对,密码锁发出报警声。这种方法是需要卡片做成钥匙,容易被盗和被仿制,平

4、安性 不咼。方案二:磁卡式电子密码锁,具有功能强、故障率低、可靠性高和工作寿命长等优 点,但这种方法的缺点是磁卡容易消磁,对用户造成不必要的麻烦。方案三:用AT89S51设计的多功能密码锁。以单片机作为微控制器,可以实现基于 以上优点,本系统选用该方案作为设计方案。按键有效指示、输入错误、控制开锁、错 误报警、密码修改等功能,工作稳定可靠,*性高,实用性强。综合考虑上面的几个方案,我们选用第3个来做。2.2电子密码锁的总体设计图2-1电子密码锁的总体框图电子密码锁是由以下几个局部组成的,其核心局部是Atmel公司生产的8位AT89S51 单片机作为整个系统的控制中心。包括驱动电路模块,显示电路

5、模块,报警模块和键盘 模块。如图2所示是一种用AT89S51控制的电子密码锁的原理图。其主要功能为:可设定 从1位到8位的密码,从键盘键入正确密码才可更改密码或开锁。输入三次错误密码电路就报警。其主要工作原理为:AT89S51的P1 口为键盘扫描口,接着3行4列的键盘即"0、1、2设置、确定,P3.0和P3.1接AT24C02,对AT24C02读和写数据。P3.2 接一个小喇叭,当按键确实被按下时发出一下提示音,P3.3为按了设置键等输入原密码指示LED控制口,P3.5为开锁信号输出口,P3.4为报警输出口,P3.7为输入新密码LED 指示控制口。2.3 电子密码锁的控制芯片选择CP

6、U 是整个控制局部的核心。 在考虑经济性和满足需求的前提下, 本系统选用Atmel公司生产的8位AT89S51单片机作为整个系统的控制中心。AT89S51是美国ATMEL公司生产的低电压,高性能 CMOS8位单片机,片内含2K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器RAM, 器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统, 片内置通用8位中央处理器和Flash存储单元,功能强大 AT89S51单片机可为您提供许 多高性价比的应用场合。在本系统中,AT89S51单片机内部的功能单元已经能够满足系统设计需要,不需

7、要 系统扩展。2-2 密码锁原理图AT89S51具有以下的特点:兼容 MCS-51 指令系统 2k字节可重擦写闪速存储器 1000次擦写周期的宽工作电压范围全静态操作: 0-24MHz2-3是AT89S51引脚功能图两级加密程序存储器 128*8字节内部RAM 15个双向I/O 口线两个16位可编程定时/计数器 6个中断源可编程串行UARL通道可直接驱动LED的输出端口内置一个模拟比较器低功耗空闲和掉电模式2. 4电源局部外界电源通过五脚开关JK与电源电路局部相连,电源经过稳压管 7805进展稳压 控制后,再经过RC电路的滤波整流就可以直接攻电路使用了, LED发亮说明电源电路 局部正常工作。

8、图2-4是电源局部原理图2-4电源局部原理图2.5键盘接口局部系统的所有密码设置以及在没有用遥控器开锁的情况下密码的输入都需要由键盘输入。同时采用发光二极管来进展提示操作,使用户操作更加直观和方便。AT89S51单片机的I/O 口线共有8根,能够满足系统设计的需要。键盘接口电路设计系统中键盘的功 能主要用于用户输入和修改密码。键盘需要设计16个按键,其中09数字键用于密码的输入和修改。功能键两个,一个为"确定键,用于密码输入完毕后确认,一个为"设置 键,用于修改密码。键盘采用行列式设计,16个按键排成4X 4矩阵。设计中用单片机 P2 口的P2.4P2.7接键盘的4根行线,

9、P2.(P2.3接4根列线。原理图如图2-52-5键盘局部原理图2.6液晶显示器本设计采用的是LED液晶显示器,接口电路如图2-6所示:2-6显示器和单片机的连接图2.7继电器和蜂鸣器局部由于继电器和蜂鸣器的工作电压大于单片机AT89S51高电平输出的电压,所以继电器与蜂鸣器由电源电压+5VQ驱动,单片机中的P1.1与P1.2分别输出一个高电平脉冲送至晶体三极管 Q1 、 Q2 的基极,使三级管导通。从而驱动继电器及蜂鸣器工作。继电器工作开关K12导通,进而发光二极管发亮。2-7 继电器局部电路原理图2.8小结本章详细表达了电子密码锁系统硬件电路的构造,分析了各个硬件电路的工作原 理。在设计硬

10、件电路的同时,充分考虑将软件和硬件结合起来,发挥单片机的智能化优 势。简化硬件电路的设计,提高硬件电路的可靠性和稳定性。第三章软件设计和程序清单软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变 化。在硬件构造一定的情况下,只要改变软件就能实现一些不同的功能。单片机所具有 的智能功能要由软件来完成。3.1 系统软件总体设计系统上电后首先完成初始化工作,然后按照事先设定好的程序执行。本系己程序是 基于单任务机制的。这种机制的应用程序是一个无限的循环,在这循环的过程中调用相 应的子程序函数来完成相应的操作。这种机制具有简单直观,易于控制的优点。在本系统中,软件构造应采用模块化

11、设计方法,主要包括主程序,键盘程序,密码 比较模块,密码修改程序等等。上电复位后,初始化各端口,标志位和有关存放器,接 着从 AT24C02 中读入密码,然后开场检测键盘是否有输入,如没有就不断检测,如果 有输入就转到相应处理程序。例如按了设置键,则P3.3输出低电平,等输入原密码指示 灯LED亮,接着如果输入了正确的原密码并按了确定键,P3.7输出低电平,可以输入新密码指示LED亮,接着输入新密码按确定键,新密码被写入 24C02中,P33 P3.7 输出高电平,等输入原密码指示 LED 熄灭,可以输入新密码,指示 LED 熄灭,程序转 为复位程序。如果在设置状态,输入了错误的密码,P3.5

12、不断输出高电平报警。上电复位后按数字键 6次,或按了小于 6 次数字键,再按了确定键则比较密码是否对,如果不 对,P3.4开锁信号输出口输出低电平,锁不开,这时还可再输入两次,如还不对则P3.5不断输出高电平报警。如果输入对了,P3.4开锁信号输出口输出高电平,锁翻开 4秒钟后,程序转为复位后。1 模块介绍该计程计价系统的软件设计分为以下几个模块:(1) 主程序模块 主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示等等。主程 序的流程图如以下图 3-1 所示。(2) 键盘扫描及识别子程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序, 一旦有按键按下

13、,便转向相应的子程序处理,处理完毕再返回。其程序流程如图 3-1 所 示.(3) 调电存储效劳程序当比较密码的时候,需要读 AT24C02程序,将存储在芯片内的数据读到 RAM中, 然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到AT24C02 中,其程序流程如图 3-2 所示.(4) 显示子程序由于是分屏显示数据,所以就要用到 5 个显示子程序,分别是:关闭状态显示子程序DIS_A、开锁状态显示子程序DIS_B、密码输入及修改状态显示子程序(DIS_C)、 密码输入错误后的提示子程序(DIS_D)。密码在规定的时间内输入错误次数超过 3次后 的锁定状态显示子程序 (DIS_E

14、).z.程序流程图如3-1、3-2所示:程序图3-2修改密码流程org OOOOh;Ijmp start;org OOObh;Ijmp in termit_tO;org OO1bh;程序清单如附录表一所示。Z.第4章实物制作及调试说明根据设计原理图购置所需元器件,然后使用 PROTEL99SE 画好原理图和PCB图,然后制作PCB板,按照画图-PCB板制作一查看板-压板-钻孔-焊接 元器件检查的步骤把实物板制作完整。调试根据方案设计的要求,调试过程共分为三大局部:硬件调试、软件调试、和 软硬件联调。电路按模块调试,各模块逐个调试后再联调。单片机软件先在最小系 统板上调试,确保外部 EPROM

15、和 RAM 工作正常以后,再与硬件系统联调。 调试仪器:万用表1 、硬 件调试电源电路:将做好的电路板接上 9V 直流电源,用万用表测试各点的电压,看电路 是否导通, 先把电源接到电路板上对应的接口, 翻开电源开关, 结果是电源灯不亮, 原因 1:电源不通,原因 2:灯的正负极接反,原因 3:灯是坏的。根据三个原因一 一检查,结果发现是灯的正负接反了,换过来以后灯亮了。把万用表调到10V的档位,然后黑表笔接到89S51的20脚,红表笔接40脚记录所测得的电压。如果所得 电压小于 3V 或者没有电压则要检查电路是否有虚焊或者线路不连通的情况。相应 的红表笔接到 31 脚看是否有电压,步骤如前面的

16、一样,结果显示电压正常。显示局部的电路:测试显示器的第 1脚和2脚、第2脚和15脚之间看是否有5V电 压,没有电压则要检查线路,有电压则正常工作。结果显示正常。键盘局部:将硬件的键盘和主板连起来,按下按键,看液晶显示器上是否有输出。 查看是否有虚焊不通的情况。经过一步步的检查硬件的问题已经解决,可以正常工作了!2、软 件调试z.把编写好的程序写到电脑上,用伟福软件进展编译,看语法是否有错误,把有错误的地方要改正过来。经过参照资料和请教教师,结果软件没有问题。3、软 硬联调把调试好的程序烧录到单片机上。将硬件接上 9V 的直流电源,按照操作说明操作 了但是没有成功。 然后检查硬件电路的问题, 结

17、果没有发现什么问题, 然后就是软件了, 把原来的软件去除了,重新烧录进去。结果显示正常。第 5 章电子密码锁使用说明书本设计采用的是5V的直流电压,在电源输入端的第1脚接正,第2脚接负电,把 电源开关拨向右边,电源灯 LED1亮和液晶显示器上有显示 A: SET ,B: OPEN。则 说明电路导通可以工作。注 :原始密码是 123456.数字键 09:做输入密码使用。A键:功能是重新设置密码,按下以后屏幕会显示 INPUT PASSWORD,要先用数字 键盘09输入6位数字与原来设的6位密码一样后屏幕会显示 RESET PASSWORD并 且开锁灯亮才可以重新输入新的 6位密码。 输入的密码和

18、原来设置好的密码不一样屏幕 显示PASSWORD ERROR就不可以重新设置。B键:功能是开锁,按下以后输入 6位数字密码,屏幕显示PASSWORD OK就可 以开锁,继电器工作开锁灯 LED3 亮。错误的话蜂鸣器会响,显示器显示: PASSWORD ERROR。重新输入密码,如果三次输入密码不正确蜂鸣器就会发出报警,并且锁死, 报警灯 LED2 亮。C 键:功能是返回。注意: 1、不能将电源的正负极接反2、不能接高于12V的电压,否则会烧坏电路。z.完毕语这次毕业设计收获很多,也学到了很多知识。令我对设计的概念有了一个新的认识。以 前做的设计根本都是在书上找别人设计好的方案来做, 而且制作简

19、单没有什么很大的技 术问题。这次自己亲自查资料做的设计,体会很深,也学到很多在书上学不到的知识。首先是方案确实定,综合考察了 10 个设计题目,初步确定了密码锁这个方案,接下来 就是查资料,去图书馆一下借了几本有关单片机的应用的书来查阅,结合自己的设计目 标来选择相关的器件和电路的连接方案。经过查阅资料和询问指导教师,把方案确定后 接下来的工作就是画原理图,由于很长时间没有用PROTELL99SE画图了,而且有一些元器件是要自己画管脚的,所以在画的时候碰到很多困难,还有元件的封装。最后借助 书本和向同学请教才把原理图画出来了,接下来遇到的大问题就是布线,布线中先是有 线穿插,重新调节元件的位置

20、以后还是出现同样的问题。 最后在同学的帮助下才把 PCB 画好。接下来的工作就是做板了,按照流程一下子就把板子做好了,元件都焊好了就开 场硬件调试。在我们设计和调试的过程中,也发现了一些问题,解决了很多问题。收获:通过毕业设计,对我来说体会真的很深,感觉从大一到现在第一次忙到连睡 觉的时候都想着怎么样才可以把自己的设计做好。从一开场确实定方案到最后测试,每 一步的进展自己都花了 1 00分的心思去做了。 用自己的话说: 真的很辛苦, 但是很值得。 天天都是往图书馆去查资料,去机房画 PCB,跑实验楼做板和调试,一天两趟。但是最 大的收获是学到了很多知识,也积累了一些经历,这个过程让我发现自己在

21、学习过程中 的很多缺乏, 以前看的书太少了, 尤其是关于专业类的书籍, 没有好好利用现有的资源。这次设计采用软硬件结果,发挥了 89S51的优点,功能强大,操作方便等等。还有 很多可扩展功能,希望往后的设计很更加完善,能设计出更加好的成品来。附录附录表一:程序清单en bit p3.O;rw bit p3.1; rs bit p3.2;dispIay equ pO; speaker bit p1.O;Ied bit p1.2; open bit p1.1; returnbit bit 2Oh.1; org OOOOh;Ijmp start;org OOObh;Ijmp intermit_tO;

22、 org OO1bh;Ijmp intermit_t1; org OO3Oh;start:mov sp,*6Oh;IcaII sys_initiaIiZation; 主;程; 序mainO:IcaII strat_dispIay;main:mov 52h,*0; 52h判断输入错误次数储存地址setb Ied;setb trO;IcaII key;cjne a,*'A',ne*t1;Ijmp set_password;ne*t1:cjne a,*'B',ne*t2;Ijmp input_password;ne*t2:ajmp main;系;统; 初始化sys_i

23、nitiaIiZation:cIr Ied;cIr open;cIr speaker;mov 34h,*'1'mov 35h,*'2'mov 36h,*'3'mov 37h,*'4'Z.mov 38h,*'5'mov r4,*10;mov 39h,*'6'mov tmod,*11h;存放初始密码mov th0,*3ch;mov r7,*12;mov tl0,*0b0h;mov r0,*40h;setb ea;mov r0,*00h;setb et0;inc r0;定时器T0, 0.5S定时中断初始d

24、jnz r7,loop;化完毕;密码键值存放区清零完毕ret;lcall delay0_1s;系统初始化完毕mov p0,*03h;中;断效劳程序call write_instruction; 液晶软复intermit_t0:push acc;mov p0,*01h;push psw;call write_instruction;mov th0,*3ch;mov p0,*3fh;mov tl0,*0b0h;call write_instruction;djnz r4,return;mov p0,*0fh;cpl led;call write_instruction;mov r4,*10;mov

25、 p0,*06h;return: pop psw;call write_instruction;pop acc;液晶初始化完毕reti;loop:ermit_t1:clr tr0;push acc;clr led;push psw;mov r2,*0feh;mov th1,*9eh;mov r6,*00h;mov tl1,*58h;k3:mov a,r2;djnz r4,return_t1;mov p2,a;cpl led;mov a,p2;cpl speaker;acc.4,l1;mov r4,*10;mov a,*0;return_t1:pop psw;ljmp lk;pop a

26、cc;l1:acc.5,l2;reti;mov a,*4;J J J J J J J J J J J J J J;键;盘扫描ljmp lk;key:call ks;l2:acc.6,l3;jnz k1;mov a,*8;jmp key;ljmp lk;k1:l3:acc.7,ne*t_key;call delay;mov a,*12;call ks;lk:add a,r6;jnz k2;mov r6,a;jmp key;k4:call ks;k2:jnz k4;mov a,r6;mov r0,*40h;mov dptr,*table0;movc a,a+dptr;mov 50h,a; 查表取值

27、存入50h保护键值ret;ne*t_key: inc r6;mov a,r2;jnb acc.7,key;rl a;mov r2,a;jmp k3;ks:mov p2,*0f0h;mov a,p2;*rl a,*0f0h;ret;设;置密码程序set_password:call clear_display;mov dptr,*table4;call input_hint;call password;c returnbit,set_password;先输入原密码完毕mov r5,*6;mov r0,*40h;mov r1,*34h;input_pere:mov a,r0;*rl a,r1;jnz

28、 input_error;inc r0;inc r1;nop;nop;djnz r5,input_pere;验证输入密码完毕jmp set_password0;input_error:setb speaker;setb led;call clear_display;z.mov 37h,43h;call input_hint;mov dptr,*tabIe5;caII deIay1_5s;caII input_hint;显示再次输入新密码完毕caII deIay1_5s;caII cIear_dispIay;cIr speaker;mov dptr,*tabIe4;cIr Ied;caII in

29、put_hint;inc 52h;mov rO,*46h;mov a,52h;caII password;cjne a,*3,set_password;c returnbit,set_password;sjmp $;第二次输入新密码完毕;输入密码错误次数超过 3 次,mov r5,*6;锁死mov rO,*4Oh;set_passwordO:mov r1,*46h;caII cIear_dispIay;set_pere:mov dptr,*tabIe2;mov a,rO;caII input_hint;*rI a,r1;mov rO,*4Oh;jnZ set_error;caII passwo

30、rd;inc rO;c returnbit,set_password;inc r1;第一次输入新密码完毕djnZ r5,set_pere;caII cIear_dispIay;mov 34h,4Oh;mov dptr,*tabIe3;mov 35h,41h;caII input_hint;mov 36h,42h;z.mov 38h,44h;mov 39h,45h;存入新密码完毕jmp main0;设置新密码成功,返回主程序set_error:setb speaker;setb led;call clear_display;mov dptr,*table5;call input_hint;cal

31、l delay1_5s;clr speaker;clr led;ljmp set_password0;前后两次输入新密码不一致, 返回重设;输; 入密码开锁程序input_password:call clear_display;mov dptr,*table4;mov r0,*40h;call password;c returnbit,input_password;输入原密码完毕mov r5,*6;mov r0,*40h;mov r1,*34h;input_pere0:mov a,r0;*rl a,r1;jnz input_error22;inc r0;inc r1;nop;nop;djnz

32、r5,input_pere0;验证输入密码完毕jmp display_right;input_error22:setb speaker;setb led;caII cIear_dispIay;jmp mainO; 返回主程序strat_dispIay:mov pO,*8Oh;caII write_instruction;mov dptr,*tabIe1;caII input_hint;mov pO,*OcOh;caII write_instruction; mov dptr,*tabIe11;caII input_hint;ret;cIear_dispIay:mov dispIay,*O1h;

33、 caII write_instruction;mov pO,*O6h;caII write_instruction; ret;input_hint:mov r5,*16;mov a,*OOh;aII_or_not:mov dptr,*tabIe5;caII input_hint;caII deIay1_5s;cIr speaker;cIr Ied;inc 52h;mov a,52h;cjne a,*3,input_password;sjmp $;输入密码错误超过 3次,锁死dispIay_right:caII cIear_dispIay;mov dptr,*tabIe6;caII input

34、_hint;显示输入密码正确提示完毕setb open; 开锁 ne*t_key1:caII key;nop;nop;cjne a,*'F',ne*t_key1;cIr open; 按下关锁键,关锁mov a,50h;movc a,a+dptr; mov display,a; call writedata; inc dptr;clr a;nop;nop;djnz r5,all_or_not; ret;password:mov r5,*6;mov r1,*0c0h;mov a,r1;mov p0,a;call write_instruction; loop1: call key;

35、nop;nop;cjne a,*'C',ne*t_to; setb returnbit; jmp endt;ne*t_to:mov r0,a;mov display,*'*'a call writedata;inc r1;inc r0;djnz r5,loop1;endt: ret;写;数据指令writedata: SETB rs;CLR rw;clr en;setb en;nop;nop;clr en;call delay;ret;写;指令write_instruction:z.CLR rs;pop 07h;CLR rw;ret;clr en;delay0_1

36、s: push 02h;setb en;push 03h;nop;mov r3,*0;nop;del21s:mov r2,*0;clr en;nop;call delay;nop;ret;djnz r2,$;J J J J J J J J J J J J J J J J J JJ J J J J J J Jdjnz r3,del21sJ J J J J J J J J J J J J J J J J J;延;时程序pop 03h;delay1_5s:push 07h;pop 02h;push 02h;ret;push 03h;delay:push 07h;mov r7,*15;push 06h;del22s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论