单片机课设数字密码锁.docx
- 文档编号:4878383
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:22
- 大小:148.50KB
单片机课设数字密码锁.docx
《单片机课设数字密码锁.docx》由会员分享,可在线阅读,更多相关《单片机课设数字密码锁.docx(22页珍藏版)》请在冰豆网上搜索。
单片机课设数字密码锁
1引言
本次设计使用AT89C51实现一基于单片机的电子密码锁。
本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。
系统能完成开锁、超次锁定、修改用户密码基本的密码锁的功能。
除上述基本的密码锁功能外,还具有温度显示、时间显示等功能,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用。
随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。
电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁---电子密码锁,提供了发展的空间。
电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。
大大提高了主人物资的安全性,安全可以代替老式机械锁。
目前使用的密码锁种类繁多,各具特色。
本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。
该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。
随着人们对安全的重视和科技的发展,许多电子智能锁已在国内外相继面世。
但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
关键词:
单片机AT89C51LCD显示矩阵键盘自动报警
2.系统设计
2.1系统总设计结构图
图2-1系统总设计结构图
本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电路组成。
单片负责控制整个系统的执行过程。
2.2.开锁机构设计
通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。
本设计通过P3.0接一个3极管驱动继电器打开电磁阀线圈实现开关门。
密码正确
图2-2密码锁开锁机构示意图
当用户输入的密码正确而且是在规定的时间及次数输入之内,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。
2.2.1主控芯片AT89C51单片机的简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
图2-3AT89C51芯片图
3系统硬件设计
3.1键盘设计
为了使本电路更加简洁,本电子锁的密码锁采用简单易学但不为多数人知道的摩期码作为电路的密码输入。
键盘硬件设备只需要一个按即可实现密码的输入与更改。
关于摩斯码的介绍如下:
摩斯密码是20世纪使用较为广泛的电报传输使用的一种编码。
电报最早是由美国的摩尔斯在1844年发明的,故也被叫做摩尔斯电码。
它由一个输入按键在输入时按住的间隔时间长短组成来决定你的输入:
短促的点信号".",读"嘀"(Di);保持一定时间的长信号"—",读"嗒"(Da)。
间隔时间:
"嘀"1t;"嗒"3t;"滴嗒"间1t;字母间3t;字间5t。
表3-1字符—摩斯码对照表
字符
摩斯码
字符
摩斯码
字符
摩斯码
A
._
M
__
Y
_.__
B
_...
N
_.
Z
__..
C
_._.
O
___
1
.____
D
_..
P
.__.
2
..__
E
.
Q
__._
3
...__
F
.._.
R
._.
4
...._
G
__.
S
...
5
.....
H
....
T
_
6
_....
I
..
U
.._
7
__...
J
.___
V
..._
8
___..
K
_._
W
.__
9
____.
L
._..
X
_.._
0
_____
注:
摩斯码用在数字电路中“-”表示1,“.”表示0,如0翻译成二进制数为11111H,十六进制数为1FH。
本电路设计只取0~9数字作密码有效数字,如果输入其它字符则无效。
表3-2本设计用到的数字的摩斯码和二进制对照
数字
0
1
2
3
4
5
6
7
8
9
摩斯码
11111
01111
00111
00011
00001
00000
10000
11000
11100
11110
2进制
11111
01111
00111
00011
00001
00000
10000
11000
11100
11110
3.2系统电路设计:
本系统电路主芯片AT89C51,晶振和两个电容组成的时钟脉冲,一个电阻和一个电解电容和一个按键组成的复位电路,一个8段数码管构成的密码显示器,一个蜂鸣器,5个LED,一个NPN三极管加上一个继电器组成的驱动电路构成了系统电路。
3.2.1晶振时钟电路
单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。
图3-1晶振电路
3.2.2复位电路设计
图3-2复位电路
3.2.3串口引脚功能介绍
单片的P1口外接1位8段数码管,作为密码输入显示器;INT0外接蜂鸣器,当INT0被置0时,蜂鸣器发出声音;P0口外接发光二极管用作系统工作状态提示。
3.2.4其它引脚
ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源
3.3电路图的绘制
用PROTEL99SE绘制的完整电路图如下:
(a)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电
(b)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
(c)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
(d)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
(e)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
图3-3原理图
4系统的软件设计
4.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入状况,接下来确认密码的判断,做出开锁或报警处理。
当输入密码连续输入错误3次时,系统报警。
其中还有温度和时间显示。
多功能电子密码锁的基本要求:
1、通过键盘修改、输入密码。
2、连续三次输入密码错误后锁定键盘10秒,并给出提示。
3、具有日期时间设置(小时和分钟)、显示,环境温度显示功能。
4、220V供电下,设计系统所需电源,并考虑掉电后原始数据的保存。
4.2系统主流程图
5设计总结与展望
实践是检验真理的唯一标准,当然也是检验学习成果的标准。
在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。
在做期间,在老师的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获,现将工作总结如下:
思想上,学会了用科学的精神去解决问题。
很多事情看起来是很简单的问题,但实际做起来去会发现有许多奥妙!
这是因为其中蕴含着许多科学的问题。
运用科学的方法去解决问题,这是我这次实训给我带来的思想上的改变。
学习上,使自已在大学所以的知识在这次得到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。
在没有做课设前觉得课设只是对所学知识的单纯总结,但是通过这次做课设发现自己的看法有点太片面。
课设不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次课设使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
在这次课设中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识。
在多人做项目的时候,队员的交流是非常重要的,是很关键的部分。
这次的课设也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
刚开始的时候,大家就分配好了各自的任务,大家有的绘制原理图,进行仿真实验,有的积极查询相关资料,并且经常聚在一起讨论各个方案的可行性。
在课设中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们成功的一项非常重要的保证。
不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
程序的设计思想的精巧的重要性,是不管怎么说都不为过的,好的设计可以让大家很快的明白你的思想,而且很方便的来实现它。
良好的编程习惯,它可以使你的程序很方便的被别人阅读,也很方便的被更改,所以可以的话,尽可能多的写出注释,没有人会闲你写的太多。
在设计过程中,通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课设的最大收获和财富,使我终身受益。
对我而言,知识上的收获重要,精神上的丰收更加可喜。
让我知道了学无止境的道理。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
挫折是一份财富,经历是一份拥有。
电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完美,更加人性化,更加便宜,更加安全。
附录:
源程序指令代码
ORG0000H
LJMPSTART
ORG000BH
LJMPINT
RSBITP3.7
RWBITP3.6
EBITP3.5
ORG0040H
START:
MOV70H,#1;将正确的密码存放
MOV71H,#2
MOV72H,#3
MOV73H,#4
MOV74H,#5
MOV75H,#6
START1:
ACALLWELCOME
ACALLDELAY1
ACALLDELAY1
ACALLDELAY1
KAISHI:
MOVR2,#00H
MOVR0,#50H
ACALLINPUT
JIXU:
ACALLSAOMIAO
CJNEA,#10,PD2
ACALLPD1
AJMPPD4
PD2:
CJNEA,#11,PD3
AJMPPD4
PD3:
ACALLINPUT
LJMPJIXU
PD4:
LJMPKAISHI;这一部分为主程序,电子密码锁的各种功能函数都嵌套在主程序中
SAOMIAO:
NOP;键盘扫描子程序
MAIN:
MOVP2,#0F0H
MOVA,P2
CJNEA,#0F0H,M
SJMPMAIN
M:
ACALLDELAY
CJNEA,#0F0H,MM
SJMPMAIN
MM:
MOV20H,A
MOVP2,#0FH
MOV31H,P2
CLRP0.6
MMM:
MOVP2,#0F0H
MOVA,P2
CJNEA,#0F0H,MMM
SETBP0.6
JNB20H.4,AP1
JNB20H.5,AP2
JNB20H.6,AP3
JNB20H.7,AP4
LJMPMAIN
AP1:
MOV30H,#0
AJMPWP
AP2:
MOV30H,#4
AJMPWP
AP3:
MOV30H,#8
AJMPWP
AP4:
MOV30H,#12
AJMPWP
WP:
MOVA,31H
JNBACC.0,D0
JNBACC.1,D1
JNBACC.2,D2
JNBACC.3,D3
LJMPMAIN
D0:
MOVA,#0
ADDA,30H
MOV@R0,A
MOVA,R0
INCR0
INCR2
LJMPWWW
D1:
MOVA,#1
ADDA,30H
MOV@R0,A
INCR0
INCR2
LJMPWWW
D2:
MOVA,#2
ADDA,30H
MOV@R0,A
INCR0
INCR2
LJMPWWW
D3:
MOVA,#3
ADDA,30H
MOV@R0,A
INCR0
INCR2
WWW:
NOP
RET;扫描程序出口,该部分用翻转法,先给高位置1,低位置0,再将其翻转过来,扫描得到键值
PD1:
CLRC;输入密码判断程序
MOVA,50H
SUBBA,70H
JNZEXIT
CLRC
MOVA,51H
SUBBA,71H
JNZEXIT
CLRC
MOVA,52H
SUBBA,72H
JNZEXIT
CLRC
MOVA,53H
SUBBA,73H
JNZEXIT
CLRC
MOVA,54H
SUBBA,74H
JNZEXIT
CLRC
MOVA,55H
SUBBA,75H
JNZEXIT
CLRC
DECR2
MOVA,R2
SUBBA,#6
JNZEXIT
ACALLSUCCESS
ACALLDELAY1
ACALLDELAY1
ACALLDELAY1
ACALLWELCOME
PP1:
ACALLSAOMIAO
MOVA,57H
CJNEA,#12,PP
AJMPPPP0
PP:
AJMPPP1
PPP0:
ACALLXIUGAI
LJMPSTART1
EXIT:
ACALLERROR
MOVTMOD,#01
MOVTH0,0FCH
MOVTL0,0EH
SETBEA
SETBET0
SETBTR0
ACALLDELAY1
CLRTR0
RET
XIUGAI:
ACALLNEWWORD;修改密码的程序
MOVR2,#00
MOVR0,#50H
JIXIU1:
ACALLSAOMIAO
CJNEA,#10,XX1
LJMPPD5;跳转到判断输入密码格式是否正确
XX1:
CJNEA,#11,XX2
LJMPPD6;跳转到开始修改密码的状态
XX2:
CJNEA,#12,XX3
LJMPPD6
XX3:
CJNEA,#13,XX4
LJMPPD7;退出修改密码
XX4:
ACALLXIANSX
LJMPJIXIU1
PD5:
ACALLPANDUAN
AJMPPD8
PD6:
LJMPXIUGAI
PD7:
ACALLNOMOTIFY
ACALLDELAY1
ACALLDELAY1
ACALLDELAY1
PD8:
NOP
RET
XIANSX:
MOVA,R2;显示新密码的程序
MOVR3,A
ACALLBUSY
MOVP1,#38H
ACALLENABLE
ACALLBUSY
MOVP1,#0FH
ACALLENABLE
ACALLBUSY
MOVP1,#06H
ACALLENABLE
ACALLBUSY
MOVP1,#192
ACALLENABLE
MOVDPTR,#1900H
LP5:
ACALLBUSY
MOVA,#00H
MOVCA,@A+DPTR
MOVP1,A
ACALLDATAS
INCDPTR
DJNZR3,LP5
RET
PANDUAN:
MOVA,R2;密码修改时的格式是否正确的判断程序
SUBBA,#7
JNZEXIT1
MOV70H,50H
MOV71H,51H
MOV72H,52H
MOV73H,53H
MOV74H,54H
MOV74H,54H
ACALLSAVES
AJMPEXIT2
EXIT1:
ACALLSAVEF
EXIT2:
ACALLDELAY1
ACALLDELAY1
ACALLDELAY1
RET
ENABLE:
SETBE
CLRRW
CLRRS
CLRE
RET
DATAS:
SETBE
SETBRS
CLRRW
CLRE
RET
BUSY:
CLRE;LCD判忙程序
MOVP1,#0FFH
CLRRS
SETBRW
SETBE
JBP1.7,BUSY
RET
CHUSHI:
ACALLBUSY;LCD初始化程序
MOVP1,#01H
ACALLENABLE
ACALLBUSY
MOVP1,#38H
ACALLENABLE
ACALLBUSY
MOVP1,#0FH
ACALLENABLE
ACALLBUSY
MOVP1,#06H
ACALLENABLE
ACALLBUSY
MOVP1,#80H
ACALLENABLE
RET
INPUT:
MOVA,R2;INPUT加星号的显示程序
MOVR3,#6
ADDA,R3
MOVR3,A
MOVDPTR,#2000H
AJMPPPP
SUCCESS:
MOVDPTR,#2050H
MOVR3,#7
AJMPPPP
ERROR:
MOVDPTR,#2100H
MOVR3,#5
AJMPPPP
PPP:
ACALLCHUSHI
LP:
ACALLBUSY
MOVA,#00H
MOVCA,@A+DPTR
MOVP1,A
ACALLDATAS
INCDPTR
DJNZR3,LP
RET
WELCOME:
MOVDPTR,#2150H;显示WELCOMETOUSE的程序
MOVR3,#14
ACALLCHUSHI
LP1:
ACALLBUSY
MOVA,#00
MOVCA,@A+DPTR
MOVP1,A
ACALLDATAS
INCDPTR
DJNZR3,L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 密码锁