基于单片机的电子密码锁设计大学学位论文Word下载.docx

上传人:b****6 文档编号:17723268 上传时间:2022-12-08 格式:DOCX 页数:45 大小:683.15KB
下载 相关 举报
基于单片机的电子密码锁设计大学学位论文Word下载.docx_第1页
第1页 / 共45页
基于单片机的电子密码锁设计大学学位论文Word下载.docx_第2页
第2页 / 共45页
基于单片机的电子密码锁设计大学学位论文Word下载.docx_第3页
第3页 / 共45页
基于单片机的电子密码锁设计大学学位论文Word下载.docx_第4页
第4页 / 共45页
基于单片机的电子密码锁设计大学学位论文Word下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

基于单片机的电子密码锁设计大学学位论文Word下载.docx

《基于单片机的电子密码锁设计大学学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计大学学位论文Word下载.docx(45页珍藏版)》请在冰豆网上搜索。

基于单片机的电子密码锁设计大学学位论文Word下载.docx

storageandsavethepasswordfunction..Thedesignhas 

manyadvantages,suchasgoodconfidentiality, 

lowcost, 

lowpowerconsumption, 

simpleoperation,randomunlocking 

successrateisalmostzero, 

the 

variablepassword, 

errorinputprotection,multiple 

erroralarming, 

power-offmemory 

andsoon.

Keyword:

SCM;

electronicpassword-lock;

alarm

1引言

科技发展和生活水平提高的同时,安全问题也随之而来,失窃事件时有发生,那么如何更好的防盗呢?

传统的机械锁通常具有机械结构复杂,密码数量少,安全性能差的缺点。

为满足人们对锁的使用要求,增加其安全性,电子密码锁应运而生。

电子密码锁是通过输入密码,控制电路工作,由电路控制机械结构开锁或关锁的电子产品。

它具有保密性好、使用灵活、操作简单、寿命长的特点。

该设计从经济实用角度出发,采用AT89C51单片机作为密码监控装置和控制核心,设计了一个电子密码锁系统。

系统分为硬件和软件两个部分,硬件部分主要包括键盘模块、密码存储模块、开锁模块、报警模块、复位模块、晶振模块等;

软件部分主要包括:

初始化程序、LCD显示程序、键盘扫描程序、键盘功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。

这种密码锁具有安全性高、成本低、功耗低、易操作等优点。

2设计方案及实现的目标

2.1选用单片机为核心控制

由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。

一般来说在选取单片机时从下面几个方面考虑:

性能、内存、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性。

除了以上一些要考虑的方面,还有一些最基本的比如:

中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等[1]。

本设计采用AT89C51单片机为主控芯片,外接LCD1602显示器用于显示作用,结合外围电路,组成电子密码锁,系统能完成开锁、超次锁定、修改用户密码等基本的密码锁功能.除此之外,还具有掉电存储、声提示等功能。

2.2设计所要实现的目标

本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。

密码可以由用户自己修改设定,锁打开后才能修改密码。

修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。

当用户需要开锁时,先按键盘启动键之后按键盘的数字键0-9输入密码。

输入6位数密码,然后按下确认键,校对密码的正确性,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;

在输入密码时,发现前一位数字输入错误,可以按下删除键删除,然后继续输入正确密码。

当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。

新密码输入无误后按确认键使新密码将得到存储,密码修改成功。

3主要芯片介绍

3.1主控芯片AT89C51

AT89C51是一种带4K字节FLASH内存(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失内存制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁内存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

3.1.1AT89C51芯片的功能

AT89C51提供以下标准功能:

4k字节Flash闪速内存,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

3.1.2AT89C51的引脚

VCC:

供电电压

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

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:

当访问外部内存时,地址锁存允许的输出电平用于锁存地址的低位字节。

/PSEN:

外部程序内存的选通信号。

在由外部程序内存取指期间,每个机器周期两次/PSEN有效。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序内存(0000H-FFFFH),不管是否有内部程序内存。

注意加密方式1时,EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序内存。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

At89c51芯片结构如图1所示。

图1AT89C51芯片引脚图

3.1.3AT89C51芯片的内部结构

中断寄存器:

各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。

双时钟指针寄存器:

为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:

PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1。

在使用前初始化DPS。

电源空闲标志:

电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。

存储器结构:

MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。

程序存储器:

如果EA引脚接地(GND),全部程序均执行外部存储器。

在AT89C51,假如接至Vcc(电源+),程序首先执行从地址0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。

数据存储器:

在AT89C51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。

看门狗定时器(WDT):

WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置。

3.1.4芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2AT24C02存储芯片

AT24C02是一个2K位串行CMOSE2PROM, 

内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。

AT24C02有一个16字节页写缓冲器。

该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

[2]AT24C02

芯片结构如图2所示。

图2AT24C02芯片引脚图

管脚名称 

 

功能

A0、A1、A2 

器件地址选择

SDA 

串行数据、地址

SCL 

串行时钟

WP 

写保护

VCC 

+1.8V~6.0V 

工作电压

VSS 

表1AT24C02管脚名称及功能

AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。

任何从总线接收数据的器件为接收器。

数据传送是由产生串行时钟和所有起始停止信号的主器件控制的[3]。

主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,由于A0、A1和A2可以组成000~111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件。

3.3LCD1602接口信号说明

表2LCD1602接口信号说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

DataI/O

2

VDD

电源正极

10

D3

3

V0

液晶显示偏压信号

11

D4

4

RS

数据/命令选择端(H/L)

12

D5

5

R/W

读写选择端(H/L)

13

D6

6

E

使能信号

14

D7

7

D0

15

BLA

背光源正极

8

D1

16

BLK

背光源负极

4系统硬件结构

4.1系统原理框图

该设计以AT89C51单片机为主控单元,AT24C02存储芯片为存储单元,矩阵键盘为主输入单元,LCD1602为显示单元,独立按键为模拟功能按键,蜂鸣器为报警装置以及开锁装置完成整个系统设计。

系统原理框图如图3所示。

图3系统原理框图

4.2复位模块

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。

无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;

外部程序存储器读选通信号PSEN无效。

地址锁存信号ALE也为高电平。

当复位按键按下后电容C3通过R3放电,R2的作用在于限制按键按下瞬间电容C3的放电电流,避免产生火花,以保护按键触电位电路设计[4-6]。

复位模块电路如图4所示。

图4复位模块电路图

4.3晶振模块

单片机XIAL1和XIAL2分别接20uF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。

晶振模块电路如图5所示。

图5晶振模块电路图

4.4键盘模块

键盘输入模块作为AT89C51单片机电子密码锁设计中关键的部分,主要形式为矩阵式键盘输入,由0~9数字键、输入键、确定键、删除键组成。

这种行列式矩阵键盘的单片机系统,通过构建M条列线和N条行线,组成具有M×

N的键盘。

若需要进入大门,首先按下输入键,输入6位数密码,然后按下确认键,校对密码的正确性,密码输入错误三次将自动报警;

将AT89C51的并行口P1接4×

4矩阵键盘,以P1.0-P1.3作为行线,以P1.4-P1.7作为列线[7]。

其电路如图4所示。

图4矩阵键盘电路图

4.5显示模块

系统显示主要由液晶显示器完成,系统加电后,锁被合上,这时通过观察显示器则知道锁是被合上的,需要输入密码才能进入。

开锁时,通过键盘上数字键0~9输入密码,每按一下显示器都会显示“*”,最多输入6位和显示6个“*”。

当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“CORRETCODEDOOROPEN”,电子密码锁被打开;

如果密码不正确,LCD显示屏会显示“CODEWRONG”,密码锁不能被打开。

通过LCD显示屏,可以清楚的判断出锁的状态。

其电路如图5所示。

图5显示模块电路图

4.6开锁模块

开锁控制电路的功能是当输入正确的密码后将锁打开。

系统使用单片机其中一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。

用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。

只有用户操作键盘时,单片机的电源端才能得到3V电源,否则.单片机处于节电工作方式[8]。

开锁步骤如下:

首先按下键盘上的开锁按键,然后利用键盘上的数字键0-9输入密码,最后按下确认键。

当用户输入一密码后,单片机自动识码,如果识码不符,则报警。

只有当识码正确,单片机才能控制电子锁内的微型继电器吸台。

当继电器吸台以后带动锁杆伸缩,这时,锁勾在弹簧的作用下弹起,完成本次开锁。

开锁以后,单片机自动清除掉由用户输人的这个密码[9]。

其电路如图6所示。

图6开锁模块电路图

4.7密码存储模块

图中R4和R5为上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SDA(数据/地址)和SCL(移位脉冲)与AT89C51单片机传送数据[10]。

其电路如图7所示。

图7密码存储模块电路图

4.8报警模块

该电路的作用是在密码输入错误的状态下,单片机送出信号使得蜂鸣器响。

该电路较为简单,由一个电阻、PNP三极管和蜂鸣器组成,如图所示。

单片机的P3.0引脚控制三极管的基极b,当P3.0输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;

当P3.0输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音,进行报警[11]。

其电路如图8所示。

图8报警模块电路图

5系统总电路图

该设计涉及到的主要器件有:

主控芯片AT89C51单片机、LCD1602液晶显示器、AT24C02存储芯片、蜂鸣器等。

主要电路有:

4矩阵键盘模块、复位模块、报警模块、开锁模块、显示模块、密码存储模块以及晶振模块等。

Proteus环境下的系统总电路如图9所示。

图9系统总电路图

6系统软件设计

本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。

主要程序设计流程图如图10-13所示。

图10主程序流程图

图11键盘功能流程图

图12密码设置流程图

图13开锁程序流程图

用汇编语言编写的开锁程序,见附录。

7Proteus仿真

本设计使用了Proteus软件进行仿真。

优势在于:

软硬件设计可同时进行。

当硬件还没有制作出来时,利用该软件绘制出电路图,加载编译好的程序,先在电脑上进行连调仿真,发现硬件或软件上的设计错误。

大大缩减了设计周期[12]。

7.1仿真过程

在ProteusISIS编辑窗口中单击元件列表上的“P”按钮,打开“PickDevice”对话框,添加元件。

有些元件没有,可以用类似芯片代替,它们的功能是兼容的。

如用AT89C51代替AT89S51,用M24C16代替AT24C16。

绘制好密码锁电路图后,给单片机AT89C51设置晶振频率为12MHz,加“*.HEX”文件。

在编辑窗口下单击“运行”图标或在“Debug”菜单中选择“Execute”,可以看到仿真模拟的结果。

7.2仿真结果

系统仿真结果如图14-17所示。

图14密码输入时的仿真结果图

图15密码正确时的仿真结果图

图16密码错误时的仿真结果图

图17修改密码时的仿真结果图

8总结

本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,设计方法合理,简单易行,成本低,安全实用,符合日常用锁要求,具有一定推广价值。

利用单片机灵活的编程设计及其控制的准确性,通过软件程序来控制整个系统实现电子密码锁的基本功能。

该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。

可在意外泄密的情况下随时修改密码。

保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。

参考文献

[1]戴文雯采用AT89C51的电子密码锁的设计[J].南京航空航天大学学报,2013,16(4):

31-35.

[2]任艳艳基于AT89C51单片机多功能密码锁的研究[J].重庆职业技术学院学报(第17卷第5期),2008,17(5):

5-31.

[3]蒋辉平,周国雄基于Proteus的单片机系统设计与仿真实例[M].机械工业出版社,2009.

[4]贺敬凯,刘德新,管明祥单片机系统设计、仿真与应用[M].西安电子科技大学出版社,2011.

[5]石文轩,宋薇基于单片机MCS-51的智能密码锁设计[J].武汉工程职业技术学院报,2004,8(3):

108-109.

[6]郭海英.基于单片机的电子安全密码锁的设计[J].现代电子技术,2005,(13):

95-97.

[7]董继成.一种新型安全的单片机密码锁[J].电子技术,2004,31(3):

58-60.

[8]杨茂涛.一种电子密码锁的实现[J].福建电脑,2004,(8).

[9]周文龙.基于单片机控制的电子密码锁设计[J].大众商务,2009,(3):

108-109.

[10]董继成.能防止多次试探密码的单片机密码锁[J].国外电子元件,2004,(3):

19-21.

[11]吴汉清.单片机做电子密码锁[J].无线电期,2007,(5):

37-39.

[12]徐欣,樊昀.一种有单片机实现的多功能密码锁[J].计算机应用研究,1998,15(3):

113-115.

附录:

LED1EQU6FH

BUFFEQU6EH

TIMERS1EQU6DH;

输入回车的次数

TIMERS2EQU6CH;

报警的次数

LED6EQU6AH

;

密码缓冲区

PS1EQU69H

PS2EQU78H

PS3EQU67

PS4EQU66H

PS5EQU65H

PS6EQU64H

PS7EQU63H

PS8EQU62H

AT24C02读取缓冲区

AT1EQU61H

AT2EQU60H

AT3EQU5FH

AT4EQU5EH

AT5EQU5DH

AT6EQU5CH

AT7EQU5BH

AT8EQU5AH

按键标志位

F_0BIT20H

F_1BIT21H

F

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1