EDA电子密码锁课程设计

EDA电子密码锁课程设计
EDA电子密码锁课程设计

概述

在当今社会中,人们对于隐私的保护和对物品安全的重视程度与日俱增。因此,使用了现代电子技术的电子密码锁便有了广泛的应用前景。本次所设计的电子密码锁,能够实现该六位十进制并行密码保护,当输入的密码与锁内密码一致时,绿灯亮,开锁;当输入的密码与锁内的密码不一致时,红灯亮,不能开锁。密码锁的密码可由用户自行设置,并可在液晶显示屏上显示所输入的密码。为人们的财产、信息安全提供了可靠地保障。

本次设计基于VHDL语言,对并行六位电子密码锁进行设计,并对设计过程进行了详细描述。采用VHDL语言进行电子密码锁的设计可使设计工作简洁直观,快速实现既定功能。电子密码锁在对财产安全保护等方面都有着重要作用,应用前景非常广泛。开锁代码为六位十进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯。否则,系统进入“错误”状态,并发出报警信号。开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。并行数字锁的报警方式是点亮指示灯,并使喇叭鸣叫来报警,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。

一、设计主要内容

1、密码锁串行输入几位十进制数字口令

2、输入口令全部正确即开锁并有绿灯显示

3、口令输入最大次数3次,要求在完全输入六位之后进行判断口令正确与否;输入3次之后还不能开锁,进入死锁状态并报警

4、有相应的显示功能

5、开锁后能再次上锁

二、系统设计方案

作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。

(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘译码电路等几个小的功能电路。

(2) 密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。

(3)密码显示电路主要是在液晶显示屏显示输入的数值。

2.1密码锁输入电路的设计

是电子密码锁的输入电路框图,由键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,加上外接的一个4×4矩阵式键盘组成。

图1-1 密码锁的输入电路框图

1.矩阵式键盘的工作原理

矩阵式键盘是一种常见的输入装置,在日常的生活中,

矩阵式键盘在计算机、电话、手机、微波炉等各式电子产品上已经被

广泛应用。图1-2是一个3×4矩阵式键盘的面板配置图,其中数字0~9作为密码数字输入按键。

7 8 9 4

5 6 2 3 1 0

弹跳消除电路 键盘译码电路 按键数据缓存器 键盘输入 按键数据 键盘扫描电路

键盘扫描信号 工作时钟脉冲信号 7 8

9 4 5

6 1 2

3 0 KC2

KC1 KC0 1110 1101 1011 0111 KR3(00) KR2(01) KR1(10) KR0(11)

图1-2 4 ×4矩阵式键盘的面板配置

2.2密码锁输入电路各主要功能模块的设计

1) 时序产生电路

本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。

2) 键盘扫描电路

扫描电路的作用是用来提供键盘扫描信号的,扫描信号变化的顺序依次为1110-1101-1011-0111-1110......依序地周而复始。

3) 弹跳消除电路

由于本设计中采用的矩阵式键盘是机械开关结构,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入,从而影响到密码锁操作的正确性。

从图1-3中可以观察出弹跳现象产生的原因,虽然只是按下按键一次然后放掉,然而实际产生的按键信号却不止跳动一次,经过取样信号的检查后,将会造成误判断,以为键盘按了两次。如果调整抽样频率(如图4.5所示),可以发现弹跳现象获得了改善。

图1-3弹跳现象产生错误的抽样结果

图1-4 调整抽样频率后得到的抽样结果

4) 键盘译码电路

上述键盘中的按键可分为数字按键和文字按键,每一个

按键可能负责不同的功能,例如清除数码、退位、激活电锁、开锁等。

5) 按键存储电路

因为每次扫描会产生新的按键数据,可能会覆盖前面的

数据,所以需要一个按键存储电路,将整个键盘扫描完毕后的结果记

抽样结果

抽样信号按键信号抽样结果抽样信号按键信号

录下来。按键存储电路可以使用移位寄存器构成。

图1-5 输入电路仿真波形图

2.3 密码锁控制电路的设计

密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入的响应控制。

1.数字按键输入的响应控制

(1) 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。

(2) 假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入六位数。

(3) 由于这里设计的是一个六位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第六个以后的数字。

2.4功能按键输入的响应控制

(1) 清除键:清除所有的输入数字,即做归零动作。

(2) 激活电锁键:按下此键时可将密码锁的门上锁。(上

锁前必须预先设定一个六位的数字密码。)

(3) 解除电锁键:按下此键会检查输入的密码是否正确,

若密码正确无误则开门。

图1-5 电子密码锁的三种模式及关系

输入文字模式 开始输入六位数字,在输入过程中可能用到删除键

开锁工作模式 检查输入的密码是否有效 核对输入的密码是否有效 都正确后解除电锁 上锁工作模式 密码锁激活上锁

2.5 密码锁显示电路的设计

密码锁显示电路的设计比较复杂,这里直接采用12864液晶屏进行显示。

2.6 密码锁的整体组装设计

将前面各个设计好的功能模块进行整合,可得到一个完整的电子密码锁系统的整体组装设计原理图,如图1-6所示。

图1-6 密码锁的整体组装设计原理图

三、系统扩展思路

(1) 本系统基本达到作为数字密码锁的绝大部分功能,但还有许多不足或需完善的地方。比如说采用4×4的通用机械键盘受到键盘数量的限制,在很大的程度上限制了其功能的扩展。

(2)设计外围电路:系统用方波信号源,直流工作电源。(3)可要求设计制作整个系统,包括PCB的制作。

四、实验收获

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,FPGA已经成为当今计算机应用中空前活跃的领域,在生活中可以说无处不在。因此作为二十一世纪的大学来说掌握eda的开发技术是十分必要的。

回顾此次课程设计,我感慨颇多,的确,从理论到实践,在很长的一段时间里,可以说是苦多于甜,但确实学到了很多东西,不仅可以巩固以前学到的知识,还学到许多没学过的知识。通过此次课程设计,使我了解了理论与实际结合的重要性,只有理论知识是远远不够的。在设计的过程中,发现自己以前学习的知识理解不够深刻,掌握不够牢固等等。通过这次课设之后,一定要把以前学习的知识温故知新。

这次的课设终于完成,通过老师的细心讲解,我解决了很多问题。在这里,感谢老师的细心指导。同时对于帮助我的同学,也表示衷心感谢。

附录

1、液晶显示程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use IEEE.STD_LOGIC_ARITH.ALL;

entity clock_lcd_disp is

generic(divide_to_100k:integer:=500);

port(clk:in std_logic;

DATAIN:in std_logic_vector(31 downto 0);

din: in INTEGER RANGE 15 DOWNTO 0;

rw,rs,e,lcd_rst:out std_logic;

lcd_data:out std_logic_vector(7 downto 0));

end clock_lcd_disp;

architecture tcl of clock_lcd_disp is

signal mima:std_logic_vector(31 downto

0):="00010010001101000101011001111000";

signal clk_100k:std_logic;

signal clkout:std_logic;

signal temp:std_logic_vector(7 downto 0);

type state

is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18, s19,s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,s30,s31);

signal current_s:state;

type data_buffer is array(0 to 15)of std_logic_vector(7 downto

0);

type data_buffer1 is array(0 to 7)of std_logic_vector(7 downto 0);

signal time:std_logic_vector(23 downto 0);

signal disp_time:data_buffer1:=(

x"31",x"32",x"3a",x"33",

x"34",x"3a",x"35",x"36");

constant data_buf0:data_buffer:=(x"20",x"20",x"bb",x"aa", --华科武昌分校 80

x"bf",x"c6",x"ce",x"e4",

x"b2",x"fd", x"b7",x"d6",

x"d0",x"a3",x"20",x"20");

constant data_buf1:data_buffer:=(x"20",x"20",x"b5",x"e7", --电子密码锁90

x"d7",x"d3",x"c3",x"dc",

x"c2",x"eb",x"cb",x"f8",

x"20",x"20",x"20",x"20");

constant data_buf2:data_buffer:=(x"20",x"20",x"c7",x"eb",

x"ca",x"e4",x"c8",x"eb", --请输入密码: 88

x"c3",x"dc",x"c2",x"eb",

x"3a",x"20",x"20",x"20");

constant data_buf3:data_buffer:=(x"20",x"20",x"d6",x"d8",

x"d0",x"c2",x"ca",x"e4", --重新输入

x"c8",x"eb",x"20",x"20",

x"20",x"20",x"20",x"20");

constant data_buf4:data_buffer:=(x"20",x"20",x"bd",x"e2",x"cb",x"f8",x"b3",x"c9", --解锁成功

x"b9",x"a6",x"20",x"20",

x"20",x"20",x"20",x"20");

constant data_buf5:data_buffer:=( x"20",x"20", --进入死锁状态

x"bd",x"f8",x"c8",x"eb",

x"cb",x"c0",x"cb",x"f8",

x"d7",x"b4",x"cc",x"ac",

x"20",x"20");

constant data_buf6:data_buffer:=(x"20",x"20",x"bd",x"e2", --

x"cb",x"f8",x"b3",x"c9",

x"b9",x"a6", x"21",x"20",

x"20",x"20",x"20",x"20"); begin

--U1:divclk1 port map(clk,clk_100k);

process(clk)

variable cnt:integer range 0 to divide_to_100k;

begin

if(clk'event and clk='1')then cnt:=cnt+1;

if(cnt=divide_to_100k)then cnt:=0;

end if;

if(cnt

else clk_100k<='1';

end if;

end if;

end process;

div_1Hz:

process(clk)

variable cnttemp:integer range 0 to 49999999;

begin

if clk='1' and clk'event then

if cnttemp=49999999 then cnttemp:=0;

else

if cnttemp<25000000 then clkout<='1';

else clkout<='0';

end if;

cnttemp:=cnttemp+1;

end if;

end if;

end process div_1Hz;

disp_time(7)<=DATAIN(3 downto 0)+x"30";

disp_time(6)<=DATAIN(7 downto 4)+x"30";

disp_time(5)<=DATAIN(11 downto 8)+x"30";

disp_time(4)<=DATAIN(15 downto 12)+x"30";

disp_time(3)<=DATAIN(19 downto 16)+x"30";

disp_time(2)<=DATAIN(23 downto 20)+x"30";

disp_time(1)<=DATAIN(27 downto 24)+x"30";

disp_time(0)<=DATAIN(31 downto 28)+x"30";

read_time:

process(time)

begin

end process;

process(clk_100k)

variable cnt1:integer range 0 to 10000;

variable cnt_1:integer range 0 to 1000;

variable code_cnt:integer range 0 to 13;

variable data_cnt:integer range 0 to 480;

begin

if(clk_100k'event and clk_100k='1')then

case current_s is

when s0=>rw<='1';rs<='1';e<='1';cnt1:=cnt1+1;

if cnt1<500 then lcd_rst<='0';

elsif cnt1<1000 then lcd_rst<='1';

elsif cnt1=1000 then

lcd_rst<='1';cnt1:=0;current_s<=s1;

end if;

when s1=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"0c";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s2; end if;

when s2=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"90";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s3; end if;

when s3=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0';

elsif cnt_1<2*3 then

lcd_data<=data_buf1(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=16 then current_s<=s4; data_cnt:=0;

end if;

end if;

when s4=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"88";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s5; end if;

when s5=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0';

elsif cnt_1<2*3 then

lcd_data<=data_buf2(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=16 then current_s<=s6; data_cnt:=0;

end if;

end if;

when s6=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"80";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s7; end if;

when s7=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0';

elsif cnt_1<2*3 then

lcd_data<=data_buf0(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=16 then current_s<=s8;

data_cnt:=0;

end if;

end if;

--动态显示

when s8=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"9a";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s9;

end if;

when s9=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=disp_time(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s10;

data_cnt:=0;

end if;

end if;

--------------------------------------------------------------

when s10=>cnt_1:=cnt_1+1;

if din<=10 then

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"88";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s11;

end if;

else current_s<=s12;

end if;

when s11=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=data_buf4(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s0;

data_cnt:=0;

end if;

end if;

when s12=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"88";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s13;

end if;

when s13=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=data_buf3(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s14;

data_cnt:=0;

end if;

end if;

when s14=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"98";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s15;

end if;

when s15=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=disp_time(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s16;

data_cnt:=0;

end if;

end if;

---------------------------------------------------------------------

---------------------------

when s16=>cnt_1:=cnt_1+1;

if din<=10 then

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"88";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s17;

end if;

else current_s<=s18;

end if;

when s17=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=data_buf4(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s0;

data_cnt:=0;

end if;

end if;

when s18=>cnt_1:=cnt_1+1;

if cnt_1<1*3 then e<='1';rs<='0';rw<='0';

elsif cnt_1<2*3 then lcd_data<=x"88";

elsif cnt_1<10*3 then e<='0';

elsif cnt_1=10*3 then cnt_1:=0;current_s<=s19;

end if;

when s19=>

if cnt_1<1*3 then e<='1';rs<='1';rw<='0'; elsif cnt_1<2*3 then

lcd_data<=data_buf3(data_cnt);

elsif cnt_1=2*3 then data_cnt:=data_cnt+1;

elsif cnt_1<100 then e<='0';

end if;

cnt_1:=cnt_1+1;

if cnt_1=100 then cnt_1:=0;

if data_cnt=8 then current_s<=s20;

data_cnt:=0;

end if;

end if;

基于51单片机电子密码锁毕业论文(设计)

摘要 摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。 基于以上思路,本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能: (1)密码通过键盘输入,若密码正确,则将锁打开。

(2)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。 电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有 LED 提示灯,报警蜂鸣器等。 密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。 (2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。 (3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。 主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。第二步,使用 DXP 2004设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法)。第三步,使用 Keil uVision3 软件编写单片机的 C 语言程序、仿真、软件调试。第四部,使用 PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次毕业设计。 关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确认

基于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蓝牙模块来

密码锁课程设计报告

江苏师范大学科文学院本科生课程设计 课程名称:数字电子技术基础 题目:数字密码锁 专业班级: 14电信2班 学生姓名:王坤 学生学号: 148326228 日期: 2016年6月25日 指导教师:魏明生

指导教师签字: 年月日

目录 摘要...................................................................................................II Abstract................................................................................................ II 1 绪论.. (1) 1.1 背景 (1) 1.2 目的 (1) 2 设计方案简述 (1) 2.1 设计任务 (1) 2.2 设计原件需求 (2) 3 详细设计 (2) 3.1 设计原理图 (2) 3.2 密码验证模块 (3) 3.3 计时模块 (4) 3.4 锁定输出 (5) 3.5 逻辑组合 (6) 4 设计结果及分析 (7) 4.1 总电路图 (7) 4.2 问题解决与分析 (7) 4.3 测试数据 (9) 5总结 (10) 参考文献 (11)

摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁,电子密码锁具有安全性高、成本低、功耗低、易操作等优点,受到广大用户的欢迎。本次课程设计简述数字密码锁的设计、制作过程,用74LS138为3线-8线译码器、555为计时模块、D触发器74LS175为锁定输出、74LS00为逻辑组合模块构成该数字密码锁的设计思想和实现过程。该课程设计可以预先设定密码和修改密码等方便操作处理,通过发光二级管颜色的转变辨别密码的正确和密码锁的开启。通过该课程设计,主要解决与我们平常生活关系密切的密码锁的问题,且制作该设计所需要元器件的成本较低,适合学生对数字电路的实践所用。 关键词:数字密码锁;74LS138;555;74LS175;74LS00 Abstract In daily life and work, security, residential units and departments of the documents, financial statements, and some personal information in order to save more than locking solutions. If the use of traditional mechanical key to unlock, people often need to carry multiple keys, a very inconvenient to use, and after the loss of key security that is greatly reduced. In the field of security and protection, anti-theft alarm function electronic combination lock gradually replace the traditional mechanical combination lock, electronic lock has the advantages of high safety, low cost, low power consumption, easy to operate, welcomed by the majority of users. The curriculum design of digital code lock design, process, using 74LS138 for 3 -8 decoder, 555 for the timing module, D triggers 74LS175 lock output, 74LS00 logic combination module design idea of the digital password lock and implementation process. The curriculum design can be pre-set password and modify passwords and other convenient operation, opening by discerning the password change light emitting two tubes of color and correct password lock. Through the curriculum design, mainly to solve the daily life with our close locks, and making the design required components with low cost, suitable for students to use the practice of digital circuit. Key words: the digital combination lock; 74 ls138; 555; 74 ls175; 74 ls00

电子密码锁设计论文

电子密码锁设计论文 基于单片机的现场无电源电子密码锁设计摘要:在野外环境中往往不能方便地提供电源,传统由控制部分提供的电源,电子锁已不适用。介绍一种由手持部分提供电源,通过电源线完成通信功能的电子密码锁设计,解决了现场不能提供电源的问题。重点分析了发送电路、接收电路、倒向电路、电机保护电路以及系统的通信协议。该系统已在多个场所得到应用,其使用方便、安全可靠,具有一定的推广价值。 关键词:电子密码锁; STC12C2052; 倒向电路; 通信协议 中图分类号:TP29 文献标识码:A 文章编号:1004-373X(2010)09-0177-03 Design of Field Powerless Electronic Secure Code Lock Based on SCM MA Xiu-jun1, SUN Shi-ming1, WU Juan2, XIE Xing-zhou3 (1. Department of Computer and Communication Engineering, China University of Petroleum, Dongying 257061, China; 2. Dongxin Oil Plant, Sinopec Shengli Oilfield Company, Dongying 257000, China;

3. Gudao Oil Plant, Sinopec Shengli Oilfield Company, Dongying 257321, China) Abstract: Since power supply can not be provided in the wild environment, the traditional electronic locks that is powered by control terminal is not applicable. The design of an electronic secure code lock which uses a hand terminal to provide power for the system and solves the problem that in the wild environment the power supply could not be provided is described. The signal sending circuits, receiving circuit, inverter circuits, protection circuit of motor and the communication protocol are analyzed emphatically. The lock has been applied in many places, and is converient, safe and reliable. Keywords: electronic secure code lock; STC12C2052; inverter circuit; communication protocol 0 引言 目前,市场上有多种基于IC卡设计的电子锁,广泛应用于宾馆、公寓、仓库、学校等场所[1-2]。这些场合能够提供很好的直流或交流电源,电子锁的控制部分可以长时间方便地获取稳定的电源。但是,在野外环境中往往不能为控制部分方便地提供电源,需要手持部分为控制部分提供电源,执行开锁和闭锁操作,因此传统由控制部分提供电源

密码锁课程设计

课程设计报告 课程设计题目: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

电子密码锁单片机课程设计

电子密码锁单片机课程设计

单片机原理与应用技术课程设计报告 电子密码锁设计 专业班级:电气 124 姓名: 时间:2015年1月2日 指导教师:秦国庆 2015年1月2日

电子密码锁课程设计任务书 1.设计目的与要求 设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)状态显示功能:锁定状态时系统用3位数码管显示OFF, 用3位码管显示成功开锁次 数;成功开锁时用3位数码管 显示888,用3位数码管显示 成功开锁次数。 (2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设 置用户密码(1-26位长度), 同时系统掉电后能自动记忆 和存储密码在系统中。(3)报警和加锁功能:密码的输入

时间超过12秒或者连续3次 输入失败,声音报警同时锁定 系统,不让再次输入密码。此 时只有使用管理员密码方能 对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 1

电子密码锁 电气124 赵政权 摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。 关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium 2

密码锁-单片机课程设计

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.用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。 2.在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致是锁打开。 3.用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁 4.如5s内未将锁打开,则电路自动复位进入自锁状态,并发报警信号. 二、方案设计与论证 1、用按键输入四位十进制数字,输入密码要存储。 2、比较输入密码和原始密码.当输入正确密码时,给出开锁信号,开锁信号用一个绿色指示灯表示,绿灯亮表示密码输入正确;如果输入密码不正确,用红灯表示。 3、锁的开关用红灯和绿灯表示,一次只能亮一盏。红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。 4、设置倒计时电路和自锁电路。如果密码在5s内未能输入正确则发出报警声,并且自锁电路。 5、设置密码设置开关,开关闭合后,允许设置密码,设置好密码后,打开此开关。 6、需要在输入密码开始时识别输入,并由此触发计时电路. 方案一用74LS147译码器来把按键输入转化为二进制。通过8片四位寄存器74LS194实现密码功能,其中四片用来存储预置密码,另四片则用来存储输入的密码。当密码开始输入时开始计时,通过74LS192计数器实现计时功能;然后在密码输入期间,用74LS138数据选择器来选片存储。数据选择器的输入端又一个两位的二进制的加法计数器来控制,当键盘有按键输入时计数器就加1,当一个按键按完后会轮到下一个芯片存储。自锁功能利用74LS138来控制.通过四片74LS85芯片判断原始密码和输入密码是否相同,接着用指示灯来表示密码的输入正确与否,如果密码没有输入正确的话,则红灯亮,否则则绿灯亮。若是没在规定时间输入正确密码,则会发出警报信号(蜂鸣器响).

密码锁verilog课程设计

课程设计报告课程设计题目:4位串行数字密码锁 学号:201420130326

学生姓名:谢渊良 专业:通信工程 班级: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键盘模块 键盘电路理想接口图: flag Set Reset key_value

设计原理: 本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag 产生一个矩形波,作为连接模块的触发信号。同时key_value 值为所按下键的编码值,与flag 一同传入连接模块。 实际设计接口图: flag key_value 键盘模块仿真图:

电子密码锁课程设计

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

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

电子密码锁单片机课程设计

湖南学院 课程设计 课程名称 课题名称电子密码锁设计 专业测控技术与仪器 班级测控 学号 姓名 指导教师 年月日

湖南学院 课程设计任务书 课程名称 课题电子密码锁设计 专业班级测控 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

设计内容与设计要求 设计内容: 1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的 密码为“12345”共5位密码。 2、密码的输入:采用两个按键来完成密码的输入,其中一个按 键为功能键,另一个按键为数字键。在密码都已经输入完毕并 且确认功能键之后,才能完成密码的输入过程。然后进入密码 的判断比较处理状态并给出相应的处理过程。 3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下 并开始进入按键识别状态时,按键禁止功能被激活,但启动的 状态是在3次密码输入不正确的情况下发生的。 设计要求: 1、设计方案要合理、正确; 2、系统硬件设计及焊接制作; 3、系统软件设计及调试; 4、系统联调; 5、写出设计报告。

主要设计条件 1、MCS-51单片机实验操作台1台; 2、PC机及单片机调试软件; 3、单片机应用系统板1套; 4、制作工具1套; 5、系统设计所需的元器件。 说明书格式 1.封面 2.课程设计任务书 3.目录 4.系统总体方案设计 5.系统硬件设计 6.软件设计(包括流程图) 7.系统的安装调试说明 8、总结 9、参考文献 10、附录(源程序清单及硬件原理图等); 11、课程设计成绩评分表。

进度安排 设计时间为两周 第一周 星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论 星期二、确定总体设计方案 星期三、硬件模块方案设计 星期四、软件模块方案设计 星期五、设计及调试 第二周 星期一、设计及调试 星期二、设计及调试 星期三、总调 星期四、写说明书 星期五、上午:写说明书,整理资料 下午:交设计资料,答辩 参考文献 [1]、《微型计算机原理及应用》许立梓编机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 [3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版 社2000 [5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 [6]、《微型计算机接口技术》邓亚平编清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编机械工业出版社 2001 [8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

电子密码锁设计毕业设计论文

*****大学******学院 毕业设计(论文) 设计说明书 设计(论文)题目: 电子密码锁设计 学生:****** 专业:电子信息工程 班级:电信**-* 指导教师:****** 设计日期:2015年6月10日

******大学******学院 毕业设计(论文)任务书 毕业设计(论文)题目: 电子密码锁设计 原始资料: 20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。 目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛的应用。 电子防盗锁广泛应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容: 1、授予保管权,如使用保管箱、保险箱和保险柜; 2、授予出入权,如出入金库、运钞车和保管室; 3、授予流通权,如自动存取款。 毕业设计(论文)主要内容: 拟在此电子密码锁的系统中设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。系统能完成本机超时报警、超次锁定、修改用户密码基本的密码锁的功能。 本设计的任务拟采用单片机(STC89C52)作为单片机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。本系统成本低廉,功能实用。 本系统根据设定好的密码,采用4×4键盘实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的密码不正确,就锁定按键3秒钟,同时发出报警声。 (1)单片机型号可选STC89C52。 (2)6位密码的设定在程序中完成。 (3)密码的输入采用4×4键盘实现,输入6位数字后,按回车键结束。 (4)若输入的密码正确,锁打开,同时用发光二极管亮1秒作为提示。 (5)报警可采用蜂鸣器或扬声器。

简易电子密码锁课程设计

江西理工大学应用科学学院 微机控制系统课程设计报告 题目:简易电子密码锁 姓名: 学号: 专业班级: 指导教师: 完成时间: 设计报告综合测试平时总评 格式(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)

数字逻辑电路课程设计电子密码锁

数字逻辑电路课程设计 课题:电子密码锁设计 姓名: 班级:13通信 学号: 成绩: 指导教师: 开课时间:

目录 摘要 (1) 一课程设计目的内容及安排 (2) 1.1设计目的 (2) 1.2设计内容 (2) 1.3设计安排 (2) 1.4设计内容 (2) 二电子密码锁设计要求及总框图 (3) 2.1设计要求 (3) 2.2总框图 (4) 三各模块电路设计 (5) 3.1密码输入存储比较模块 (5) 3.2五秒计时电路 (6) 3.3二十秒计时电路 (8) 3.4报警电路 (10) 3.5总电路 (11) 四设计心得 (12) 五参考文献 (13)

电子密码锁 摘要:设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。密码输入存储及比较部分使用芯片74LS194及74LS85。五秒及时部分采用芯片74LS161和数码显示管。二十秒报警电路由74LS160,555定时器组成的多谐振荡器,LED灯和蜂鸣器组成。利用multisim对电路进行仿真可以得到结果。 关键词:电子密码锁,计时电路,报警电路

一课程设计目的内容及安排 1.1设计目的 1 根据设计要求,完成对交通信号灯的设计。 2 加强对Multisim10仿真软件的应用。 3 掌握交通信号灯的主要功能与在仿真软件中的实现方法。 4 掌握74LS160,74LS192等功能。 1.2 设计内容 设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁; 在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁; 从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。 1.3设计安排

电子密码锁的设计毕业论文

电子密码锁的设计毕业论文 目录 1 绪论 (1) 1.1 引言 (1) 1.2电子锁简介 (2) 1.3电子密码锁的特点 (2) 1.4方案论证与比较 (3) 2 AT89C51单片机概况 (5) 2.1 AT89C51单片机的简介 (5) 2.2 AT89C51单片机的引脚 (6) 2.3 AT89C51单片机复位方式 (8) 3 电路的功能单元设计 (9) 3.1开锁机构 (9) 3.2按键电路设计 (10) 3.3显示电路设计 (12) 3.4AT24C02掉电存储单元的设计 (14) 3.5密码锁的电源电路设计 (15) 3.6设计总框图 (17) 3.7设计总体电路图 (18) 4 程序设计 (19) 4.1主程序流程图 (19)

4.2键盘扫描子程序模块 (20) 4.3数字处理程序模块 (21) 4.4开锁程序 (22) 4.5 密码设置程序 (23) 5 总结 (23) 致谢 (25) 参考文献 (26)

1 绪论 1.1 引言 在日常的生活和工作中, 住宅与部门的安全防、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC 卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。

课程设计-密码锁

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

一、设计内容和要求 题目:密码锁 该锁有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二输入异或门的芯片,引脚图如下:

单片机电子密码锁课程设计

单片机电子密码锁 课程设计 1

基于单片机的电子密码锁设计 一、设计要求和条件 1.1 设计要求 根据单片机开发板所提供的元件特性和硬件电路, 编写相关的程序, 经过实验开发板实现电子密码锁在LCD1602上显示的功能。 1.搭建proteus仿真电路图平台, 模拟单片机要实现的功能; 2.焊接单片机系统开发板; 3.编写程序, 实现密码锁相关功能; 4.下载并调试程序, 实现密码锁的具体功能。 1.2 设计目的 1.熟练掌握KEIL软件的使用方法; 2.熟练掌握PROTEUS软件的使用方法; 3.掌握单片机I/O接口的工作原理; 4.掌握中断系统的工作原理; 5.掌握液晶LCD1602的工作原理及编程方法; 6.掌握蜂鸣器的编程使用; 2

7.掌握行列式键盘的工作原理及编程使用方法; 8.掌握单片机的ISP下载使用方法。 1.3 功能概述 本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了硬件设计方案、软件流程图、C语言源程序及详细注释等内容, 由于单片机实验板上的矩阵键盘为3*3的, 则规定0-5号键为数字键, 6-8号键为功能键, 其中该密码锁的具体功能介绍如下: (1)按”8”号键则输入密码, 初始密码为012345, 在LCD1602上显示密码值为”******”( 密码是保密的) , 输完6位后键盘就锁定, 在LCD1602上显示密码是否正确, 若输入的密码长度小于6位, 则1602等待密码输入。 (2)若密码输入正确后, 则绿色的发光二极管亮表示开锁, 而且1602上显示”you are right!”, 等待是否修改密码。 (3)密码输入错误时显示”code is wrong”, 接着会给你第二、第三次机会输入密码, 如果三次密码都错误时, 发出”叮咚”的报警声, 且红色报警指示灯不停闪烁, 按复位键清除报警。 3

相关文档
最新文档