基于单片机的密码锁设计Word格式.docx
- 文档编号:20004955
- 上传时间:2023-01-14
- 格式:DOCX
- 页数:23
- 大小:71.45KB
基于单片机的密码锁设计Word格式.docx
《基于单片机的密码锁设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的密码锁设计Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
采用单片机来实现的电子密码锁,在设计时遵循以软件代替硬件,能用软件实现的东西就不用硬件去做,而且可以在硬件不变的情况下,改动相应的软件,派生出不同功能的产品。
②密码组合多,安全性好。
本设计采用了0~9共十个数字作为密码编码,密码可在0~9位内任意设置。
如果设定密码为10位,则密码组合为100多亿种,即使每20秒测试一组密码,进行试探性破译,试完全部密码大约要6000多年。
如果密码长度再增加,破译就更加困难。
③安全方便。
无需携带金属钥匙,只需记得一组密码。
一旦发现密码有泄露的危险,可即时更改密码。
④为社区的电子化管理提供了方便。
现代社会是电子社会,电子存在于我们生活的每一角落,出于管理的统一和方便考虑,电子密码锁替代机械门锁是一种趋势。
根据国外的统计资料,装有电子防盗的商业区或居民区盗窃犯罪率平均下降30%左右。
1.1.3课题的研究现状
随着电子技术的发展单片机功能的增强,出现了带微处理器的智能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性。
目前发达国家已经大规模地应用智能门禁系统,可以通过多种更加安全,更加可靠的方法来实现大门的管理。
但电子密码锁在我国的应用还不广泛,主要出现在保险柜、密码箱、高级宾馆等场所,家居用的较少,究其原因有以下几点:
①价格原因。
现在买一把普通的机械锁,价格在几块到几十块左右,而电子密码锁的价格较贵,一般在百元以上,进口的甚至要上千元,买一把这样的锁对很多家庭来说,是很难接受的。
②厂商的推广力度不够。
电子密码锁属于较新的高科技产品,许多用户对其并不了解,更不用说拿它与传统的机械锁作比较。
而一般的商场也不会经营这种产品,用户即使想买也难以买到。
目前我国开发的电子密码锁的技术还比较落后,开发的密码锁大多采用分离电子元件或普通数字电路设计生产的,尽管与机械钥匙锁相比有许多优点,但智能化程度低,编码组合仍较少。
采用STC89C52单片机制作的电子密码锁,就克服了以上的两大缺陷。
其主要特点为:
①保密性好。
由于采用6位密码,随机破码率很低,并且在密码可能泄露的情况下及时更改密码,避免因人员的更替等特殊情况而使锁的安全性下降。
②破解保护。
连续三次输入错误密码将锁定键盘一段时间。
③界面简洁。
操作简单人性化,故障率低,密码输入操作简便。
④通用性强。
可根据需要可安装在不同的设备上
1.2电子密码锁电路程序的功能与设计方案
随着社会的发展,人民生活水平的提高,防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了人们亲睐。
由单片机系统、矩阵键盘、LED显示和报警系统组成的电子密码锁。
具有开锁、超次锁定、解密、修改、保存密码、用户密码基本的密码锁的功能,还具有调电存储、声光提示等功能。
克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、仓库、保险柜和家庭普遍适用。
本设计中要求电子密码锁的基本功能如下:
①电源开始后,显示器显示“P0000”;
②按“NC”,清除显示器为“000000”;
③更改密码时,先按“a,c”再输入新号码,即可建立新号码;
④键立号码,再按“OK”开门键,若号码与密码相符,则门会打开,否则显示三次后器会自动报警;
密码开锁电路原理图如图1.1所示。
⑤键盘设计要求如表1.1所示。
图1.1密码锁开锁电路原理图
表1.1键盘设计
1
2
3
4
5
6
7
8
9
空
A
OK
C
NC
2电子密码锁方案设计
2.1硬件设计方案
2.1.1主电路的原理设计
基于单片机的电子密码锁主要以STC89C52单片机为电子密码锁系统核心,使用4*4矩阵键盘作为数据输入方式,驱动数码显示器提示程序运行过程和开锁的步骤,利用AT24C02芯片实现掉电存储。
各电路有其特有功能,以下将分别论述,系统功能框图如图2.1所示。
图2.1系统功能框图
2.1.2单片机应用系统电路方案
单片机控制电路主要由STC89C52与其外围设备组成,STC89C52应用方案的确定如下。
①STC89C52的组成与结构STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,包括CPU、存储器、可编程I/O口、定时/计数器、串行口等,各部分通过内部总线相连。
除此之外,还有驱动器、锁存器、指令寄存器、地址寄存器等部分。
②STC89C52的引脚STC89C52单片机实际有效的引脚为40个,为了尽可能缩小体积,减少引脚数,STC89C52的不少引脚还具有第二功能。
40个引脚大致分为4类:
电源、时钟、控制和I/O引脚。
1)电源:
a.VCC芯片电源,接+5V;
b.VSS接地端。
2)时钟:
XTAL1、XTAL2晶振电路反相输入端和输出端。
3)控制线控制线共4根,其中3根是复用线。
a.ALE//PROG地址锁存允许/编程脉冲。
b./PSEN外ROM读选通信号。
c.RST/VPD复位/备用电源。
d./EA/VPP内外ROM选择端/编程电源。
4)I/O线,STC89C52共有4个8位并行I/O端口,共40个引脚。
STC89C52引脚如图2.2所示。
a.P0口(P0.0~P.07):
8位双向I/O口。
在访问外部存储器时,P0口用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。
在不接外ROM和外RAM时,P0口可做双向I/O口用。
b.P1口(P1.0~P1.7):
8位准双向I/O口(准双向是指口内部有固定的上拉电阻)。
c.P2口(P2.0~P2.7):
8位准双向I/O口。
在访问外部存储器时,P2口用于传送高8位地址(属地址总线)。
d.P3口(P3.0~P3.7):
8位准双向I/O口。
可做一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
图2.2STC89C52引脚图
2.1.3键盘接口电路
键盘是单片机系统中最常用的人机联系的一种设备,它由若干个按键组成,用户通过键盘向CPU入数据或命令以实现简单的人机通信。
对键盘的识别可分为两类:
一类是由专门的硬件电路来识别(如2376、74C922),它使用起来方便,但需要价格昂贵的芯片,单片机系统中一般不采用;
另一类靠软件来识别,它结构简单,价格便宜,应用灵活。
本设计中查询的方法识别键,优点是电路简洁,节省硬件,抗干扰能力强,应用灵活,缺点是占用较多的CPU时间资源。
非编码键盘可以分为两种结构形式:
独立式键盘和行列式键盘。
本次设计中采用的是行列式键盘,可节省I/O口线。
其工作原理是:
行线P1.0~P1.3是输入线,CPU通过其电平的高低来判别键盘是否被按下。
依次使列线P1.4~P1.7中的一根输出为低电平,则只有与之对应的键按下时,才能使行线为低电平。
2.1.4数码管数码显示电路
显示数码管(动态)工作原理:
逐个地循环点亮各位显示器,也就是说在任一时刻只有1位显示器在显示。
LED动态显示的优点是用较少的端口,可以扩展多位LED显示器。
缺点是过多的占用CPU的时间。
除了LED动态显示,还有一种是LED静态显示。
LED静态显示的优点是不占用CPU的时间,缺点是占用过多的输出端口。
采用动态显示的数码管为了使人看到所有显示器都在显示,就得加快循环点亮各位显示器的速度(提高扫描频率),利用人眼的视觉残留效应,给人感觉到与全部显示器持续点亮的效果一样。
一般地,每秒循环扫描不低于50次。
数码管显示电路的工作原理:
数码管显示时,P0.0--P0.3根据程序输出高电平或低电平,送到7447译码器的四个输入端,经过7447译码后由7个输出端输出,输出信号经过限流电阻(防止数码管因电流过高而损坏)送至数码管的阴极。
同时,单片机的P0.4--P0.6根据要求输出高电平或低电平,送到74LS138的三个输入端,经译码后由输出端输出,此时,74LS138的输出端只有一位为“0”,使其中的一只三极管导通,引入电源,驱动与其对应的数码管,数码管工作。
数码管的各发光二极管根据对应的高电平或低电平发光或不发光。
每只数码管依次循环,就完成了发光电路的设计。
2.2软件设计方案
2.2.1系统的主程序
由于用户在使用系统的过程中,要完成初始化、设置中断向量、检查有无按键按下,以及调用显示等。
可能在任何时刻按下任何按键,而程序都必须对此做出正确响应。
所以主程序流程的主要思路是是根据按键的不同进行不同的程序处理,主程序的流程如2.3所示。
图2.3主程序的流程
2.2.1显示子程序
当密码地址传送给RO后,就会调用显示子程序,OK开放后延时,返回。
OK不开放的话,又会重新调用显示子程序,直到开放。
显示子程序的流程如图2.4所示。
图2.4显示子程序的流程
2.2.2设定新密码程序
当开机之后,输入新密码,标志位为1后,将密码存入AT24C02和AT24C02地址写入01H,这样密码就设定好了。
设定新密码程序框图如图2.5所示
图2.5设定新密码程序框
2.2.3密码比较子程序框
比较输入的密码与程序里的密码是否一样,直到输入正确的密码之后,开锁。
密码比较子程序框如图2.6所示
图2.6密码比较子程序框
2.3密码存储电路方案
2.3.1密码存储电路
①24C02是一种存储器可以定义为16位
ORG引脚接Vcc
或者定义为8位
ORG引脚接GND的1K位的串行EEPROM每一个的存储器都可以通过DI引脚或DO引脚进行写入或读出,器件可以经受1,000,000次的写入/擦除操作片内数据保存寿命达到100年器件可提供的封装有DIP-8SOIC-8或TSSOP-8。
②24C02是一个有1024位内含工业标准微处理器的非易失的存储器。
93C46可以选择为16位或8位结构。
当选择16位结构时,24C02有7条9位的指令用来控制对器件进行读、写和擦除操作;
当选择8位结构时,24C02有7条10位的指令来控制对器件进行读、写和擦除操作。
24C02的所有操作都在单电源上进行,当执行任何的写操作时内部的升压电路将提供高压给芯片。
③指令、地址和写入的数据在时钟信号SK的上升沿时由DI引脚输入,DO引脚除了从器件读取数据或进行写操作后查询准备/繁忙(ready/busy)的器件工作状态外,平常是高阻态的。
④准备/繁忙(ready/busy)是开始了一个写操作后选择器件CS为高电平后从DO引脚读的用来测定期间工作状态的信号,DO位低电平则表示写操作还没有完成。
当DO为高电平时则表示器件可以输入下一条指令,此时如果有需要,可以在DI引脚移入一个高电平,DO会进入高阻态,DO引脚会在时钟SK的下降沿时进入高阻态,将DO引脚恢复高阻态值得推荐在DI和DO合用一个I/O口来读/写的应用中。
⑤所有送往器件的指令格式为一个高电平“1”的开始位,一个2位或4位的操作码,写入数据时的6位(当选择8位结构时为7位)以及16位数据(当选择8位结构时为8位)。
24C02的操作指令如表2.1所示。
表2.124C02的操作指令
指令
开始位
操作码
地址
数据
注释
X8
X16
X16X
READ
10
A6-A0
A5-A0
读地址An-A0的数据
ERASE
11
擦除An-A0的数据
WRITE
01
D7-D0
D15-D0
把数据写到地址An-A0的存储器中
EWEN
00
11XXXXX
11XXXX
写允许
EWDS
00XXXXX
00XXXX
写禁止
ERAL
10XXXXX
10XXXX
擦除全部存储器的数据
WRAL
01XXXXX
01XXXX
把数据写到全部的存储器中
2.3.2操作指令
①读操作指令(READ)在接收到一个指令和地址(从DI引脚在时钟驱动下输入)之前,24C02的DO引脚是高阻态的。
接收到读指令和地址后,DO引脚先输出一个虚拟的第电平,然后数据根据时钟信号移位输出(高位在前)。
数据在时钟信号(SK)的上升沿时输出并经过一定的时间后稳定(tpDO或tpDI)。
②写操作指令(WRITE)在接收到写指令、地址和数据后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。
片选引脚(CS)在下降沿的时候,器件开动自动时钟去擦除并把数据存放到指定存储器。
在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的24C02的准备/繁忙状态可以选择器件并测试数据输出引脚DO得到。
因为器件有在写入前自动清除的特性,所以没必要在写入之前将存储器该地址的内容擦除。
③擦除操作指令(ERASE)在接收到擦除指令和地址以后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。
片选引脚(CS)在下降沿的时候,器件开动自动时钟,擦除指定存储器。
在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的。
24C02的准备/繁忙状态可以选择器件并测试数据输出引脚(DO)得到。
一旦清除了,该位就回到逻辑1的状态。
④擦除/写入允许(EWEN)和禁止(EWDS)操作指令。
24C02在上电时是默认写禁止的。
任何在上电和写禁止(EWDS)指令后的写入操作都必须先发送写允许(EWEN)指令。
一旦设置了写允许,它会持续有效直到断电或发送一条写禁止指令。
写禁止指令用来禁止对24C02的写入和擦除操作,同时也可以防止意外的对器件进行写入和擦除。
数据可以照常从器件中读取,论是写允许还是写禁止状态。
⑤全部擦除(ERAL)在接收到全部擦除指令后,片选引脚(CS)不片选信号的时间要必须大于Tcs-min。
片选引脚(CS)在下降沿的时候,器件开动自动时钟擦除存储器的所有内容。
一旦清除了,所有位都回到逻辑1的状态。
⑥写全部操作指令(WRAL)在接收到写全部指令后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。
片选引脚(CS)在下降沿的时候,器件开动自动时钟把数据内容写满器件的所有存储器。
没有必要去在写全部之前把存储器内容擦除。
24C02引脚定义如图2.4所示:
Vcc:
电源引脚,+5V。
GND:
地线。
CS:
片选信号。
在两条相临指令执行中,CS必须最少产生500NS的低电平,以指明前条指令的结束。
DI:
数据输入端DI用于在串行时钟SK的同步下输入起始位,操作码地址和写入数据。
DO:
数据输出端。
数据输出端DO用于在读方式中,在串行时钟SK的同步下输出读出的数据。
SCK:
时钟信号,所有操作码、址码、数据位均在SCK信号的上升沿输入或输出,SK信号的最高频率为1MHz。
ORG:
存储器结构选择接口,当ORG接Vcc时,存储器为16位结构。
当ORG接GND时,存储器为8位结构。
当ORG悬空时,内部的上拉电阻把存储器选择为16位结构。
图2.724C02引脚图
3开锁控制电路设计图
开锁控制电路主要由、继电器、电解电容、瓷片电容、蜂鸣器、三极管等组成。
其优点是结构简单,成本低,操作简便。
3.1电路设计图
3.1.1声光提示电路设计
声音提示电路采用小蜂鸣器提示。
蜂鸣器能够根据脉冲信号,以及信号的频率发出各种不同的声音,这样可以根据系统要求在密码输入正确和错误时发出不同的声音提示,已达到报警的要求。
光提示是在密码输入正确时,绿色LED亮。
密码输入三次错误时,红灯亮,蜂鸣器电路通,LED电路图如图3.1所示,发光二极管电路蜂鸣器电路如图3.2所示。
图3.1LED电路图图3.2发光二极管和蜂鸣器电路
3.1.2显示模块设计
本设计中,显示模块采用数码显示器显示。
如下所示,图3.3所示为数码显示器的电路接口示意图。
图3.3数码显示器的电路接口示意图
本设计中液晶串口一共用到11根导线与单片机相连,具体连接情况如表3.1显示模块与MCU连接说明所示。
表3.1显示模块与MCU连接说明
序号
数码显示器引脚
STC89C52单片机引脚
RS引脚
P2.5(A13)
D3引脚
P0.3(AD3)
R/W引脚
P2.6(A14)
D4引脚
P0.4(AD4)
E引脚
P2.7(A15)
D5引脚
P0.5(AD5)
D0引脚
P0.0(AD0)
D6引脚
P0.6(AD6)
D1引脚
P0.1(AD1)
D7引脚
P0.7(AD7)
D2引脚
P0.2(AD2)
3.2AT24C02掉电存储单元的设计
本设计中掉电存储单元采用AT24C02外部存储器,其作用是在系统电源断开的时候,存储当前设定的密码数据。
如下所示,图3.4为AT24C02管脚示意图,表3.2为AT24C02管脚说明。
图3.4AT24C02管脚示意图
表3.2AT24C02管脚说明
管脚名称
功能
A0A1A2
器件地址选择
SDA
串行数据/地址
SCL
串行时钟信号
WP
写保护
VCC
1.8V-6.0V工作电压
VSS
接地
本设计中,AT24C02的SCL和SDA引脚接上拉电阻后与单片机的P3.4(T0)和P3.5(T1)脚相连,AT24C02电存储单元设计如图3.5所示。
图3.5AT24C02电存储单元设计图
3.3密码锁电路图
密码锁的主电路图如图3.6所示。
图3.6主电路图
4系统的检测与测试
硬件电路组装之前一定要仔细核对硬件系统设计原理的正确性,包括电子元器件参数选用的正确性和原理的正确性,这取决于设计者的学识和经验积累。
对没有把握的电路可以通过实验板上直接焊接实际电路来进行调试和验证。
在系统通过理论分析后,便可进行印刷电路设计和加工。
4.1系统的检测
4.1.1排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。
主要包括错线、开路、短路。
排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。
应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。
必要时利用数字万用表的短路测试功能,可以缩短排错时间。
4.1.2排除元器件失效
造成这类错误的原因有两个:
一个是元器件买来时就已坏了;
另一个是由于安装错,造成器件烧坏。
可以采取检查元器件与设计要求的型号、规格和安装是否一致。
在保证安装无误后,用替换方法排除错误。
4.1.3排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。
加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。
4.2系统的测试
4.2.1电子密码锁
测试的仪器是电子密码锁,密码锁开机显示如图4.1。
4.2.2测试步骤
①开机,输入初始化密码“012345”再按确认“OK”键,屏幕显示“HELLO”。
并且LED绿灯亮,表示密码输入成功。
密码锁开机显示如图4.2。
②关机,先按重设密码。
再开机按“更改密码键a和c”,再输入需要更改的密码。
③输入更改密码,观察屏幕显示,观察屏幕显示“HELLO”,且绿灯亮,更改密码成功。
④输入错误密码,按OK键确认。
观察屏幕显示,跟开机状态屏幕更显示一样,再次输入错误密码,按OK键确认。
然后连续输入2次错误密码,观察。
还是一样,没有区别。
⑤第三次输入错误密码,按“OK”键之后,蜂鸣器报警,红灯亮。
密码锁密码输入错误报警图如图4.3。
⑥关机重启后,输入正确密码,显示“HELLO”,且绿灯亮,表示密码锁正常。
⑦根据步骤
(1)——步骤(6),重复设置不同数据,观察结果。
多次后显示无误,表示密码锁设计成功。
图4.1密码锁开机显示
图4.2密码锁密码输入正确开锁
图4.3密码锁密码输入错误报警
结论
随着大规
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 密码锁 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)