资源描述
电子密码锁设计说明书
院 系: 机电汽车工程学院
专 业: 机械设计制造及其自动化
班 级:
姓 名:
学 号:
指导老师:
同组人员:
汉字摘要
摘要:
伴随经济发展,大家对日常生活质量要求也越来越高,从工作、学习、出行、购物等各个方面,大家也对现代安全设施提出来更高要求。在安全技术防范领域,含有防盗报警功效电子密码锁逐步替换传统,克服了机械式密码锁密码量少、安全性能差缺点,使密码锁不管在技术上还是在性能上全部大大提升一步。密码锁含有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、教授分析系统等功效,从而使密码锁含有很高安全性、可靠性,应用日益广泛。
此次电子密码锁设计关键就针对于这种社会需求,从程序设计到硬件设计和硬件安装连接全部做了具体说明。
设计说明
此次设计使用 ATMEL企业 AT89C51 实现一基于单片机电子密码锁设计,其关键含有以下功效:
①密码经过键盘输入,若密码正确,则将锁打开。
②报警、锁定键盘功效。密码输入错误数码显示器会出现错误提醒,若密码输入错误次数超出 3 次,蜂鸣器报警而且锁定键盘。
电子密码锁设计关键由三部分组成:4×4 矩阵键盘接口电路、密码锁控制电路、输出八段显示电路。另外系统还有 LED 提醒灯,报警蜂鸣器等。
密码锁设计关键问题是实现密码输入、清除、更改、开锁等功效:
①密码输入功效:按下一个数字键,一个“-”就显示在最右边数码管上,同时将先前输入全部“-”向左移动一位。
②密码清除功效:当按下清除键时,清除前面输入全部值,并清除全部显示。
③开锁功效:当按下开锁键,系统将输入和密码进行检验查对,假如正确锁打开,不然不打开。
关键设计实施过程:首先,选择 ATMEL企业单片机 AT89C51,和选购其它电子元器件。第二步,使用 DXP
设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采取万能板焊接方法)。第三步,使用 Keil uVision3 软件编写单片机 C 语言程序、仿真、软件调试。第四部,使用 PROTEUS 软件进行模拟软、硬件调试。最终,联合软、硬件调试电路板,完成此次毕业设计。
关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确定;电子密码锁
目录
汉字摘要 ……………………………………………………………… 2
设计说明…………………………………………………………………3
目录………………………………………………………………………5
第1章 系统总体方案设计…………………………………………… 1
1.1 系统法案选择 ……………………………………………… 1
1.2 系统设计思绪……………………………………………………2
第2章 硬件电路设计 ……………………………………………….3
2.1 键盘电路设计 ………………………………………………… 3
2.2 LED显示电路……………………………………………………4
2.3 开锁电路 ……………………………………………………… 6
2.4 报警电路…………………………………………………………7
第3章 软件设计 …………………………………………………… 9
3.1 软件设计思绪……………………………………………………9
3.2 各子程序设计………………………………………………… 10
第4章 系统调试 …………………………………………………….15
4.1系统硬件连接示意图……………………………………………15
4.2系统测试局部示意图…………………………………………16
第5章 心得体会………………………………………………………17
第6章 参考文件………………………………………………………18
附 录 ………………………………………………………………19
源程序清单 …………………………………………………………19
第一章:系统总体方案设计
1.1 系统方案选择:
综合其它多个方案设计优缺点,采取以AT89S51为关键单片机控制方案。利用单片灵巧活编程设计和丰富IO端口,及其控制正确性,不仅能实现基础密码锁功效,还能添加调电存放、声光提醒甚至添加遥控控制功效。其原理图1-2所表示。
89S51
单片机
矩阵
键盘
控制
输入错误锁定键盘
延时报警控制电路
AT24C02掉电存放
开锁控制电路
指示电路
串口显示电路
图2-2单片机控制方案
该方案有较大活动空间,不仅能实现所要求功效而且能在很大程度上扩展功效,而且还能够方便对系统进行升级。本方案采取一个是用以89S51为关键单片机控制方案。利用单片灵巧活编程设计和丰富I/O端口,及其控制正确性,实现基础密码锁功效。
1.2系统设计思绪:
1.输入密码用矩形键盘,包含数字键和功效键。
2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
3.用发光二极管替换开锁电路,发光表示开锁。
4.输入密码错误次数超出3次,系统报警。
5.打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这么可预防停电后再来电时无密码可用。
6.按“C”键,清除显示器为“000000”。
7.欲重新设定密码,先输入密码在案“*”。
8.输入密码,再按“D”键。若密码和设定密码相同,则开门。不然显示器清为“000000”。
9.软件设计关键包含键盘键值读取,LED显示程序,密码比较程序和报警程序。
第2章 硬件电路设计
2.1 键盘电路设计
使用矩阵键盘,所以本设计就采取行列式键盘,同时也能降低键盘和单片机接口时所占用I/O线数目,在按键比较多时候,通常采取这么方法。其原理图2.1
。
图2.1 矩阵键盘
每一条水平(行线)和垂直线(列线)交叉处不相通,而是经过一个按键来连通,利用这种行列式矩阵结构只需N条行线和M条列线,即可组成含有N×M个按键键盘。
在这种行列式矩阵键盘非键盘编码单片机系统中,键盘处理程序首先实施等候按键并确定有没有按键按下程序段。
当确定有按键按下后,下一步就要识别哪一个按键按下。对键识别通常有两种方法:一个是常见逐行扫描查询法;另一个是速度较快线反转法。
对照图2.1所表示4×4键盘,说明线反转个工作原理。
首先分辨键盘中有没有键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判定。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线电平状态读入累加器A中。假如有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判定键盘中哪一个键被按下使经过将列线逐列置低电平后,检验行输入状态来实现。方法是:依次给列线送低电平,然后查全部行线状态,假如全为1,则所按下键不在此列;假如不全为1,则所按下键必在此列,而且是在和零电平行线相交交点上那个键。
具体功效设计如表2.1:
表2.1 按键功效
按 键
键 名
功 能 说 明
1-9键
数 字 键
输 入 密 码
* 键
重 设 密 码 键
设 定 新 密 码
D键
确 定 键
比 较 密 码
# 键
清 除 键
使 显 示 器 清 零
2.2LED显示电路
本系统设计显示电路是为了给使用者以提醒而设置。本系统显示采取串行显示方法,只使用单片机一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就能够完成单片机显示功效,显示电路电路原理图图2.2所表示。
用P0.0—P0.3接74LS247A,B,C,D四端口,74LS247输出口接LED七段显示;而P0.4—P0.6接74LS138A,B,C三个输入口,74LS138输出口接LED位显示。经过软件实现数字和位控制。
图2.2 LED显示电路
用74LS247能够控制输出什么字型。74LS247逻辑功效表如表2.2:
表2.2 74LS247逻辑功效表
用74LS138控制位循环显示,其逻辑功效表如表2.3:
表2.3 74LS138逻辑功效表
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口输出低电平时,二极管发光,表示开锁。
图3.3 开锁电路
2.4报警电路
图2.4 报警电路
报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路图2.4所表示。当89C51P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
第三章 软件设计
3.1软件设计思绪
电子密码锁工作关键过程是LED数码管提醒开始输入密码,经过键盘输入密码,同时LED显示密码输入情况,按下确定键后判定密码正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码设定,在此程序中密码是固定40H—45H 中,假设预设密码为"123456"共6位密码。
因为采取两个按键来完成密码输入,那么其中一个按键为功效键,另一个按键为数字键。在输入过程中,首先输入密码长度,接着依据密码长度输入密码位数,直到全部长度密码全部已经输入完成;或输入确定功效键以后,才能完成密码输入过程。进入密码判定比较处理状态并给出对应处理过程。
3.2 各子程序设计
1. 键盘扫描子程序
键盘扫描步骤图图3.2.1
图3.2.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
2. LED显示子程序
LED显示步骤图图3.2.2
图3.2.2 LED显示步骤图
LED显示子程序以下(请结合总程序进行阅读):
DISP:MOV R0,#45H
DISP1: MOV A,@R0
ADD A,#50H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#40H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#30H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#20H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#10H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#00H
MOV P0,A
CALL DELAY
RET
3 密码比较和报警程序
密码比较和报警步骤图如3.2.3
图3.2.3 密码比较和报警步骤
密码比较和报警程序(请结合总程序进行阅读):
COMP: MOV R1,#45H
MOV R0,#35H
MOV R2,#06H
C1: MOV A,@R1
XRL A,@R0
JNZ C3
DEC R1
DEC R0
DJNZ R2,C1
CLR P2.0
MOV R2,#200
C2: MOV R6,#248
DJNZ R6,$
DJNZ R2,C2
C3: INC R5
MOV A,R5
MOV R5,A
CJNE R5 ,#03H,C4
CLR P2.1
MOV R5,#00H
C4: JMP START
第四章 系统调试
4.1系统硬件连接示意图:
4.2 系统测试局部
此次调试采取Protues软件仿真。首先设计电子密码锁源程序,源程序经过汇编后,生成目标文件经过仿真调试。
依次按下1,2,3,4,5,6后,LED显示图4.1
图4.1 LED显示
按下确定键后,二极管亮,表示密码正确开门。图4.2
图4.2 密码正确开门
第6章 心得体会
课程设计意在让学生养成独立思索研究进而对现实中问题进行开发处理过程,是使学生提升发觉、提出、处理问题能力,锻炼学生实践能力关键,也是对学生综合能力和工作能力具体训练和考察过程。伴随科学技术发展日新日异,单片机已经成为当今计算机应用中空前活跃领域, 在生活中能够说得是无处不在。所以作为二十一世纪大学来说掌握单片机开发技术是十分关键。
回顾起此次两个星期单片机课程设计过程,至今我仍感慨颇多。从最初选定课题,到以后辛勤努力查找资料研究设计,当中有苦也有甜。苦是天天全部忙忙碌碌研究问题处理问题,甜自然是从处理问题过程中得到了愉快得到了前所未有满足感。从中我们不仅学习到了新知识,也对再课堂上学习理论知识进行了有效实践,既是巩固有事发展。经过这次课程设计使我知道了理论和实际相结合是很关键,只有理论知识是远远不够,只有把所学理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己实际动手能力和独立思索能力。这次课程设计最终顺利完成了,在设计中碰到了很多编程问题,在同学帮助下,最终游逆而解。很感谢!
第7章 参考文件
[1]《单片机原理及及应用》王迎旭编 机械工业出版社
[2]《单片机应用程序设计技术》 周航慈 著 北京航空航天大学出版社
[3] 黄志君,高峰,王建.轮胎压力监测系统[J].广西工学院学报.(4):9~12.
[4] 其它网路知识论坛和baidu文库等。
附 录
源程序清单
ORG 00H
MOV R5,#00H
MOV R7,#00H
DJNZ R7,$
MOV R7,#10H
MOV R6,#06H
MOV R1,#35H
L1: MOV A,R7
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV @R1,A
DEC R1
INC R7
DJNZ R6,L1
START: ORL P2,#0FFH
MOV R4,#06H
MOV R0,#40H
CLEAR: MOV @R0,#00H
INC R0
DJNZ R4,CLEAR
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
KEYIN: MOV A,R1
XRL A,#0BH
JZ X3
MOV A,R1
XRL A,#0FH
JZ X4
MOV R7,#10
D1: MOV R6,#24
DJNZ R6,$
DJNZ R7,D1
D2: MOV A,P1
XRL A,R4
JZ D2
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R7,A
XRL A,#0AH
JZ SET0
MOV A,R7
XRL A,#0BH
JZ START
MOV A,R7
XRL A,#0CH
JZ L2
MOV A,R7
XRL A,#0DH
JZ L2
MOV A,R7
XCH A,40H
XCH A,41H
XCH A,42H
XCH A,43H
XCH A,44H
XCH A,45H
CALL DISP
JMP L2
X3: JMP DISP2
X4: JMP COMP
DISP: MOV R0,#45H
DISP1: MOV A,@R0
ADD A,#50H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#40H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#30H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#20H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#10H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#00H
MOV P0,A
CALL DELAY
RET
SET0: MOV R2,#06H
MOV R0,#40H
MOV R1,#30H
E1: MOV A,@R0
XCH A,@R1
INC R0
INC R1
DJNZ R2,E1
CALL DELAY
E2: JMP START
COMP: MOV R1,#45H
MOV R0,#35H
MOV R2,#06H
C1: MOV A,@R1
XRL A,@R0
JNZ C3
DEC R1
DEC R0
DJNZ R2,C1
CLR P2.0
MOV R2,#200
C2: MOV R6,#248
DJNZ R6,$
DJNZ R2,C2
C3: INC R5
MOV A,R5
MOV R5,A
CJNE R5 ,#03H,C4
CLR P2.1
MOV R5,#00H
C4: JMP START
DISP2: MOV R0,#35H
CALL DISP
MOV A,P1
XRL A,R4
JZ DISP2
CALL DELAY
JMP START
DELAY: MOV R7,#C3
D3: MOV R6,#248
DJNZ R7,D3
RET
ORG 300H
TABLE: DB 01H 02H 03H 0CH
DB 04H 05H 06H 0DH
DB 07H 08H 09H 0EH
DB 0AH 00H 0BH 0FH
DB 01H 02H 03H 04H 05H 06H
END
展开阅读全文