基于单片机的电子锁设计.docx
- 文档编号:18314754
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:27
- 大小:410.26KB
基于单片机的电子锁设计.docx
《基于单片机的电子锁设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子锁设计.docx(27页珍藏版)》请在冰点文库上搜索。
基于单片机的电子锁设计
综合课程设计
题目基于单片机的电子锁设计
院系:
电子工程学院
专业:
电子信息工程
班级:
电信
《综合课程设计》
课程设计任务书
题目
基于单片机的电子锁设计
学生姓名
学号
专业班级
设
计
内
容
与
要
求
1.复习MCS-51单片机的电路设计知识,学习键盘电路以及显示电路的设计方法。
2.熟悉51单片机串行通信的设计方法。
3.学习MCS-51单片机的编程指令及编程方法。
4.设计一种可修改密码的电子锁电路。
5.要求完成电路原理图设计,分析各部分电路的功能。
6.编写实现电路基本功能的程序。
7.完成原理图仿真,能够实现密码的修改、设置、存储等功能。
8.撰写课程设计报告,内容包括:
设计原理及思路、芯片选型、电路设计、电路分析、程序设计、仿真及结果分析、设计总结
起止时间
2016年6月11日至年月日
指导教师签名
年月日
系(教研室)主任签名
年月日
摘要
随着科技的发展和人民生活水平的提高,如何实现家庭防盗这一问题变得尤其突出,相对于传统机械锁而言,电子锁保密性好,使用灵活性好,安全系数高,因此受到广大用户的喜爱。
本设计以单片机AT89C51作为密码锁监控装置的检测和控制中心,分为主机控制和从机执行机构,实现钥匙信息在主机上的初步认证注册,密码信息的加密,钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误的动作,而且功率消耗低;反应速度快,传输效率高,工作稳定可靠等。
软件采用自上而下的模块化设计思想以使系统朝着分布式,小型化反向发展,增强系统的可扩展性和运行的稳定性。
测试结果表明每本系统以达到本设计的所有要求。
本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性好,灵活性高等特点,具有一定的推广价值。
关键字:
单片机密码锁电子锁
摘要…………………………………………………………………1
目录…………………………………………………………………3
绪论…………………………………………………………………4
第一章总体设计………………………………………………5
总体设计思路………………………………………………6
第二章硬件电路设计……………………………………………7
键盘电路设计………………………………………………7
LED灯显示电路……………………………………………8
开锁电路……………………………………………………10
报警电路……………………………………………………11
第三章软件设计…………………………………………………12
软件设计思路………………………………………………12
各子程序设计………………………………………………13
第四章系统调试…………………………………………………19
仿真结果……………………………………………………19
密码验证……………………………………………………19
总结…………………………………………………………………20
参考文献……………………………………………………………
附录1源程序清单…………………………………………21
附录2硬件原理图………………………………………………27
绪论
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。
锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以或暗码打开的扣件。
锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。
现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。
然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。
为什么会出现这种情况呢?
因为传统锁具都存在致命的弱点:
(1)锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;
(2)锁具制作工艺,技术落后,无法阻止技术手段的开启。
面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。
单片机,它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。
微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。
同样,本次在电子锁的设计过程中也用到了单片机。
本文从经济实用的角度出发,采用AT89C51单机,研制了一款具有防盗自动报警功能的电子密码锁。
该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。
第一章总体设计电路
系统功能:
(1)系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。
(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。
(3)具有自动报警功能。
自动报警分现场报警和远程报警两种。
现场报警由扬声器发出报警声。
(4)两种情况下可报警:
一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。
系统工作时,用户通过按键输入4位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。
设计方案
采用以单片机为核心的方案设计如图所示:
采用以AT89C51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能[1]。
其原理如图所示。
图:
单片机控制方案
采用以上方案,其能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,保密性能也好。
设计思路
设计思路如下:
输入密码用矩形键盘,包括数字键和功能键。
LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
用发光二极管代替开锁的电路,发光表示开锁。
输入密码错误次数超过3次,系统报警。
打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。
这样可预防停电后再来电时无密码可用。
按“C”键,清除显示器为“000000”。
欲重新设定密码,先输入密码在案“*”。
输入密码,再按“D”键。
若密码与设定密码相同,则开门。
否则显示器清为“000000”。
软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。
第2章硬件电路设计
2.1键盘电路设计
使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法[3]。
其原理如图2.1所示
图2.1矩阵键盘
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:
一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照图1.1所示的4×4键盘,说明线反转个工作原理[5]。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:
向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。
方法是:
依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
具体的功能设计如表2.1
表2.1按键说明
按键
键名
功能说明
1-9键
数字键
输入密码
*键
重设密码键
设定新密码
D键
确定键
比较密码
#键
清除键
使显示器清零
2.2LED显示电路
本系统设计的显示电路是为了给使用者以提示而设置的。
本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能[4]。
显示电路的电路原理图如图2.2所示。
用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。
通过软件实现数字和位控制。
图2.2LED显示电路
用74LS247可以控制输出什么字型。
74LS247的逻辑功能表如表2.2
表2.274LS247的逻辑功能表
用74LS138控制位循环显示,其逻辑功能表如表2.3
表2.374LS138逻辑功能表
C
B
A
Y1
Y2
Y0
Y3
Y4
Y5
Y6
Y7
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
2.3开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。
电路图如2.3所示。
当P2.0口输出低电平时,二极管发光,表示开锁[6]。
如图2.3所示
图2.3开锁电路
2.4报警电路
图2.4报警电路
报警模块由蜂鸣器和单片机组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图2.4所示。
当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为电平时,蜂鸣器则不发声。
第3章软件设计
3.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
各子程序设计:
3.2.1键盘扫描子程序
键盘扫描流程图如图3.1
图3.1键盘扫描流程图
键盘扫描子程序如下:
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
SETBC
RRCA
MOVR3,A
JCL3
JMPL2
3.2.2LED显示子程序
LED显示流程图如图3.2
图3.2LED显示流程图
LED显示子程序如下:
DISP:
MOVR0,#45H
DISP1:
MOVA,@R0
ADDA,#50H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#40H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#30H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#20H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#10H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#00H
MOVP0,A
CALLDELAY
RET
3.2.3密码比较和报警程序
密码比较和报警流程图如3.3
图3.3密码比较和报警流程
密码比较和报警程序如下:
COMP:
MOVR1,#45H
MOVR0,#35H
MOVR2,#06H
C1:
MOVA,@R1
XRLA,@R0
JNZC3
DECR1
DECR0
DJNZR2,C1
CLRP2.0
MOVR2,#200
C2:
MOVR6,#248
DJNZR6,$
DJNZR2,C2
C3:
INCR5
MOVA,R5
MOVR5,A
CJNER5,#03H,C4
CLRP2.1
MOVR5,#00H
C4:
JMPSTART
第4章系统调试
4.1仿真效果
本次调试采用Protues软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试[7]。
依次按下1,2,3,4,5,6后,LED显示如图4.1:
图4.1LED显示
4.2密码验证
按下确定键后,二极管灯亮,表示正确开门密码,身份验证通过,打开门锁。
如图4.2:
图4.2密码验证电路
总结
课程设计是培养学生综合运用所学知识,对所学知识的一种检验,也是对自己能力的提高。
通过这次课程设计使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,我明白了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
回顾做课程设计的过程,至今我仍感慨颇多,真是万事开头难,的确,从选题到定稿,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,也让同学之间的感情更进了一步,于此同时还可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次设计,使我受益匪浅,一定把以前所学过的知识重新温故。
这次设计终于顺利完成了,对我而言,知识上的收获,精神上的丰收,让我很高兴。
让我知道了学无止境的道理。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
挫折是一份财富,经历是一份拥有。
参考文献
(1)段晨东单片机原理及接口技术第2版清华大学出版社,2008
(2)王迎旭主编·《单片机原理及应用》·北京·机械工业出版社·2001
[2]周慈航主编·《单片机应用程序设计技术》·北京·航空航天大学出版社·2001
[3]刘进峰主编·《电子制作实训》·中国劳动社会保障出版社·2006
[4]张洪润主编·《单片机应用技术教程》·北京·清华大学出版社·1997
[5]张友汉主编·《电子线路设计应用手册子》·福建·科学技术出版社版社
[6]董孝昌主编·《单片机原理与应用》·大连·东北财经大学出版社·2004
[7]陈爱弟主编·《Protues实用培训教程》·北京·人民邮电出版社·2000
附录1源程序清单
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
SETBC
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
MOVA,R1
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVR7,A
XRLA,#0AH
JZSET0
MOVA,R7
XRLA,#0BH
JZSTART
MOVA,R7
XRLA,#0CH
JZL2
MOVA,R7
XRLA,#0DH
JZL2
MOVA,R7
XCHA,40H
XCHA,41H
XCHA,42H
XCHA,43H
XCHA,44H
XCHA,45H
CALLDISP
JMPL2
X3:
JMPDISP2
X4:
JMPCOMP
DISP:
MOVR0,#45H
DISP1:
MOVA,@R0
ADDA,#50H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#40H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#30H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#20H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#10H
MOVP0,A
CALLDELAY
DECR0
MOVA,@R0
ADDA,#00H
MOVP0,A
CALLDELAY
RET
SET0:
MOVR2,#06H
MOVR0,#40H
MOVR1,#30H
E1:
MOVA,@R0
XCHA,@R1
INCR0
INCR1
DJNZR2,E1
CALLDELAY
E2:
JMPSTART
COMP:
MOVR1,#45H
MOVR0,#35H
MOVR2,#06H
C1:
MOVA,@R1
XRLA,@R0
JNZC3
DECR1
DECR0
DJNZR2,C1
CLRP2.0
MOVR2,#200
C2:
MOVR6,#248
DJNZR6,$
DJNZR2,C2
C3:
INCR5
MOVA,R5
MOVR5,A
CJNER5,#03H,C4
CLRP2.1
MOVR5,#00H
C4:
JMPSTART
DISP2:
MOVR0,#35H
CALLDISP
MOVA,P1
XRLA,R4
JZDISP2
CALLDELAY
JMPSTART
DELAY:
MOVR7,#C3
D3:
MOVR6,#248
DJNZR7,D3
RET
ORG300H
TABLE:
DB01H02H03H0CH
DB04H05H06H0DH
DB07H08H09H0EH
DB0AH00H0BH0FH
DB01H02H03H04H05H06H
EN
附录2硬件原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子锁 设计