基于单片机的密码锁设计方案毕业设计.docx
《基于单片机的密码锁设计方案毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的密码锁设计方案毕业设计.docx(12页珍藏版)》请在冰点文库上搜索。
![基于单片机的密码锁设计方案毕业设计.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/9cf6d96f-504d-4ed8-be04-9f138f23edd7/9cf6d96f-504d-4ed8-be04-9f138f23edd71.gif)
基于单片机的密码锁设计方案毕业设计
目录
第一章前言-----------------------------------------------------------------------------1
第二章基本功能设计---------------------------------------------------------------2
⏹2.1实验任务-----------------------------------------------------------------2
⏹2.2基本设计------------------------------------------------------------------2
⏹2.3系统框图----------------------------------------------------------------2
第三章硬件设计-----------------------------------------------------------------------3
3.1硬件工作接线口----------------------------------------------------------------3
3.2LED显示器结构与原理-------------------------------------------------------3
3.3复位电路-----------------------------------------------------------------------------5
3.4按键方式---------------------------------------------------------------------------5
3.5电路原理图-------------------------------------------------------------------------6
第四章软件设计--------------------------------------------------------------------7
4.1功能说明----------------------------------------------------------------------------------7
4.2软件结构----------------------------------------------------------------------------------7
4.3源程序--------------------------------------------------------------------------------------9
第五章心得体会-----------------------------------------------------------------------14
第六章参考文献-----------------------------------------------------------------------15
元器件清单-------------------------------------------------------------------------------16
第一章前言
一种能防止多次试探密码的基于单片机的密码锁设计方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。
我们知道现在很多行业都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,可以经常更改密码,防止密码被盗;当密码输入错误多次时,报警系统可自动启动。
它们有很多扩展功能:
用户可以根据实际情况随意改变密码值或密码长度,按下“密码修改键”提示用户输入原密码,通过校验后提示输入新密码,一次写入CPU存储器中,另一次写入单片机内部RAM中,以便机器确认密码的正确性。
输入完毕后,按修改确认键,两次的密码完全一致时,密码修改完成。
我们这可以在输入的密码与程序中设定的密码相比,若失误,会有灯亮提示,但三次后都错误,系统可自动报警。
防盗报警功能是利用断线方式报警,当CPU检测不到返回信号时,系统自动报警单元报警,正常开启锁时,系统自动切断报警单元的电源。
第二章基本功能设计
1、实验任务
根据设定好的密码,采用矩阵式按键实现密码的输入功能,当密码输入正确之后,锁就打开(即绿灯亮),如果输入的三次密码不正确,就锁定按键3秒钟,同时报警(即红灯亮)。
2、基本设计
我们将密码程序存在EPROM中,用户通过单片机上P1.0口上的12按键进行选择。
具体操作如下:
首先按一下P1.0口上的按键,然后再逐渐输入密码,最后按#号确认即可。
设置显示初始符号“—”,为了帮助用户确认是否有键按下,并且防止密码外泄,在输入显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有键按下。
有键按下,就会显示字符“F”,没有键按下就是初始状态。
首先按下P1.0口上的按键,然后输入密码,正确则绿灯亮,输入三次都不正确的则红灯亮。
3、系统框图
第三章硬件设计
1、硬件工作接线口
P0口接数码管,用来显示按键是否按下,P1口接键盘,P2口按串行方式传送信号给数码管,P2.0口显示电磁锁开还是闭合状态。
把单片机系统区域中的P0口用导线连接“四路静态数码显示”的任一端口上,把单片机系统区域中的P1口上接独立式键盘。
2、LED显示器结构与原理
LED显示块是由发光显示二极管显示字段的显示器件。
在单片机中我们通常用七段LED,这种显示共有共阴极和共阳极两种,本设计是用共阳极,是LED显示块的发光二极管与阳极并接,如图所示
通常的七段显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。
七段显示块与单片机接口非常容易。
只要将一个8位并行输出与显示块的发光二极管引脚相连即可。
8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。
显示字符
共阳极段选码
显示字符
共阳极段选码
0
C0H
A
88H
1
F9H
B
7CH
2
A4H
C
C6H
3
B0H
D
A1H
4
99H
E
86H
5
92H
F
8EH
6
82H
7
F8H
8
80H
9
90H
3、复位电路
如图所示为80C51型单片机上电复位电路。
80C51型单片机将复位,为保证微分脉冲宽度足够大,一般取10μF电容。
4、按键方式
按键方式有独立式和行列式两种,本设计是采用独立式,共设置5个按键。
独立式按键是指直接用I/O口线构成的单个按键电路。
每个独立按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。
若按键AN1~AN5分别代表数码1~5,AN0代表#号。
在没有键按下时,P1.0~P1.7都是高电平1,若某个键被按下,相应的接口线就变为低电平0。
开锁时必须先按AN1,使从P1口读入的第一个值与存储单元的设定值相同,再顺序按按钮将密码输入,才能开锁。
5、电路原理图
第四章软件设计
1、功能说明
1.1将密码存放在TABLE(DB02H,02H,01H,05H,08H,02H),输入221582时,再按“*”就可打开电锁,然后清除显示器为“000000”.
1.2如按错则重新输入或按“#”,将显示器清除为“000000”
2、软件结构
2、源程序
ORG0000H
START:
ORLP2,#0FFH
MOVR4,#06H
MOVR0,#30H
CLEAR:
MOV@R0,#00H
INCR0
DJNZR4,CLEAR
L1:
MOVR3,#0F7H
MOVR1,#00H
L2:
MOVA,R3
MOVP1,A
MOVA,P1
MOVR4,A
SETBC
MOVR5,#03H
L3:
RLCA
JNCKEYIN
INCR1
DJNZR5,L3
CALLDISP
MOVA,R3
SETBC
RRCA
MOVR3,A
JCL2
JMPL1
KEYIN:
MOVR7,#60H
D2:
MOVR6,#248
DJNZR6,$
DKNZR7,D2
D3:
MOVA,P1
XRLA,R4
JZD3
MOVA,R1
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVR7,A
XRLA,#0AH
JZCOMP
MOVA,R7
XRLA,#0BH
JZSTART
MOVA,R7
XCHA,30H
XCHA,31H
XCHA,32H
XCHA,33H
XCHA,34H
XCHA,35H
CALLDISP
JMPL1
DISP:
MOVA,#35H
ADDA,#50H
MOVP0,A
CALLDELAY
MOVA,#34H
ADDA,#40H
MOVP0,A
CALLDELAY
MOVA,#33H
ADDA,#30H
MOVP0,A
CALLDELAY
MOVA,#32H
ADDA,#20H
MOVP0,A
CALLDELAY
MOVA,#31H
ADDA,#10H
MOVP0,A
CALLDELAY
MOVA,#30H
ADDA,#00H
MOVP0,A
CALLDELAY
RET
COMP:
MOVR0,#35H
MOVR2,#06H
MOVR7,#12
X4:
MOVA,R7
MOVDPTR,#TABLE
MOVCA,@A+DPTR
XRLA,@R0
JNZX7
DEC
R0
INCR7
DJNZR2,X4
MOVP2,#0FFH
MOVR2,#200
X6:
MOVR6,#248
DJNZR6,$
DJNZR2,X6
X7:
JMPSTART
DELAY:
MOVR7,#06
D1:
MOVR6,#248
DJNZR6,$
DJNZR7,D1
RET
TABLE:
DB01H,02H,03H
DB04H,05H,06H
DB07H,08H,09H
DB0AH,00H,0BH
DB02H,02H,01H,05H,08H,02H
END
五、心得体会
自己写--------------------------------------------------------------------------
第六章参考文献
1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.2004.
2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.
3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社
4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.
5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.
元器件清单
元件名称
参数
元件名称
参数
PNP(三极管)
MPS6518
电源
5V、12V
单片机
89C51
电阻
470k
晶体振荡器
12MHZ
74LS04
瓷片电容
22UF
开关
KEYPAD-PHONE
显示器
7SEG-MPX6-C6
编码器
74ls138
译码器
7447
无极性电容
22uf
锁
搞rl-1a-cf-dc12
驱动器
ULN2003
本文来自网络,版权归原作者所有,请下载后,尽快删除。