文档视界 最新最全的文档下载
当前位置:文档视界 › 密码锁设计

密码锁设计

密码锁设计
密码锁设计

摘要

现代社会,单片机技术越来越广泛的应用于生产生活的各个领域,它可以实现我们对军事、工业、航天、农业以及交通等社会生活各领域的实际事件的模型建立及设计。而随着社会发展的进步,保密工作也已经成为越来越重要的任务,密码锁的设计成为十分显示以及必要的话题。此次能力拓展训练,通过单片机的控制实现密码锁的设计。

设计的总体思想采取将完整任务模块化的方式,通过对各个功能的分别解决,最终实现任务的完成。三个独立模块分别是矩阵键盘、数码管显示和显示状态的指示灯电路。这三个模块分别作为信号的输入或输出部分,与单片机实现连接,单片机通过对信号的接收和处理,控制各个模块电路实现相应功能。

关键词:密码锁,模块电路,单片机控制

目录

1设计任务及要求分析 (1)

2方案提出及论证说明 (1)

3硬件设计及功能分析 (2)

3.1矩阵键盘 (2)

3.2数码显示 (3)

3.3声光提示电路 (4)

4软件设计分析 (5)

4.1程序的流程图 (5)

4.2模块程序设计及说明 (6)

4.2.1键盘扫描及编码程序 (6)

4.2.2数码管动态显示程序 (8)

5仿真与调试 (9)

心得体会 (12)

参考文献 (13)

附录一硬件原理图 (14)

附录二源程序 (15)

电子密码锁设计

1设计任务及要求分析

本次能力拓展训练设计要求是电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1~K10分别代表数字1,2,…,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。

2方案提出及论证说明

本次设计,可以考虑使用Max+plusⅡ、EDA实验箱完成任务,但由于受到实验设备的限制以及对相关软件的掌握程度。最终确定本次设计选用AT89C51单片机作为核心控制器。AT89C51的元件图如下:

图2-1 A T89C51元件图

根据要求,不难想出,此次任务的完成需要完成键盘输入、数码显示、报警提示等模块的工作,组成以单片机为核心的总设计电路。其中键盘输入属于输入部分,数码显示和

报警提示属于显示部分。输入功能可以根据需要配置的键位选择合适的矩阵键盘;而根据要求数字显示部分至少使用四位的数码管,密码锁状态的提示在这里我设计一个发光二极管和扩音器的配合电路实现声光提示从而提示锁的开闭状态。

另外,在本次拓展训练的提高部分提出万能密码的设计,以保证密码锁主人能在忘记密码的情况下仍然可以顺利打开密码锁。可以考虑在程序设计时,初始化一组数据作为万能密码。

这些任务之后,设计密码锁的关键在于如何确定输入数字匹配设置密码,从而确认是否开锁。

考虑到模块电路设计的简洁性,此次设计仍然采用模块电路逐一完成各个功能的设计思路。通过以上分析,可以初步确定一下的方案结构框图:

图2-2 硬件结构框图

3硬件设计及功能分析

根据第二章的基本思路,分别设计各模块硬件电路如下。

3.1矩阵键盘

数据的输入功能由键盘来完成。整个设计中除了10个数字键之外还需要一些功能键作为辅助来完成设计任务的要求。这里用到三个基本的功能键:设置密码的功能键Kset,删除输入的功能键Kdel。另外,为了表示和控制锁的开关状态,还需要一个功能键来控制上锁Kclo。因而总共涉及到13个按键。键盘选用4x4矩阵键盘其电路图如下图所示:

图3-1 矩阵键盘电路

如图所示,矩阵键盘的工作原理分析如下:

1)键盘工作方式

键盘分布成四行四列。工作时,先让行线全为零,检测列线。若列线不是全为高电平,则表明有键按下,同时也可以确定按键在第几列。接下来进行低电平逐行扫描即可获知按键在第几行。这在程序编写时可以实现。

2)功能键介绍

在该矩阵键盘中设有的三个功能键中Kdel键,可以实现输入数字的删除,删除最后一位输入的数,同时数码管上的显示会向右移一位。Kset键作为密码设置键,在开锁的状态下,若输入了四位数字,再按一下Kset键,就可以设置其开锁密码。另外,由于不涉及机械结构,这里用一个按键来表示上锁,即Kclo键。在开锁状态下,按下Kclo键,数码管的显示将会清空,同时将锁锁上。

各键位的功能可分别在程序编码中实现。

3.2数码显示

显示电路使用的是数码管。由于电路图的设计采用的是protues软件,其中已有组合好的四位共阳极数码管,设计电路时可以直接调用所需型号,这里采用7SEG-MPX4-CA。如

图3-2所示,它有四个位选端口和八个段选端口。每一位数字都是由八个发光二极管组成,它们的阳极接在一起,即位选端口。因而在位选端口上加上正电压就可以选通该位。四位数字的相同段都接在一起,即段选端口。因而将段选端口接低电平时就可以点亮该段。

图3-2 显示输入数字的数码管

3.3声光提示电路

仿真时,电子锁不同于机械锁,我们无法通过观察知道锁的开关状态,要将密码锁上锁,可以用键盘来控制,而锁打开后必须通过辅助部件的提示确认锁的开关状态。因此设计了该声光提示电路以提示密码锁的状态,如下图所示。灯亮并发出响声时表示锁已经打开;灯灭时表示锁已上锁。

图3-3 指示灯电路图

该部分也可以通过程序编码实现。当确认密码输入正确时,打开密码锁,并由C51发出一个高电平信号触发声光显示。

4软件设计分析

4.1程序的流程图

由前章的介绍及分析,已大致了解各模块的程序结构,再结合整个电路图及需要完成的任务,设计流程图如下:

图4-1 程序流程图

4.2模块程序设计及说明

这里,还可以从模块入手,将程序所要完成的任务编写成子程序,待需要时直接调用即可。以下着重介绍实现密码锁功能的几个重要子程序,完整的源程序见附录二。

4.2.1键盘扫描及编码程序

要能够成功输入密码,并使键盘输入数据对应数码管显示,需要正确识别按键;按键的识别包括键盘扫描和编码键值两个部分。其中键盘扫描程序如下:

unsigned char key(void)

{

unsigned char ka,kb;

P2=0xf0;

if((P2&0xf0)!=0xf0)

{

dlm(); //消抖延时

if((P2&0xf0)!=0xf0)

{

ka=0xfe;

while((ka&0x10)!=0) //逐行扫描

{

P2=ka;

if((P2&0xf0)!=0xf0)

{

kb=(P2&0xf0)|0x0f;

return((~ka)+(~kb)); //返回特征码

}

else

ka=(ka<<1)|0x01;

}

}

}

return(0x00); //没有按键按下时特征值返回0 }

键盘扫描过程中,便涉及到前面硬件设计中关于键盘工作方式的讨论分析,首先行信号全部赋值为零,并检测列信号,以确定按键所在列。而后就是逐行赋值为零的扫描,从而确定行数。于是也就唯一确定了按的是哪一个键。最后将扫描的特征码做返回值,若无按键则返回0x00。再将返回的特征值借助编码程序转换成为相应的键值。键值编码程序如下:

unsigned char readkey(void)

{

switch(key())

{

case 0x11 : return(0x00); break;

case 0x21 : return(0x01); break;

case 0x41 : return(0x02); break;

case 0x81 : return(0x03); break;

case 0x12 : return(0x04); break;

case 0x22 : return(0x05); break;

case 0x42 : return(0x06); break;

case 0x82 : return(0x07); break;

case 0x14 : return(0x08); break;

case 0x24 : return(0x09); break;

case 0x44 : return(0x0a); break;

case 0x84 : return(0x0b); break;

case 0x18 : return(0x0c); break;

case 0x28 : return(0x0d); break;

case 0x48 : return(0x0e); break;

case 0x88 : return(0x0f); break;

default : return(0xff);

}

}

如上述程序所示,十六个按键依次编码为十六进制的各位数,对于乱码或是没有按键则返回0xff。

在程序中用数组a[]来存储由键盘输入的数字,该部分程序如下:

void shuru(void)

{

a[0]=a[1];

a[1]=a[2];

a[2]=a[3];

a[3]=readkey();

}

4.2.2数码管动态显示程序

通过查阅相关知识,我了解到数码管显示数据有静态显示和动态(扫描)显示之分。静态显示就是显示驱动电路具有输出所存功能,数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。然而我们此次所需的显示方式显然是当输入密码时需要时刻更新的,故需采用动态显示方式。虽然动态显示有闪烁感,但是人眼存在视觉暂留,在数码管刚熄灭的一小段时间内,人眼中的图像不会消失,利用这一点,只要在这段时间内再次点亮数码管,人眼就就不会发觉灯的闪烁。这就是数码管动态显示的基本原理,这也是接受生活中某些例子的启发。其程序如下:

while(1)

{

P3=0x01; P0=s[a[0]]; dlm();

P3=0x02; P0=s[a[1]]; dlm();

P3=0x04; P0=s[a[2]]; dlm();

P3=0x08; P0=s[a[3]]; dlm();

}

如程序所示,单片机的P3口控制位选端口,P0控制段选端口,利用数组查询的方式将数字转换成相应的显示码。数码管亮起来也需要短暂的时间,再在其中插入延时环节,并注意延时过长就会出现闪烁现象。最终实现数码管数据的最终显示。

5仿真与调试

设计要求最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。调试效果如下图组所示(这里选择设置密码为0687):首先按下“K10”键时,最右边显示数字0。再按下“K6”键时,0向左移一位,最右边显示6。然后按下“K8”键时0和6向左移一位,最右边显示8。最后按下“K7”键时0,6和8向左移一位,最右边显示7。最后显示结果如下:

图5-1 输入四位数字结果

程序需完成的任务要求是取一次输入数字,后一位都先把值送给前一位,而后把输入的数字赋给最后一位,仿真结果符合设计任务要求

在以上基础上按下删除键Kdel键后,删除的是最后输入的数字7,而其他三位则在数码管的显示分别向右移动一位。而第一位此时没有数字。即此时

a[0]=16; a[1]=0; a[2]=6; a[3]=8;

调试的效果图如下所示:

图5-2 按下Kdel键后数码管的显示

其中,S[0]~S[9]是数字0~9的显示码,而S[16]则表式显示为空。符合设计任务要求。接着再输入7时,又向前面那样已经出现的数字顺次左移一位最右边显示7。

根据设计要求,为保证密码锁主人在主人忘记密码时也能打开密码锁,要设置一个万能密码。这里我设置的万能密码是4412,程序中将用户的设置密码保存在数组b[]中。

继续上面的调试,再按下Kset键后,则通过执行相应的程序会将0687保存为密码。

此时再按下Kdel键,数码管的显示清空,而且指示灯熄灭,表明密码锁已经上锁。标志位lock控制指示灯,即用来表示密码锁的开关状态。

经过上面的调试过程,密码锁已经上锁,而且设置的密码为0687,此时数码管显示为空。当输入密码0687时,效果如下:

图5-3 正确输入密码显示结果

开始和前面一样,输入的数字显示在数码管上,但当最后一位短暂显示之后,所有显示立即消失。同时指示灯变亮并发声提示,表明此时已经开锁。也就说明密码0687可以

开锁。

接下来再来完成万能密码的设置与调试。对于万能密码的设置可以任意(这里选用4412为万能密码),一旦设置成功,按下Kclo,将锁锁上,接着输入4412,出现的现象如下图所示:

输入万能密码4412的效果和0687一样,显示完之后立即消失,并且发生声光提示,将密码锁打开。

至此,综上仿真调试结果可以发现,本设计已经成功实现了所有的设计要求

心得体会

本次能力拓展训练的设计,在程序中最麻烦的地方就在于如何区分两次按键。通常情况下会使用循环扫描等待出现空的键值的办法。但这里却还需要顾虑到数码管的动态显示,它不允许别的程序占用太多时间。为了解决这个问题,可以另外加设一块显示程序放到它循环等待的过程中去。一旦检测到按键释放就回归到原来的大循环中去。问题的不断出现与克服更加深了我对对单片机知识的了解和掌握。也通过本次拓展训练遇到的很多问题,使自己真正了解到自己在一些方面知识的匮乏,如单片机的P3接口的驱动能力很强不是很适合输入输出数字。在与同学的积极讨论及自己的不断摸索中,终于完成了此次拓展训练的设计任务,达到了最终的目的。

在以后的学习当中,一定要不断克服,自己在相关知识方面的欠缺,不断提高自己。

参考文献

[1] 周航慈等主编,单片机程序设计基础,北京航空航天大学出版社,2001

[2] 郑莉等主编,C++语言程序设计,清华大学出版社,2000

[3] 康华光主编,电子技术基础-数字部分,高等教育出版社,1998。

[4] 张红润等主编,单片机原理及应用,清华大学出版社,2008

[5] 马忠梅等主编,单片机的C语言应用程序设计,北京航空航天大学出版社,2003

附录一硬件原理图

附图1 系统总电路图

附录二源程序

#include "reg51.h"

sbit lock=P1^0; /***锁标志1为开,0为关***/

unsigned char a[4]={16,16,16,16}; //显示

unsigned char b[4]={4,4,1,2}; //密码

unsigned char s[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};

/***** 消抖*****/

void dlm(void)

{

unsigned char i;

for(i=200;i>0;i--);

}

/***** 键盘扫描*****/

unsigned char key(void)

{

unsigned char ka,kb;

P2=0xf0;

if((P2&0xf0)!=0xf0)

{

dlm(); //消抖延时

if((P2&0xf0)!=0xf0)

{

ka=0xfe;

while((ka&0x10)!=0) //逐行扫描

{

P2=ka;

if((P2&0xf0)!=0xf0)

{

kb=(P2&0xf0)|0x0f;

return((~ka)+(~kb)); //返回特征码

}

else

ka=(ka<<1)|0x01;

}

}

}

return(0x00); //没有按键时返回0

}

/***** 编码*****/

unsigned char readkey(void)

{

switch(key())

{

case 0x11 : return(0x00); break;

case 0x21 : return(0x01); break;

case 0x41 : return(0x02); break;

case 0x81 : return(0x03); break;

case 0x12 : return(0x04); break;

case 0x22 : return(0x05); break;

case 0x42 : return(0x06); break;

case 0x82 : return(0x07); break;

case 0x14 : return(0x08); break;

case 0x24 : return(0x09); break;

case 0x44 : return(0x0a); break;

case 0x84 : return(0x0b); break;

case 0x18 : return(0x0c); break;

case 0x28 : return(0x0d); break;

case 0x48 : return(0x0e); break;

case 0x88 : return(0x0f); break;

default : return(0xff);

}

}

/***** 数值输入*****/

void shuru(void)

{

a[0]=a[1];

a[1]=a[2];

a[2]=a[3];

a[3]=readkey();

}

/***** 删除并修改数值*****/ void Delete(void)

{

a[3]=a[2];

a[2]=a[1];

a[1]=a[0];

a[0]=16;

}

/***** 上锁*****/

void Close(void)

{

lock=0;

a[0]=16;

a[1]=16;

a[2]=16;

a[3]=16;

}

/***** 设置密码*****/

void set(void)

{

if(lock&&a[0]!=16)

{

b[0]=a[0];

b[1]=a[1];

b[2]=a[2];

b[3]=a[3];

}

}

/***** 开锁*****/

void kaisuo(void)

{

if(a[0]==2&&a[1]==0&&a[2]==1&&a[3]==2)

lock=1;

if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]) lock=1;

基于51单片机的无线电子密码锁课程设计[优质文档]

单片机课程设计报告书 基于89C51单片机 课题名称 无线电子密码锁的设计姓名刘武 学号131220330 学院通信与电子工程学院 专业电子信息工程 指导教师祝秋香讲师 2015年12月20日

基于89C51单片机无线电子密码锁的设计 1 设计目的 (1)了解MCS-51单片机使用方法和熟悉蓝牙模块; (2)掌握AT89C51芯片的使用方法及蓝牙模块的连接与使用; (3)熟悉单片机程序仿真软件Proteus的使用; (4)了解MCS-51单片机开发板工作原理以及芯片的组合; (5)熟悉无线电子密码锁的设计及实现。 2设计思路 2.1 选择设计电路 设计51单片机与蓝牙连接的电路。 2.2 所选设计电路的原因 (1)由于无线电子密码锁的设计需要用到蓝牙模块,用到的单片机资源并不是很多,而51单片机的资源有8位CPU、4KB的ROM、128B的RAM、2个16位定时/计数器、4组8位的I/O、1个串口和5个中断源,可以更有效率的利用到51单片机的资源。 (2)可现实无线功能的模块有:蓝牙模块、无线模块、红外遥控模块,因为相对之下,蓝牙模块更容易实现,更容易操作,最后选择蓝牙模块实现手机远程控制。 (3)为了提高效率,可以利用51单片机开发板的硬件,用LED灯模拟密码锁的开关,当LED灯亮起时代表锁已经开启,熄灭则代表密码锁被关闭。应用在实际中可用继电器替代LED的亮灭去控制强电开关。 3 设计过程 3.1 设计总框图 无线电子密码锁分为两个主要功能模块:51单片机模块,蓝牙实现模块。这两个模块共同工作完成本电路的功能实现。其中利用AT89C51芯片来实现51单片机模块功能,完成数码管、发光二极管的实现,同时利用HC06蓝牙模块来

电子密码锁设计报告概要

课程设 计说明 学生姓名: 学 号: 指导教师: 2013年05月17日 课程名称: 《单片机技术》 设计题目: 基于51单片机的电子密码锁 院(部): 电子信息与电气工程学院 专业班级: 12通信工程(专升本) 马亚林 丁莹亮

课程设计任务书 设计要求: 设计以单片机AT89C51为核心的电子密码锁,包括电子密码锁完整的设计过程以及外围的开锁电路和报警电路的设计。 电子密码锁要完成以下部分的设计:按键接口电路、电子密码锁的控制电路、输出八段显示电路。 电子密码锁控制电路能完成以下功能设计:数字按键的数字输入、存储和清除、功能按键的功能设计、密码的清除和复位、报警信号产生电路密码核对、解除电锁电路、输出八段显示电路完成以下电路设计:数据选择电路、八段显示器扫描电路。 学生应完成的工作: 1.运用Proteus软件设计电路原理图; 2.用Proteus软件进行仿真; 3.焊接电路板并调试实现其功能; 4.完成实习报告; 5.我的任务是设计电路原理图并仿真。 参考文献阅读: [1]杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.1 [2]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6 工作计划: 2013.5.6熟悉课题并查阅相关资料,同时消化吸收资料内容; 2013.5.7―― 2013.5.8 根据设计题目确定硬件设计方案,并交与指导老师修改; 2013.5.9 ―― 2013.5.10 开始着手课题的软件设计,与指导老师进行沟通; 2013.5.13申请领用元器件; 2013.5.14―― 2013.5.17 进行实物制作,并撰写课程设计报告。 任务下达日期:2013年5月6 日 任务完成日期:2013年5月17 日

密码锁课程设计

课程设计报告 课程设计题目:4位串行数字密码锁 学号 学生姓名:谢渊良 专业:通信工程 班级:1421302 指导教师:钟凯 2017年1月5日 1.摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于Verilog HDL 语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁 Verilog HDL 2.设计内容 设计一个4位数字密码锁子系统 1)1.2设计要求开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状态,发出报警信号。 2)锁内的密码可调。 3)串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。 3.系统设计 本设计中,FPGA系统采用硬件描述语言Verilog按模块化方式进行设计,并用modersim软件对各个模块进行编写仿真。 3.1键盘模块 键盘电路理想接口图: Set

本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag产生一个矩形波,作为连接模块的触发信号。同时key_value值为所按下键的编码值,与flag一同传入连接模块。 实际设计接口图: 当输出kevalue:11值的时候,flag再次出现上跳沿。实际上,上面的图写的测试文件是有一点错误的,当a扫描到第三个值(01)时,b在实际电路中应该是01而不是11,此时根据程序flag应置为1,当然此时flag本来就是1,不会发生错误。在实际中,时钟频率跳的如此之快,人按一下按键的持续时间还是有的,所以flag应在按键按完后再下降下来。不然多出很多无用的矩形波,这个装置就没用了。 3.2连接模块 连接模块接口图: keyvalue 送入连接模块进行运算,当连续四个0和1键按下时,中,如果按下的是set键,则set置1,如果按下的是0键,则a_led置1,若是1键,则b_led 置1。 这里有一个需要注意的点是,当第一次按了0键后马上按reset键,再按一下1键时,a的值是1,而不是0。每次按了reset或set,a,b,c,d都是要重新赋值的,这才符合实际情况。 3.3控制模块: 因为这个密码锁是循环使用的,就一定有不同的状态。这里采用有限状态机的方法进行设计。所以把开锁过程分为三个部分: 1.等待输入状态; 2.重设密码状态; 3.输出结果状态; 状态转换图如下所示: 控制模块接口图: flag2 ena

电子密码锁的设计与制作

天津大学网络教育学院 专科毕业论文 题目:电子密码锁的设计与制作 完成期限:2016年1月8日至 2016年4月20日 学习中心:嘉兴 专业名称:电气自动化技术 学生姓名:张伟强 学生学号:132092433077 指导教师:刘斌

电子密码锁的设计与制作 第1章方案选择和总体设计 1.1 国内外现状 目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁(如指纹辨别、IC卡识别)也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。 随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。根据国外的统计资料显示,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。目前西方发达国家已经大量地应用这种智能门禁系统,但在我国的应用还不广泛,成本还很高。 1.2设计目标 利用51系列单片机为核心,采用矩阵键盘作为数字输入;6位数字密码显示;可重新设置新密码,EPROM存储密码,掉电不丢失;当输入密码与存储密码一致时,开锁,并响音乐,若连续三次输入错误,则报警灯亮并且蜂鸣器响。

电子密码锁课程设计报告书

渝州科技职业学院 电子密码锁 院系:电子信息工程学院 专业班级: 11 电管2班 学生:任龙龙 学号: 1102120208 指导教师:何健 指导教师职称:讲师 二O一三年十一月

目录 1 绪论 (3) 1.1电子密码锁简介 (3) 1.2本设计所要实现的目标 (3) 1.3设计方案简介 (3) 2 系统总体方案设计 (4) 2.1设计框图 (4) 2.2设计原理 (4) 3 硬件系统构成 (4) 3.1主要源器件 (4) 3.2电路总体构成 (5) 3.3电源输入电路 (5) 3.4键盘输入电路 (5) 3.5密码存储电路 (6) 3.6复位电路 (6) 3.7晶振电路 (7) 3.8显示电路 (8) 3.9报警电路 (8) 3.10开锁电路 (9) 4 软件系统设计 (10) 4.1主程序流程图 (10) 4.2按键软件设计 (11) 4.3密码设置软件设计 (12) 4.4开锁软件设计 (13) 结论 (15) 参考文献 (15) 附录 (15) 附录1硬件原理图 (15) 附录2 C语言程序 (15)

1 绪论 1.1 电子密码锁简介 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下: 1) 性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因 人员的更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 1.2 本设计所要实现的目标 本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以有用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入就的密码,在输入新密码的时候要二次确认,以防止误操作。 1.3 设计方案简介 采用以单片机为核心的控制方案 由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度围、有没有低电压检测功能、单片机有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机80C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。密码输完后按下确认键,如果密码输入正确

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

电子密码锁总体设计方案

电子密码锁设计 一、目标 1、任务和目标 本项目设计一种基于AT89C51单片机控制的电子密码锁,要求达到以下任务目标: (1)可通过键盘输入密码控制开关的开锁和闭锁; (2)可通过扩展的LCD显示器显示输入的密码; (3)密码可以多次改写和重置; (4)连续三次输入密码错误,报警装置开始工作,密码锁进入锁机状态。 2、功能需求简述

二、详细设计方案的选择及设计思路概述 1、设计方案的选择 本次设计的密码锁在理论上可以利用多种设计方法及原理进行设计,依据设

计的简单、高效、易于实现等原则,主要有两种设计方案可供选择,即:数字电路控制和以AT89C51为核心的单片机控制两种方案。现在对其两种方案进行可行性对比分析。 方案一:采用数字电路控制。其原理图下图1所示。 图1 数字密码锁电路方案 电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。 采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。 方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加多组密码设置、报警提示等控制功能。其原理如下图2所示。

电子密码锁课程设计

目录 摘要 本次课程设计的题目是电子密码校验设计,由输入密码、设定密码、寄存电路、比较电路、显示电路、修改密码等模块组成。 该电子密码锁利用数字逻辑电路,实现对锁的电子控制,突破了传统的机械锁的单一性、保密性低、易撬性的缺点,数字电子密码锁具有保密性高、使用灵活性好、安全系数高的优点。

主要工作部分是将输入密码与正确密码进行比较,密码正确时绿色发光二极管亮,密码错误则红色发光二极管亮。输入电路将6位密码并行输入,密码是否相等利用与非门将输入的密码和预定密码进行比较,当相等时便触发绿色发光二极管,不相等则作用到红色发光二极管和蜂鸣器。 1.设计目的 本课程为电子、通信类专业的独立实践课,该课程设计建立在电路基础、低频与高频电子线路等课程的基础上,主要让学生加深对电子线路理论知识的掌握,使学生能把所学的知识系统地、高效地贯穿到实践中来,避免理论与实践的脱离,同时提高学生的动手能力,并在实践中不断完善理论基础知识,有助于培养学生综合能力。 2.设计要求 1)要求电子器件设计制作密码锁的控制电路,使之在输入正确的代码时,输出信号以 启动执行机构动作,并且用红、绿LED指示关锁、开锁状态。 2)密码锁控制器中存储一个4位代码,当开锁按钮开关设置9位,其中只有4位有效) 的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮、红灯灭表示开锁状态。 3)从第一个按钮触动后的5秒内若未能将锁打开,则电路自动复位并由扬声器发出 20秒的报警信号,同时用绿灯灭、红灯亮表示关锁状态。 4)要求性能可靠、操作简便。 5)密码锁控制器中存储的4位密码可以修改。 3.方案选择 第一方案555集成电路构成的密码锁电路 图3-1555时基集成电路组成的电子密码锁电路

数字密码锁设计

数字密码锁设计 一、设计任务与要求 设计由编码器、集成逻辑门电路、声光报警指示电路构成的密码锁电路,研究门电路的接口与驱动技术、学习组合逻辑电路的设计方法;用Proteus 软件仿真;实验测试逻辑功能。具体要求如下: (1)密码锁电路由密码输入电路、密码设置电路和密码控制电路组成,密码输入及密码设置均采用十进制数形式,密码输入通过键盘或按键输入。密码设置通过开关输入。 (2)如果输入的密码与预先设定的密码相同,则保险箱被打开,密码控制电路的输出端E =1,F=0;否则电路发出声、光报警信号,即输出端E=0,F=1。 (3)实验时,“锁被打开”的状态可用绿色发光二极管指示;声、光报警可分别用红色发光二极管及蜂鸣器指示。 (4)写出设计步骤,画出最简的逻辑电路图。 (5)对设计的电路进行仿真、修改,使仿真结果达到设计要求。 (6)安装并测试电路的逻辑功能。 (7)拓展内容:如果考虑一个开锁用的钥匙插孔输入端G,当开锁时(G=1),密码输入才有效,试在上述电路基础上修改该电路。 二、课题分析及设计思路 (1)密码输入电路及密码设置电路的设计思路 由于密码输入及密码设置均采用十进制数形式,故可利用8421BCD 码编码器分别实现,以一位密码输入及密码设置为例,其实现框图如下: 图1 密码输入及密码设置电路的实现框图 (2)密码控制电路的设计思路 分析以上设计任务与要求,密码控制电路的实现框图如下:

图2 密码控制电路实现框图 很容易得到:)()()()(1111D D C C B B A A F E ⊕?⊕?⊕?⊕== 由上述逻辑表达式可确定相应的逻辑电路图。 (3)TTL 集成门电路与LED 发光二极管的接口电路设计 TTL 集成门电路除了可驱动门电路外,还能驱动一些其它器件如LED 发光二极管。以集成反相器为例,有如下两种情况如图3(a )、(b)所示: 图3(a ) 输出高电平时LED 亮 图3 (b) 输出低电平时LED 亮 电路中串接的电阻R1、R2 为限流电阻,其作用是保护LED 因过流而烧坏。其大小按如下公式进行选择: D F OH I V V R -=1 D OL F CC I V V V R --=2 上述两式中,I D 为LED 正常发光时的电流,V F 为LED 导通电压,V OH 、V OL 分别为反相器的高、低电平输出电压。如I D =5mA ,V F =2.2V ,V OH =3.4V ,V OL =0.2V 时,算得R1=240欧,R2=520 欧。 注意:① 图3(a )接法时,发光二极管的电流不能超过门电路的“最大拉电流”,图3(b) 接法时,发光二极管的电流不能超过门电路的“最大灌电流”,否则会导致输出电平的 混乱。当然,如果该门电路处于整个逻辑电路的最末端,则发光二极管的电流可不受此限制。

EDA电子密码锁设计报告

- -- 目录 摘要: .................................................................. 错误!未定义书签。第一章:系统设计总述 ................................................................ - 1 - 1.1设计要求....................................................................... - 1 - 1.2 设计方案...................................................................... - 1 - 第二章:总体程序设计 ................................................................ - 2 - 2.1整体组装设计原理图 ......................................................... - 2 - 2.2 顶层模块程序调用 ........................................................... - 3 - 2.2.1程序部分............................................................... - 3 - 2.2.2 整体原理文件......................................................... - 4 - 第三章:单元模块程序设计........................................................... - 5 - 3.1 输入模块...................................................................... - 5 - 3.1.1 输入模块程序 ....................................................... - 5 - 3.1.2输入模块元件 ......................................................... - 6 - 3.1.3输入模块仿真 ......................................................... - 7 - 3.2 电子密码锁系统控制模块.................................................. - 7 - 3.2.1控制模块程序 ......................................................... - 8 - 3.2.2控制模块元件 ........................................................ - 10 - 3.2.3控制模块仿真 ........................................................ - 11 - 3.3显示模块...................................................................... - 11 - 3.3.1显示模块元件 ........................................................ - 14 - 3.3.2显示模块仿真 ........................................................ - 15 - 第五章:收获与体验 .................................................. 错误!未定义书签。参考文献................................................................ 错误!未定义书签。- .

电子密码锁设计方案

密码锁设计方案 第一部分:课题背景描述 ●课题来源: 课题思路来源于本次大赛的参考题目 ●市场分析: 电子密码锁是一种通过单片机来控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。 ●国内外研究现状 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。电子密码锁特点如下:保密性远远大于弹子锁。随机开锁成功率几乎为零。 密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。 误码输入保护。当输入密码多次错误时,报警系统自动启动。 4. 电子密码锁操作简单易行,一学即会。 另外,随着科学技术的发展,用户在生活中需要使用的锁类越来越多,电子密码锁能为用户提供安全无忧的服务,因此市场前景十分广阔。 第二部分:功能描述 本项目设计一种基于STC90C52单片机控制的电子密码锁,具有如下功能:

①可通过薄膜键盘输入密码控制开关的开锁和闭锁 ②可通过扩展的LED显示器显示输入的密码 ③密码可以多次改写和重置 ④连续三次输入密码错误延迟10秒钟后,声光报警装置工作 第三部分:可行性分析 ●设计思路: 本课题选用以STC90C52单片机为核心,辅以扩展的薄膜按键键盘以及LED显示模块组成完整的系统。通过键盘采集输入的信息,与单片机内的储存值比较,如果密码正确,则开锁电路打开,并且绿灯亮;如果密码错误,则报警电路的红灯电路打开,若连续三次输入密码错误,声光电路打开,红灯闪烁;在以上工作的同时显示电路工作,同步显示输入数值,具有较高的安全性。 关键词:STC90C52、电子密码锁、7805、12864、薄膜矩阵键盘、数码管动态显示、声光显示。 ●应用的技术分析: 本课题的实现,需要使用到以下关键技术: ①基于STC90C52单片机简单设计及外围扩展电路 ②键盘输入及单片机间的数据传输 ③LED显示技术、动态输出及单片机间的数据传输 ●设计者当前已具备的技术条件: ①课题组成员都参阅过相关的51单片机开发方面的书籍,熟悉Altium Designer Winter 09电路设计,有一定的项目开发及电路设计基础。 ②课题组成员系统学习过基于Keil C51,对C语言函数库的调用有一 定的了解,具备C语言程序设计开发基础。

简易电子密码锁课程设计

江西理工大学应用科学学院 微机控制系统课程设计报告 题目:简易电子密码锁 姓名: 学号: 专业班级: 指导教师: 完成时间: 设计报告综合测试平时总评 格式(10分) 内容 (10分) 图表 (5分) 功能测试 (35分) 答辩 (20分) 考勤 (20分)指导教师签名:

目录 摘要.................................................... - 1 - 第一章系统概述.. (2) 第二章基本功能设计.................................... - 3 - 2.1 实验任务........................................ - 3 - 2.2 基本设计要求.................................... - 3 - 2.2.1 基本要求.................................. - 3 - 2.2.2发挥部分 .................................. - 3 - 2.3 主要元件介绍 (3) 2.3.1 P89C51芯片 (3) 2.4 系统框图 (5) 第三章硬件设计 (5) 3.1 硬件电路的设计 (5) 3.1.1 硬件工作接线口 (5) 3.1.2 LED显示器结构与原理 (5) 3.1.3 复位电路 (7) 3.1.4 振荡电路 (7) 3.1.5 按键设置 (8) 3.1.6 报警器和发光二极管 (9) 3.2 硬件电路图 (9) 第四章软件设计 (11) 4.1 系统软件设计 (11) 4.1.1密码开锁功能 (12) 第五章系统PROTUSE仿真图 (13) 第六章设计总结 (16) 参考文献 (17) 附录 (18)

密码锁设计方案

密码锁设计方案 第1章绪论 1.1课题背景 密码锁是锁的一种,开启时用的是一系列的数字或符号。密码锁的密码通常都只是排列而非真正的组合。部分密码锁只使用一个转盘,把锁内的数个碟片或凸轮转动;亦有些密码锁是转动一组数个刻有数字的拨轮圈,直接带动锁内部的机械。 此单片机设计(密码锁)是一种能防止多次探密码的基于单片机的密码锁设计方案,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择,硬件设计,软件流程图,汇编语言源程序等内容。密码锁应用非常广泛,如生活中的密码箱等;到取款机取款时插入卡后要输入个人设定的密码;银行里的密码柜,再比如核武器在发射时也有密码的等等。 很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。我们的设计给出了一种能防止多次试探密码的密码锁设计方法,利用单片机控制。因为单片机不但具有体积小,成本低,控制灵活,便于产品化等特点,而且单片机具有新的发展,具体主要体现在单片机片内资源越丰富,用它构成的单片机控制系统的硬件开销就会越少,产品的体积和可靠性就会越高,所以,使用单片机系统控制密码锁,体积小,成本低,控制灵活,便于产品化,可以防止多次试探,从而有效地克服了上述缺点。 1.2本设计课题的研究现状 随着电子技术的发展单片机功能的增强,出现了带微处理器的智能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性。目前发达国家已经大规模地应用智能门禁系统,可以通过多种更加安全,更加可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,主要出现在保险柜、密码箱、高级宾馆等场所,家居用的较少,究其原因,我认为有以下几点: (1)价格原因 (2)厂商的推广力度不够。

电子密码锁设计报告概要

课程设计说明 书 课程名称:《单片机技术》设计 题目:基于51单片机的电子密码锁 院(部):学生姓名:电子信息与电气工程学院 马亚林 学号: 专业班级:指导教师:12 通信工程(专升本) 丁莹亮 2013 年05月17日

设计题目 课 程 设 计 任 务 书 基于 51 单片机的电子密码锁 学生姓名 设计要求: 12 通信工程(专 升本) 设计以单片机 AT89C51 为核心的电子密码锁,包括电子密码锁完整的设计过程以及外围 的开锁电路和报警电路的设计。 电子密码锁要完成以下部分的设计:按键接口电路、电子密码锁的控制电路、输出 八段显示电路。 电子密码锁控制电路能完成以下功能设计:数字按键的数字输入、存储和清除、功 能按键的功能设计、密码的清除和复位、报警信号产生电路密码核对、解除电锁电路、 输出八段显示电路完成以下电路设计:数据选择电路、八段显示器扫描电路。 学生应完成的工作: 1. 2. 3. 4. 5. 运用 Proteus 软件设计电路原理图; 用 Proteus 软件进行仿真; 焊接电路板并调试实现其功能; 完成实习报告; 我的任务是设计电路原理图并仿真。 参考文献阅读: [1] 杜尚丰. CAN 总线测控技术及其应用.北京:电子工业出版社,2007.1 [2] 杜树春.单片机 C 语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6 工作计划: 2013.5.6 熟悉课题并查阅相关资料,同时消化吸收资料内容; 2013.5.7——2013.5.8 2013.5.9——2013.5.10 根据设计题目确定硬件设计方案,并交与指导老师修改; 开始着手课题的软件设计,与指导老师进行沟通; 2013.5.13 申请领用元器件; 2013.5.14——2013.5.17 进行实物制作,并撰写课程设计报告。 任务下达日期:2013 年 5 月 6 日 任务完成日期:2013 年 5 月 17 日 指导教师(签名): 学生(签名):王立斌 王立斌 所在院部 基于 51 单片机 的电子密码锁 专业、年级、 班

14位数字密码锁两种设计方案

设计方案 系统设计方案 利用所学的电子技术知识和电子设计方法,设计出一个电子密码锁有以下两种基本方案可以选择: 方案一:利用数字逻辑电路,运用各种门电路,计数器,触发器,锁存器,编/译码器等数字逻辑器件实现电子控制。从而实现想要设计的电子密码锁的功能。此方法设计简单,但硬件电路比较多,操作起来比较复杂。 方案二:使用MCS-51系列单片机为核心控制附加一些简单的外围电路,利用单片机的一个I/O端口组成4×4键盘作为输入电路,采用汇编语言编写程序来实现电子密码锁的各项功能,程序语言功能强大,调试较为简单。具有很强的实用性。 设计方案选择 综上提出的两种方案,方案一给出的采用数字逻辑电路的设计方法的好处就是设计简单,因为采用数字逻辑电路可以分成各个功能模块来设计,每个模块实现各自的一个功能。这钟方法设计的密码锁电路大致包含:按键输入、密码核对、密码修改、开锁电路、错误提示电路等功能模块。采用数字电路虽然设计简单但是操作繁琐,要运用很多数字逻辑器件,硬件电路复杂,而且可能会出现较多器件故障,同时难以检查和维护。方案二提出的使用单片机为核心控制的方案,利用单片机丰富的I/O端口和灵活的编程设计,不但能实现密码锁的功能,而且控制准确性高,外围电路少硬件电路简单,方便灵活,调试简单不易出错,体积小成本低也利于现实中实现,具有较高的实际意义和实用价值。这个设计方案的最关键的地方就在于编程,利用程序的执行来实现密码锁的基本功能,因此单片机方案还有较大活动空间,能在很大程度上扩展功能,方便对系统进行升级。 针对第一种方案:系统vhdl设计 功能描述: 假设设计的密码锁有7个数据输入键,分别用K1到K7表示;一个“确认键”(按一下确认键,密码锁内部就产生一个正脉冲),用CLK_AFFIRM表示;一个“重置和修改密码使能键”,用S/W 表示;一个开锁状态指示灯GREENLED;一个密码输入错误报警器REDLED. 1.密码预置。未使用过的密码锁初始状态为“打开”,内部密码为随机数,故使用前必须进行密码 预置。通过按键将S/W调为“1”,密码锁进入密码预置模式,按照K1~K7→确认键→K1~K7→确认键的顺序输入想要设置的密码,其中K1~K7表示的意思是,给K1到K7赋值,赋值顺序可任意改变,但一旦按下确认键,K1到K7分别对应的数值便不可改变。整个过程中只要按下两次确认键,密码预置便成功完成。 2.密码验证。通过按键将S/W调为“0”,密码锁进入密码验证模式。按照K1~K7→确认键→K1~K7 →确认键的顺序输入密码,如果密码与预置的密码(如果修改过密码,则与最后一次修改成功后的密码)相匹配,开锁指示灯GREENLED变亮,同时锁子被打开。如果没反应,需要重新输入密码,但是输入密码的次数最多为3次,如果3次都输入了错误密码,那么错误报警器REDLED 就会报警,如果继续输入了正确密码,报警器就会解除警报。 3.密码修改。用户必须提供正确的密码后方能进入密码修改模式,否则,修改无效。如果用户通 过了密码验证,那么此时将S/W调为“1”便可顺利进入密码修改模式。修改密码过程与重置类

课程设计-密码锁

课程设计课程名称: 设计题目: 专业: 姓名: 学号:

一、设计内容和要求 题目:密码锁 该锁有4个密码拨动开关(设定0和1)来设置密码,一个开箱钥匙孔(能接通电池)。当用钥匙开箱时,如果输入的4位密码正确,箱被打开;否则,电路将发出警报(发光二极管亮表示)。要求锁的密码在第一次使用时能由用户自行进行一次性设定(机械方式)。 具体要求: 1)写出该组合逻辑电路的分析和设计方法; 2)画出电路原理图,标明要使用的芯片。 二、电路设计 1.题目分析 从题目要求来看,该密码锁必须具备以下几个条件: (1).所设置的密码必须为4位,例如1000。 (2).密码错误时,必须发出警报,此时二极管亮。 (3).可以进行密码设定。 2.设计思路 因为每一位密码只有两个状态,即0和1,因此可以用单刀双掷开关结合高低电平来实现密码的设定以及输入,而设定密码与输入密码的比对可以通过异或门来实现。具体可以是4个异或门连接输入端,然后与反向器相连接,再连接4输入与非门,最后连接一个开关,一个500欧姆的限流电阻,一个发光二极管。 3.具体电路 总电路图如下图所示:

开始的8个单刀双掷开关和VCC以及GND部分是密码的设定以及输入部分,期中J2-J5是密码的设定,J6-J9是密码的输入。开关拨到上输入1,开关拨到下输入为0。上图的设定密码为1010,此时输入密码也为1010,密码正确,因此发光二极管不亮。如果输入密码为1011,此时与设定密码不相符,就会发出警报,表现为二极管发光,如下图: 从图可以看出,二极管发出绿光,说明密码错误,需要重新输入。 开关J1与开箱钥匙孔相连接。当用钥匙开箱时,开关J1闭合,电路接通。 如果密码错误二极管就会发光。 4.电路分析 异或门电路的性质:两个引脚输入相同时输出为0,输入相异时输出为1。由此可知,如果设置密码与输入密码相同时,U9A的输出电平为低电平,因此发光二极管不发光。如果设置密码与输入密码不同,则U9A的输出电平为高电平,此时二极管发光。如果J1断开,即不用钥匙开箱,则无论输入是什么,都不可能发光。如果J1接通,即用钥匙开箱,则需要满足输入与设定不同是才会发光。 5.芯片需求 54LS86是一个有4二输入异或门的芯片,引脚图如下:

密码锁的研究与设计

《计算机控制技术》 学号: 201172020143 姓名: 张淑英班级: 电子信息工程一班 成绩: 评语: (考试题目及要求) 密码锁的研究与设计 通过对计算机控制课程的学习,结合课程中对单片机知识的复习以及对计算机控制的基本原理的理解,完成了该设计。该课程作业主要是对密码锁的研究与设计。本控制器AT89C51单片机为核心键盘、显示电路,输出控制电路,告警提示电路等构成。利用目前使用的微处理器AT89C51 作为控制元件设计了一种电子密码锁。其具有可设置多组密码、多次改写和保存密码的优点,克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、 仓库、保险柜和家庭普遍适用。

目录 一、课题背景及意义....................................................................................... - 3 - 二、设计要求................................................................................................... - 4 - 三、设计思路及设计方案............................................................................... - 4 - (一)设计方案选择............................................................................... - 4 - (二)总体方案思路............................................................................... - 6 - (三)系统硬件设计............................................................................... - 6 - 1.键盘设计........................................................................................ - 6 - 2. LED显示设计.............................................................................. - 7 - 3.开锁电路........................................................................................ - 7 - 4.报警电路........................................................................................ - 8 - (四)软件设计....................................................................................... - 8 - 1.键盘的读取.................................................................................... - 8 - 2.LED显示程序............................................................................... - 9 - 3.密码比较和报警程序.................................................................... - 9 - 四、程序调试................................................................................................ - 11 - (一)KEIL C51简介 ........................................................................... - 11 - (二)调试过程..................................................................................... - 11 - 五、设计总结................................................................................................. - 12 - 参考文献......................................................................................................... - 13 - 附录................................................................................................................. - 14 -

相关文档
相关文档 最新文档