EDA数字密码锁课设报告

EDA数字密码锁课设报告
EDA数字密码锁课设报告

《电子设计自动化》

课程设计

题目:数字密码锁电路(1.1)

院(系)信息科学与工程学院

专业通信工程

届别 2015级

班级通信工程1班

学号 1515231029 姓名聂海杰

任课老师彭盛亮

目录

第一章概述 (3)

第二章系统设计 (3)

2.1 设计要求 (3)

2.2 系统设计方案 (3)

第三章单元电路设计 (5)

第四章软件设计 (8)

4.1 软件设计平台 (8)

4.2 各部分的程序 (8)

第五章系统测试 (19)

5.1 编译报告 (19)

5.2 密码输入及其仿真波形 (19)

5.3 倒计时仿真波形 (20)

5.4 管脚设置 (21)

5.5 实际演示 (21)

第六章设计问题与解决方案 (23)

第七章设计心得与体会 (24)

参考文献 (25)

附录 (26)

第一章摘要

本次设计是设计一个数字密码锁电路,即串行输入6位十进制数,能够设置密码,同时输出在LED数码管上显示,并且有密码正确与错误的提示和错误次数的显示,如果连续3次输入错误,则在15分钟内不能开锁。为了方便、有效的实现该密码锁的功能,此次设计利用QUARTUS Ⅱ工作平台和VHDL语言,定制了LPM宏功能模块,通过设计了好几个实现不同功能的模块,分别为按键消抖模块,密码输入模块,密码校对模块,LED灯选择模块,LED译码模块,LED选择控制模块和倒计时模块,利用各个模块之间的有机组合,最终完成数字密码锁电路的设计。

第二章系统设计

2.1设计要求:6位十进制数字密码,串行输入;能设置密码;有开锁和错误指示(LED);如果连续输错三次,则一刻钟内不能再开锁。

2.2系统设计方案:

方案一:

第一部分:首先设计一个密码位数选择模块,初始值为输入密码第一位,当按键按下时密码位数选择加一,跳到密码第二位,以此类推完成六位密码的输入,然后设计一个十进制计数器,其作用是按下键选择0~9中的一个输入到密码锁中,其次是设计一个密码比较器,如果密码相同,第一个LED灯显示一则表示密码输入正确,否则第一的LED灯显示0且第二个LED灯显示出错误的次数,如果连续3次输入错误,会触发一个信号使倒计时开始工作且把密码输入模块和密码比较模块关闭。

第二部分:倒计时部分是一个十五分钟的倒数计时器cnt (开始时处于待机状态)和密码输入错误判断模块。其输入的信号为输错密码的次数,如果密码输入出现3次错误,其输出一个信号反馈到第一部分,使第一部分不能继续输入密码,同时倒数计时器cnt开始工作,直到倒数计时回到零时,解除密码输错次数的反馈信号,第一部分可以输入密码,同时,倒数计时器回到待机状态。

方案二:

系统主要由3个模块组成,分别是控制模块、寄存器模块、比较器模块。

1 控制模块

控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。状态转移图如下:

系统上电时,处于开锁状态,当输入修改密码xiu信号时,系统进入修改密码状态;若输入安锁lock信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态,在开锁状态kai信号等于…1?;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态。warn信号等于…1?

2 比较模块

在数字密码器中,比较器模块的功能是对按键输入和寄存器模块的输出进行比较,然后将比较的结果送入到控制器模块。比较器的具体工作原理是:当比较结果相等时,c输出为1;当比较结果不相等时,c的输出为0。

3 寄存模块

寄存器模块用于存放预设和修改后的密码,并在开锁时将所存密码输出到比较器与按键输入的密码进行比较,判断由按键输入密码是否正确的结果。

对比两种方案结合课上所学的内容,方案一相对简单易实现,本次课程设计数字密码锁电路选择了方案一来实现。

第三章单元电路设计

3.1密码输入模块

密码输入模块由四个小模块组成,分别为六位密码位数选择模块、十进制计数器模块、LED译码模块以及LED闪烁模块。

六位密码位数选择模块的工作原理是通过按键按下提供的时钟信号选择输入的密码位数,初始值是六位都没有被选中,当按下next按键,时钟加一,选中第一位密码,此时可以通过另一个按键来改变该密码的数值,再按下next键,时钟再加一,密码跳转到第二位,以此类推实现六个密码的设置。

十进制计数器模块的工作原理是将外部的按键提供的时钟信号来实现信号递增的功能,当按下一次按键,时钟来了,计数器的数加一,以达到密码数字的调整。

LED译码模块的工作原理是将十进制计数器输出的信号转化为数码管的显示信号,让相应的数字能在数码管上显示出来。比如说:‘0001’信号要在数码管上显示出‘1‘,就要使数码管的b、c段亮,二其他段灭,所以转化的信号为‘11111001’。

LED灯闪烁模块是将内部50M晶振进行分频形成新的时钟信号,当时钟上升沿来临时,数码管7段全灭(设置7段数码管的输入信号为‘1111111’),其余则把译码模块的信号显示出来。

3.2密码比较器模块

密码比较器模块有两端输入,一端为设置密码的输入,一端为密码输入端,密码锁的初始状态为先输入确定初始密码,然后退出密码设置状态,进行密码输入,六位密码输入完毕后按下确认键,密码比较模块开始工作,如果输入的密码和原设定的密码一致,则判断密码正确,否则,判断密码输入错误。如果密码输入错误,则会记下密码输入错误的次数。

3.3二路LED灯选择器

此模块的工作原理是有两路的LED灯信号进入此模块,当EN信号为一的时候,选择一路LED信号作为输出,当EN信号为零的时候,选择另一路LED信号作为输出。

3.415min倒计时模块

此模块有两个小模块构成

一是倒计时模块的触发信号产生模块,其主要的工作原理是将前面的密码比较器模块里面产生的输入密码的次数转换成时钟信号,当密码输入错误的次数达到三次时,此模块就会产生一个时钟信号,作为下一个倒计时模块的触发信号。

二是倒计时模块,此模块得工作原理是当上一个模块产生的触发信号来临时,倒计时模块开始工作,从14min59s开始,直到倒数计时回到零时,解除密码输错次数的反馈信号,第一部分可以输入密码,同时,倒数计时器回到待机状态。

3.5LED数码扫描显示模块

因为每一个数码管的七段加上小数点都分别连在一起,8个数码管分别由8个选通信号k1~k8来选择,被选通的数码管显示数据,其余关闭。

3.6按键消抖模块

其主要原理分别用两个计数器去对输入信号的高电平和低电平的持续时间(脉宽)进行计数(在时间上是同时但独立计数),只有当高电平的计数时间大于某值,则判断为遇到正常信号。

第四章软件设计

4.1 软件设计平台:QuartusⅡ9.0;开发工

具:FPGA开发板;芯片型号为

EP2C5T144I8

4.2各部分的程序

消抖模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

entity xiaodou is

port ( clk,k1,k2,k3,k4: in std_logic ;

k1_out,k2_out,k3_out,k4_out: out std_logic);

end xiaodou;

architecture one of xiaodou is

signal pre_k1,pre_k2,pre_k3,pre_k4:std_logic;

begin

p1:process(clk,k1)

variable cnt:integer range 0 to 49999999; begin

if clk'event and clk='1'then

if pre_k1=k1 then

if cnt<9999999 then

cnt:=cnt+1;

else

cnt:=9999999;

end if ;

else

cnt:=0;

end if;

pre_k1<=k1;

end if;

if cnt=9999999 then

k1_out<=k1;

end if;

end process;

p2:process(clk,k2)

variable cnt:integer range 0 to 49999999; begin

if clk'event and clk='1'then

if pre_k2=k2 then

if cnt<9999999 then

cnt:=cnt+1;

else

cnt:=9999999;

end if ;

else

cnt:=0;

end if;

pre_k2<=k2;

end if;

if cnt=9999999 then

k2_out<=k2;

end if;

end process;

p3:process(clk,k3)

variable cnt:integer range 0 to 49999999; begin

if clk'event and clk='1'then

if pre_k3=k3 then

if cnt<9999999 then

cnt:=cnt+1;

else

cnt:=9999999;

end if ;

else

cnt:=0;

end if;

pre_k3<=k3;

end if;

if cnt=9999999 then

k3_out<=k3;

end if;

end process;

p4:process(clk,k4)

variable cnt:integer range 0 to 49999999; begin

if clk'event and clk='1'then

if pre_k4=k4 then

if cnt<9999999 then

cnt:=cnt+1;

else

cnt:=9999999;

end if ;

else

cnt:=0;

end if;

pre_k4<=k4;

end if;

if cnt=9999999 then

k4_out<=k4;

end if;

end process;

end one;

密码位数选择模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity switch is

port(sure,clk,en:in std_logic;

q1,q2,q3,q4,q5,q6:out std_logic);

end;

architecture one of switch is

signal q:integer range 6 downto 0;

begin

process(sure,clk,en) begin

if en='1' then

if sure='0' then q<=6;

elsif clk'event and clk='0' then

q<=q-1;

end if;

else

q<=6;

end if;

end process;

process(q) begin

if q=0 then q1<='1';q2<='0';q3<='0';q4<='0';q5<='0';q6<='0'; end if; if q=1 then q1<='0';q2<='1';q3<='0';q4<='0';q5<='0';q6<='0'; end if; if q=2 then q1<='0';q2<='0';q3<='1';q4<='0';q5<='0';q6<='0'; end if; if q=3 then q1<='0';q2<='0';q3<='0';q4<='1';q5<='0';q6<='0'; end if; if q=4 then q1<='0';q2<='0';q3<='0';q4<='0';q5<='1';q6<='0'; end if; if q=5 then q1<='0';q2<='0';q3<='0';q4<='0';q5<='0';q6<='1'; end if; if q=6 then q1<='0';q2<='0';q3<='0';q4<='0';q5<='0';q6<='0'; end if; end process;

end;

cnt10模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt10 IS

PORT (CLK,en : IN STD_LOGIC;

O : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END;

ARCHITECTURE behav OF cnt10 IS

SIGNAL Q : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS(CLK,en) BEGIN

if en='1' then

IF CLK'EVENT AND CLK='0' THEN

IF Q<9 THEN Q <= Q + 1;

ELSE Q <= (OTHERS=>'0');

END IF;

END IF;

end if;

O<=Q;

END PROCESS;

END;

LED译码模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LEDyima IS

PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

LED7S : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;

ARCHITECTURE one OF LEDyima IS

BEGIN

LED7S <= "11000000" WHEN A= "0000" ELSE

"11111001" WHEN A= "0001" ELSE

"10100100" WHEN A= "0010" ELSE

"10110000" WHEN A= "0011" ELSE

"10011001" WHEN A= "0100" ELSE

"10010010" WHEN A= "0101" ELSE

"10000010" WHEN A= "0110" ELSE

"11111000" WHEN A= "0111" ELSE

"10000000" WHEN A= "1000" ELSE

"10010000" WHEN A= "1001" ELSE

"10001000" WHEN A= "1010" ELSE

"10000011" WHEN A= "1011" ELSE

"11000110" WHEN A= "1100" ELSE

"10100001" WHEN A= "1101" ELSE

"11111111" WHEN A= "1110" ELSE

"10111111";

END;

LED闪烁模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY LEDshanshuo IS

PORT (LED7I : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

EN,CLK : IN STD_LOGIC;

LED7O : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ;

ARCHITECTURE one OF LEDshanshuo IS

SIGNAL CLK1 : STD_LOGIC;

BEGIN

PROCESS(CLK)

VARIABLE COUNT:INTEGER RANGE 0 TO 49999999;

BEGIN

IF(CLK'EVENT AND CLK='1') THEN

IF(COUNT=12500000) THEN

COUNT:=0;

CLK1<=NOT CLK1;

ELSE

COUNT:=COUNT+1;

END IF;

END IF;

END PROCESS;

PROCESS(CLK1) BEGIN

IF EN='1' THEN

IF CLK1='0' THEN

LED7O<="11111111";

ELSE LED7O<=LED7I;

END IF;

ELSE

LED7O<=LED7I;

END IF;

END PROCESS;

END;

密码比较器模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity check is

port( cout1,y:in std_logic;

q6,q5,q4,q3,q2,q1:in std_logic_vector(3 downto 0);

en:in std_logic;

p1,p2,p3,p4,p5,p6:in std_logic_vector(3 downto 0);

r:out std_logic_vector(1 downto 0);

f:out std_logic_vector(3 downto 0));

end;

architecture one of check is

signal a,b:std_logic_vector(23 downto 0);

signal c:std_logic_vector(3 downto 0);

begin

process(q1,q2,q3,q4,p1,p2,p3,p4) begin

a(23 downto 20)<=q1;a(19 downto 16)<=q2;a(15 downto 12)<=q3;a(11 downto 8)<=q4;a(7 downto 4)<=q5;a(3 downto 0)<=q6;

b(23 downto 20)<=p1;b(19 downto 16)<=p2;b(15 downto 12)<=p3;b(11 downto 8)<=p4;b(7 downto 4)<=p5;b(3 downto 0)<=p6;

if cout1='0' then

if en'event and en='0' then

if a=b then

r<="11";c<="0000";

else

c<=c+1;

r<="10";

end if;

end if;

end if;

if c>"0011" then

c<="0000";

elsif y='1' then

c<=(others=>'0');

end if;

f<=c;

end process;

end;

二路LED灯选择器模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity LEDselect is

port( L16,L15,L14,L13,L12,L11:in std_logic_vector(7 downto 0);

en:in std_logic;

L21,L22,L23,L24,L25,L26:in std_logic_vector(7 downto 0);

L1,L2,L3,L4,L5,L6:out std_logic_vector(7 downto 0));

end;

architecture one of LEDselect is

begin

process(en,L11,L12,L13,L14,L21,L22,L23,L24) begin if en='1' then

L1<=L11;L2<=L12;L3<=L13;L4<=L14;L5<=L15;L6<=L16; else

L1<=L21;L2<=L22;L3<=L23;L4<=L24;L5<=L25;L6<=L26; end if;

end process;

end;

倒计时触发信号产生模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity ClK15minclock is

port(

f:in std_logic_vector(3 downto 0);

y:out std_logic

);

end;

architecture one of ClK15minclock is

begin

process(f) begin

if f=3 then

y<='1';

else

y<='0';

end if;

end process;

end;

倒计时模块

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity clock15min is

port(clk,en:in std_logic;

y1,y2:out std_logic;

m1,m2,s1,s2:out std_logic_vector(3 downto 0)); end;

architecture one of clock15min is

signal fs1,fg1,ms1,mg1:std_logic_vector(3 downto 0);

begin

process(clk,en) begin

if en='0' then fs1<="0001"; fg1<="0100"; ms1<="0101"; mg1<="1001";

elsif clk'event and clk='0' then

if fs1="0000" and fg1="0000" and ms1="0000" and mg1="0000" then

fs1<="0000"; fg1<="0000"; ms1<="0000"; mg1<="0000"; y1<='1';

else

y1<='0';

if mg1=0 then

mg1<="1001"; ms1<=ms1-1;

if ms1=0 then

ms1<="0101"; fg1<=fg1-1;

if fg1=0 then

fg1<="1001"; fs1<=fs1-1;

else fg1<=fg1-1;

end if;

else ms1<=ms1-1;

end if;

else mg1<=mg1-1;

end if;

end if;

end if;

if fs1="0000" and fg1="0000" and ms1="0000" and mg1="0001" then y2<='1'; else y2<='0'; end if;

m1<=fs1;m2<=fg1;s1<=ms1;s2<=mg1;

end process;

end;

LED数码扫描显示模块

library IEEE;

use ieee.std_logic_1164.all;

entity LED_ctrl is

port( clk_50M : in std_logic;

D1, D2, D8, D7, D6, D5, D4, D3: in std_logic_vector(7 downto 0);

LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8: out std_logic;

Dout: out std_logic_vector(7 downto 0));

end LED_ctrl;

architecture one of LED_ctrl is

signal cnt: integer range 49999999 downto 0;

signal seg_num: integer range 7 downto 0;

begin

process(clk_50M)

begin

if clk_50M'event and clk_50M='0' then

if cnt<49999 then -- 1/1000Hz

cnt <= cnt+1;

else

cnt <= 0;

seg_num <= seg_num+1;

end if;

end if;

end process;

process(seg_num, D1, D2, D3, D4, D5, D6, D7, D8)

begin

case seg_num is

when 0 => LED1<='0'; LED2<='1'; LED3<='1'; LED4<='1'; LED5<='1'; LED6<='1'; LED7<='1'; LED8<='1'; Dout<=D1;

when 1 => LED1<='1'; LED2<='0'; LED3<='1'; LED4<='1'; LED5<='1'; LED6<='1'; LED7<='1'; LED8<='1'; Dout<=D2;

when 2 => LED1<='1'; LED2<='1'; LED3<='0'; LED4<='1'; LED5<='1'; LED6<='1'; LED7<='1'; LED8<='1'; Dout<=D3;

when 3 => LED1<='1'; LED2<='1'; LED3<='1'; LED4<='0'; LED5<='1'; LED6<='1'; LED7<='1'; LED8<='1'; Dout<=D4;

when 4 => LED1<='1'; LED2<='1'; LED3<='1'; LED4<='1'; LED5<='0'; LED6<='1'; LED7<='1'; LED8<='1'; Dout<=D5;

when 5 => LED1<='1'; LED2<='1'; LED3<='1'; LED4<='1'; LED5<='1'; LED6<='0'; LED7<='1'; LED8<='1'; Dout<=D6;

when 6 => LED1<='1'; LED2<='1'; LED3<='1'; LED4<='1'; LED5<='1'; LED6<='1'; LED7<='0'; LED8<='1'; Dout<=D7;

when others => LED1<='1'; LED2<='1'; LED3<='1'; LED4<='1'; LED5<='1'; LED6<='1'; LED7<='1'; LED8<='0'; Dout<=D8;

end case;

end process;

end one;

总体电路图

第五章系统测试5.1编译报告

Total logic elements:803/4068(17%);

Total pins : 22/89(25%);

5.2密码输入及输出仿真图形:

密码输入正确时:

密码输入错误时:

5.3.倒计时仿真图形:

电子密码锁设计报告概要

课程设 计说明 学生姓名: 学 号: 指导教师: 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 日

密码锁课程设计报告

江苏师范大学科文学院本科生课程设计 课程名称:数字电子技术基础 题目:数字密码锁 专业班级: 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

简易 位数字密码锁控制电路设计实验报告

目录 一、前言 (2) 二、课设任务 (2) 三、方案设计、原理分析 (2) 四、译码电路设计 (8) 五、报警信号产生器 (10) 六、调试及结果 (12) 七、体会 (13)

一、前言 本次课程设计的基本任务是着重提高学生在EDA知识学习与应用方面的实践技能。学生通过电路设计安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。 EDA技术是电子信息类专业的一门新兴学科,是现代电子产品设计的核心,其任务是掌握在系统可编程逻辑器件及其应用设计技术,为电子产品开发研制打下坚实基础。 本课程设计对学生有如下要求:根据设计任务和指标,初步电路;通过调查研究,设计计算,确定电路方案;选择元器件,在计算机上连好线路,独立进行试验,并通过调试、仿真、改进方案;分析实验结果,写出设计总结报告:学会自己分析,找出解决问题方法;对设计中遇到的问题,能独立思考、查阅资料,寻找答案。 二、课设任务 1、14位数字密码分成高7位(DH6…DH0)和低7位(DL6…DL0), 用数字逻辑开关预置,输出信号out为1表示开锁,否则关闭。 2、14位数字密码分时操作,先预置高7位,然后再置入低7位。 3、要求电路工作可靠,保密性强,开锁出错立即报警。 4、利用MAX plus2 软件进行设计、编译,并在FPGA芯片上实现。 5、简易14位数字密码锁模块的框图如下: 三、方案设计、原理分析 首先我是一班的三号,所以我的密码时0100010 0000011。我所做的设计是先把高七位输入锁存,然后在输入低七位,

最后判断密码是否正确,密码正确就开锁,密码错误就报警。数字密码锁控制电路的组成部分:YMQ模块, 1、IC9A的设计 设计要求14位数字密码分时操作,先预置高七位0100010,而后置低七位0000011,首先可以使用寄存器将高七位存起来,而后与低七位一起进行译码,如果密码正确,输出OUT2为1,否则为0. 2、数字密码锁控制电路原理图:

四位数字密码锁

数字电路基础实验设计报告班级:521 姓名:李世龙 学号:2010052106 设计题目:四位数字密码锁 指导老师:张光普

四位密码锁 一设计任务:通过组合逻辑电路来实现四位密码锁功能。当输入正确的密码时LED灯亮但蜂鸣器不响,输入错误密码时LED灯不亮但蜂鸣器响。当关闭密码锁开关时无论输入什么样的密码LED灯都亮蜂鸣器都响。密码的输入由开关的闭合与断开控制高低电平进行密码的输入。 二设计原理: 开关J1,J2, J3,J4通过接低电平或者接入高电平进行密码的输入,J5为密码锁的开关当它接入高低电平来控制密码锁是否工作。其他的门电路来实现密码锁转换功能。

真值表 J5 J1 J2 J3 J4 LEDBUZZE R 0 ×××× 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 01 1 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 10 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 三测量和调试结果: 当J5接入电平密码锁处于非工作状态无论输入密码是什么LED灯都会亮起,蜂鸣器会一直响。当J5接入高电平时密码锁处于正常工作状态,当输入正确的密码1100时即J1,J2接入高电平J3,J4接入低电平时LED灯会亮但蜂鸣器不会响,当输入其他密码时均为错误密码LED灯不亮蜂鸣器会响。 按照设计原理图接好电路后发现输入正确的密码LED灯会亮,但输入错误的密码和密码锁处于非工作状态时蜂鸣器不响。通过对电路的检查发现蜂鸣器的正负接反了重新改正电路,电路正常工作 设计任务完成 四参考文献

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

渝州科技职业学院 电子密码锁 院系:电子信息工程学院 专业班级: 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输入密码。密码输完后按下确认键,如果密码输入正确

电子电路课程设计密码锁(满分实验报告)

密码锁设计报告 摘要: 本系统是由键盘和报警系统所组成的密码锁。系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。 关键字:数字密码锁GAL16V8 28C64 解锁与报警 1

目录: 一、系统结构与技术指标 1、系统功能要求 (4) 2、性能和电气指标 (5) 3、设计条件 (5) 二、整体方案设计 1、密码设定 (6) 2、密码判断 (6) 3、密码录入和判断结果显示 (6) 4、系统工作原理框面 (7) 三、单元电路设计 1、键盘录入和编码电路图 (8) 2、地址计数和存储电路 (12) 3、密码锁存与比较电路 (12) 2

4、判决与结果显示电路 (14) 5、延时电路 (15) 6、复位 (17) 7、整机电路图 (19) 8、元件清单……………………………………………19四、程序清单 1、第一片GAL (21) 2、第二片GAL (23) 五、测试与调整 1、单元电路测试 (25) 2、整体指标测试 (26) 3、测试结果 (26) 六、设计总结 1、设计任务完成情况 (27) 2、问题及改进 (27) 3、心得体会 (28) 3

一、系统结构与技术指标 1.系统功能要求 密码锁:用数字键方式输入开锁密码,输入密码时开锁;如 果输入密码有误或者输入时间过长,则发出警报。 密码锁的系统结构框图如下图所示,其中数字键盘用于输入 密码,密码锁用于判断密码的正误,也可用于修改密码。开锁LED1亮表示输入密码正确并开锁,报警LED2亮表示密码有误或者输入时间超时。 开锁green 键盘密码锁 错误red 4

四位电子密码锁.

专业工程设计说明书 题目:4位电子密码锁设计 院(系):电子工程与自动化学院 专业:测控技术与仪器(卓越) 学生姓名:蔡伟航 学号:1200820206 指导教师:黄源 2015年1月16日

锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻。随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。 本设计由主控芯片51单片机,单片机时钟电路,矩阵键盘,数码管的动态显示,报警电路和开锁电路组成。单片负责控制整个系统的执行过程。 关键词:AT89S51、时钟电路、矩阵键盘、数码管的动态显示、报警电路,开锁电路。

引言 (1) 1课程设计题目 (1) 2 系统设计 (2) 2.1 总的系统设计结构图 (2) 2.2系统硬件设计 (2) 3 AT89S52最小系统设计 (3) 3.1 时钟电路设计 (3) 3.2 复位电路设计 (4) 4 键盘及显示报警电路的硬件设计 (5) 4.1 矩阵键盘电路设计 (5) 4.2 显示电路硬件设计 (5) 4.3 继电器驱动电路及报警电路设计 (6) 4.3.1继电器简介 (6) 4.3.2 固态继电器驱动电路设计 (7) 4.3.3报警提示电路 (7) 5 系统软件设计 (8) 5.1主程序模块 (9) 5.2密码比较判断模块 (9) 5.3键盘扫描模块 (9) 5.4修改密码模块 (10) 5.5数码管液晶显示模块 (11) 6 总体调试 (11) 7 总结 (12) 参考文献 (13) 附录 (14)

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

单片机技术及应用综合训练 (设计报告)

前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。 本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。 关键词:电子密码锁、报警、液晶显示

目录 一、选题要求 (1) 二、硬件电路设计 (1) 2.1 51单片机 (2) 2.2 键盘电路 (2) 2.3 液晶显示电路 (2) 2.4 警报电路 (3) 2.5 密码储存电路 (3) 2.6 晶振、复位及关锁 (3) 三、软件设计 (4) 四、软硬件调试结果 (9) 4.1 电路总原理图 (9) 4.2 调试结果 (10) 五、总结 (11)

一、选题要求 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。 二、硬件电路设计 下面是整个设计的流程图:

电子密码锁设计报告概要

课程设计说明 书 课程名称:《单片机技术》设计 题目:基于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 单片机 的电子密码锁 专业、年级、 班

4位数字密码锁的设计

1技术指标 用与非门设计一个4位或多位代码的数字锁,要求如下: A:设计一个保险箱用的多位代码数字锁,比如4位代码ABCD四个输入端和一个开锁用的钥匙插孔输入端E,当开箱时(E=1),如果输入代码(例如ABCD=1010)与设定的代码相同,则保险箱被打开,即输出端Z=1,否则电路发出报警信号: B: 进行电路仿真,并说明其工作原理。

2方案比较 方案一:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、

3Proteus软件介绍 Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。 Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。 其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARES PCB设计。PROSPICE仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。 Proteus支持许多通用的微控制器,如PIC,A VR,HC11以及8051。 交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘。 Proteus有强大的调试工具;包括寄存器和存储器,断点和单步模式。 IAR C-SPY和Keil uVision2等开发工具的源层调试。 Proteus应用特殊模型的DLL界面-提供有关元件库的全部文件。 Proteus与其他的仿真软件相比较,在下面的优点: 1、能仿真模拟电路、数字电路、数模混合电路; 2、能绘制原理图、PCB图; 3、几乎包括实际中所有使用的仪器;

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位串行数字密码锁 学号 学生姓名:谢渊良 专业:通信工程 班级: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

数字密码锁设计报告

1 设计任务描述 1.1设计题目:数字密码锁 1.2 设计要求 1.2.1 设计目的 (1)掌握数字密码锁的构成、原理与设计方法; (2)熟悉集成电路的使用方法。 1.2.2 基本要求 (1)设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K0~K9分别代表数字0、1、2、3、4、5、6、7、8、9。 (2)用一位输出电平的状态代表锁的开闭状态(用灯光显示或报警表示)。 1.2.3 发挥部分 (1)可删除输入的数字; (2)三次错误输入锁定键盘,并发出提示或报警;其它。

2 设计思路 用密码去控制各个D触发器的翻转,达到密码开锁的目的,用按钮开关去控制电子门铃的触发信号,达到按响门铃的目的。四个D触发器N1-N4构成四位密码电路,可手动开关与D触发器的连接来设置密码。平时四个D触发器的CP端处于悬空状态,触发器保持原状态不变。当与四个D触发器连接的开关闭合时,四个D触发器都的CP端都获得了下降沿,于是Q1=Q2=Q3=Q4=1,用此Q4=1去控制开锁,用二极管发光来显示开锁成功。 因电容C2电压不能突变,在接通电源瞬间C2的电压为零,使得N1-N4各位皆为零。 输入三次错误密码时,会由计数器74193来检测,并发出报警信号和锁定键盘的信号。

3 设计方框图数字密码锁设计方框如图3.1所示。 图3.1设计方框图

4各部分电路设计及参数计算 4.1密码的设置电路设计 密码设置和输入密码的电路如图4.1所示。 图4.1密码设置 图中默认的密码为0953,用户可以自行设置密码。共有10个开关可设置0-9个数字的密码,第11个开关为复位开关,当输入错误时可以选择复位,重新输入。其他的开关为干扰密码。 4.2判断密码是否正确的电路的设计 判断密码正误的电路图如图4.2所示。 图4.2判断密码正误 四个D触发器N1-N4构成四位密码电路,可手动开关与D触发器的连接来设置密码。平时四个D触发器的CP端处于悬空状态,触发器保持原状态不变。当与四个D触发器连接的开关闭合时,四个D触发器都的CP端都获得了下降沿,于是Q1=Q2=Q3=Q4=1,用此Q4=1去控制开锁。

密码锁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 键盘模块仿真图:

EDA电子密码锁毕业设计(论文)

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

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

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

数字逻辑电路课程设计 课题:电子密码锁设计 姓名: 班级: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)掌握电子密码锁工作原理。 (2)熟悉数字集成电路的设计和使用方法。 (3)熟悉Protel/multisim软件的使用。 2、设计任务 (1)用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。 (2)在锁的控制电路中设一个可以修改的8位代码,当输入的代码和控制电路的代码一致时锁打开。 (3)用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。 (4)当开锁输入码与密码不一致时发出报警信号。连续3次输入错误则进入自锁状态。(5)其他功能可以自行扩展。 3、设计要求 (1)合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图;(2)选择常用的电器元件(说明电器元件选择的过程和依据); (3)进行数字电路仿真; (4)按照规范要求,按时提交课程设计报告(打印或手写),并完成相应答辩。 4、参考资料 (1)毕满清主编.电子技术实验与课程设计.北京:机械工业出版社,2005 (2)胡奕涛主编.电子技术实践教程.北京:北京邮电大学出版社,2007 (3)苏文平,等编着.电子技术实践与制作教程.北京:国防工业出版社,2007 (4)康华光主编.电子技术基础:模拟部分.北京:高等教育出版社,1988 电子密码锁设计报告 目录 一.设计任务和要求 (3) 二.设计的方案的选择与论证 (3) 电路设计的多种方案 (3)

方案论证 (4) 方案选择 (4) 三.电路设计计算与分析 (5) 开关编码电路 (5) 密码存储及显示电路 (7) 密码验证电路 (10) 开关锁报警电路 (10) 密码锁定电路 (12) 四.总结及心得 (13) 五.附录 (16) 电路原理图 (16) 元器件明细表 (17) 六.参考文献 (18) 一.设计任务和要求 用电子器件设计制作一个数字密码锁,红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。具体要求如下: (1)在锁的控制电路中设一个可以修改的8位数字密码; (2)设置密码时指示灯不亮,也不会发出报警信号;设置完密码后密码锁处于关锁状态(即红灯亮,绿灯灭),此后输入正确密码时密码锁开锁且不报警,输入错误时密码锁保持关锁状态并报警; (3)连续3次输入错误时,密码锁立刻自动锁定30秒钟,即在30秒内输不进去密码,因此也开不了锁;30秒之后密码锁自动退出锁定状态,此时可以正常输入密码; (4)输入密码的过程中不会报警,只有在输入完成后,密码锁才会判断密码是否正确以及执行开/关锁和是否报警的操作。 二.设计的方案的选择与论证 电路设计的多种方案

相关文档
最新文档