电子密码锁课程设计报告Word下载.docx
《电子密码锁课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《电子密码锁课程设计报告Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
而在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。
机械锁的这些弊端为一种新型的锁——电子密码锁,提供了很大的发展空间。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,它在键盘上输入密码,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。
但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。
当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。
因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中。
本设计采用单片机为主控芯片,根据任务要求,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开。
第2章设计的方案及基本原理
2.1方案
初步设计思路如下:
输入密码用矩形键盘,包括数字键和功能键。
LED数码管显示输入密码,用74LS138控制各位显示器分时进行显示。
打开电源后,数码管显示“000000”,初始化密码为“123456”,密码可以更改,并保存在RAM中。
按下“#”,则显示全部清零为“000000”。
当键入一个新数值时,原来显示的数字左移一位,并在最右边的一位上显示出新键入的键值,键值为0~9。
输入密码,按下“D”键,则表示确定键按下,则进行密码对比,如相符则在LED数码管上显示“======”以示通过;
如不符,则显示“------”。
2.2矩阵键盘基本原理
键盘输入电路采用的是4X4的矩阵键盘,因为本设计所用到的按键数量较多而不适合用独立按键式键盘因此采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行线和列线的交叉点上,密码锁的密码输入由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。
本设计中使用的这个4X4键盘不但能完成密码的输入还能作特别功能键使用,设置功能等。
键盘的每个按键功能在程序设计中设置。
其按键结构及与单片机引脚接法如图2-2所示。
图2-2矩阵键盘与单片机连接图
2.3显示电路
而本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图2-3所示。
000000
图2-3显示电路图
第3章程序设计
通过初步的设计思路,画出如图3-1所示程序流程图:
N
Y
图3-1程序流程图
第4章调试结果及分析
4.1系统调试
本次调试采用Proteus软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。
依次按下1,2,3,4,5,6后,LED显示如图4-1所示。
图4-1LED显示输入密码图
4.2分析与体会
在此次设计中我们必须首先熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的特性,控制方法。
以及单片机核心电路设计的基本方法和技术,了解有关电路参数的计算方法。
单片机不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
而在这次设计电子密码锁的过程中它,我学到了很多有关电子密码锁的设计方法与工作原理。
我不但巩固了以前所学过的知识,也学到了很多在书本上所没有学到过的知识。
同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,原本以为我们学习的课程很多了。
但是当我们要真正的用我们已学过的知识来解决实际的问题时,开始我们都茫然了。
一个小小的电子密码锁,其中包含的学问居然有那么多。
所以,我们要学的东西真的还有很多很多,只有把所学的理论知识与实践相结合起来,在实际的操作过程中,我们才能够体会到其中意义,从而提高自己的实际动手能力和独立思考的能力。
必然,在本次课程设计过程中难免会遇到过各种各样的问题,同时发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编及C语言掌握得不好,不过我能够充分利用网络的优势去查阅资料。
通过这次课程设计之后,一定把以前所学过的知识好好温故一下。
通过对该课题的研究,加深了我们对所学知识的理解,提高了对课外知识的学习和解决实际问题的能力,也增强了知识的应用能力。
培养自我创新意识,积累实践经验,为我们以后的发展打下基础,并能够在这方面培养一定的兴趣。
参考文献
[1]李学海.标准8051单片机基础教程[M].北京:
北京航空航天大学出版,2006
[2]江志红.51单片机技术与应用系统开发[M].北京:
清华大学出版社,2008
[3]周立功.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2006
[4]陈连坤.单片机原理及接口技术[M].北京:
北京交通大学出版社,2010
[5]杨居义.单片机课程设计指导[M].北京:
清华大学出版社,2009
[6]赵晓安.MCS-51单片机设计实例[M].北京:
北京航空航天大学出版社,2003
附录
ORG00H
MOVR5,#00H
MOVR7,#00H
DJNZR7,$
MOVR7,#10H
MOVR6,#06H
MOVR1,#35H
L1:
MOVA,R7
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOV@R1,A
DECR1
INCR7
DJNZR6,L1
START:
ORLP2,#0FFH
MOVR4,#06H
MOVR0,#40H
CLEAR:
MOV@R0,#00H
INCR0
DJNZR4,CLEAR
L2:
MOVR3,#0F7H
MOVR1,#00H
L3:
MOVA,R3
MOVP1,A
MOVA,P1
MOVR4,A
SETBC
MOVR5,#04H
L4:
RLCA
JNCKEYIN
INCR1
DJNZR5,L4
CALLDISP
MOVA,R3
RRCA
MOVR3,A
JCL3
JMPL2
KEYIN:
MOVA,R1
XRLA,#0BH
JZX3
MOVA,R1
XRLA,#0FH
JZX4
MOVR7,#10
D1:
MOVR6,#24
DJNZR6,$
DJNZR7,D1
D2:
MOVA,P1
XRLA,R4
JZD2
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVR7,A
XRLA,#0AH
JZSET0
MOVA,R7
JZSTART
XRLA,#0CH
JZL2
XRLA,#0DH
XCHA,40H
XCHA,41H
XCHA,42H
XCHA,43H
XCHA,44H
XCHA,45H
X3:
JMPDISP2
X4:
JMPCOMP
DISP:
MOVR0,#45H
DISP1:
MOVA,@R0
ADDA,#50H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#40H
ADDA,#30H
ADDA,#20H
ADDA,#10H
ADDA,#00H
RET
SET0:
MOVR2,#06H
MOVR1,#30H
E1:
XCHA,@R1
DJNZR2,E1
E2:
JMPSTART
COMP:
MOVR1,#45H
MOVR0,#35H
MOVR2,#06H
C1:
MOVA,@R1
XRLA,@R0
JNZC3
DECR1
DJNZR2,C1
CLRP2.0
MOVR2,#200
C2:
MOVR6,#248
DJNZR2,C2
C3:
INCR5
MOVA,R5
MOVR5,A
CJNER5,#03H,C4
CLRP2.1
MOVR5,#00H
C4:
JMPSTART
DISP2:
MOVR0,#35H
JZDISP2
JMPSTART
DELAY:
MOVR7,#C3
D3:
DJNZR7,D3
ORG300H
TABLE:
DB01H02H03H0CH
DB04H05H06H0DH
DB07H08H09H0EH
DB0AH00H0BH0FH
DB01H02H03H04H05H06H
END