VHDL密码锁(6位串行输入)

VHDL密码锁(6位串行输入)
VHDL密码锁(6位串行输入)

《电子设计自动化》

课程设计

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

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

专业15通信工程

届别

班级

学号

姓名

任课老师

数字密码锁电路,难度系数

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

本设计的各个模块由相应的VHDL程序具体实现,并在Quartus Ⅱ环境下进行了整体电路的模拟仿真,最终实现“密码锁设计”的要求。

实验设计要求6位串行输入,并且由于实验板输入键位的有限,还同时增加了输入密码与设置密码键位的重叠,使密码锁电路输入输出形成一个反馈,通过对输出的判断,让电路自动识别输入的数字是设置的密码还是输入的密码。在程序初始载入实验板时,还要让密码锁的初始设置密码和输入密码相同,从而达到能够初始设置密码的逻辑要求。同时因为实验板输出的LED灯有限,还要求设计的密码锁电路的显示能够在输入密码、设置密码和倒计时之间灵活智能选择,从而达到满足使用的要求。密码锁在输入三次错误密码后需要开始一个一刻钟即900秒的倒计时,则需要设计一个逻辑电路使电路能够在输入和错误倒计时之间自由变化。此为本实验设计的主要难点和创新。

目录

1.系统设计 (4)

2.单元电路设计 (7)

3.软件设计 (12)

4.系统测试 (23)

5.结论 (24)

6.参考文献 (24)

7.附录 (25)

8.其他 (26)

系统设计

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

系统设计方案:先设计难度的密码锁,此时不需要一刻钟计时模块。该电路首先需要一个输入模块,由于实验板的限制,安排两个键位作为输入,分别实现6个密码位的选择和对确定位密码的输入,所以在输入模块之前,还需要通过计数器来分别得到两个输入;之后设计一个密码合成及选择模块,将得到的6个4位的密码相加得到一个24位的密码,方便之后的比较,同时需要在输入模块添加一个选择,分别确定此时的输入信息是设置密码还是输入密码;将得到的24位设置密码和输入密码分别放到一个确认模块,起到输入确认并且使初始信息清零的作用;最后将两个24位数据放入比较模块,确定密码锁的状态,状态的显示由LED灯实现;输出显示LED模块从输入模块之前接出,显示当前电路的输入;同时,在计数器之前需要加入消抖模块,使实验板能够稳定输入;在LED模块之前需要添加译码器,以输出正确显示。下图为密码锁各个模块及接线。

完成难度密码锁之后设计一个计数器,通过对密码输入确认和输出状态的计数,当输入错误达到三次时,开始一个一刻钟的计时,由另外一个计数器完成。该计数器的输入还需要一个50m分频模块,得到一个稳定的每秒输出一个电平跳变的输入;为了将900秒的计时显示到LED上,需要用除法器将计时的各个位拆分出来,再通过译码器显示到LED上。最后还需要一个输出选择模块,通过对3计数器的数据识别,选择当前LED输出的是900秒计时还是当前输入数据。下图为难度密码锁最终的各个模块及接线。

其他方案:除上述方法外,还可以将比较器放在输出选择模块之前,这样能够让程序在开发板上仿真时,位选之后不会将上一位的输入连带到本位;

如果去掉输入选择模块,可以增加一个输入为设置密码输入,即将输入密码和设置密码的输入分开;

倒计时模块采用的是从900倒计时到0,即“1110000110”到“0000000000”,然后输出cout为1;该程序也可以从“0000000000”累加到“1110000110”计数;

单元电路设计

消抖模块:消除按键难以避免的抖动,以得到稳定的输入;

计数器:本实验分别用到了3进制、6进制和10进制的计数器,每计数到一定量时计数器清零并输出一个高电平;

密码合成及选择模块:将得到的6个4位的密码合成一个24位的密码并输出,方便之后的密码比较,密码合成通过&完成,通过对输出状态反馈(开锁输出‘1’,锁存输出‘0’)的识别,判断当前输入的数据是设置密码还是输入密码,作两个输出;

确认模块:将得到的输入密码和设置密码确认输出到比较器,同时在程序载入实验板时,还未有输入的情况下,能够默认输入密码和设置密码都是24位0,使两者初始值相等(此时比较器输出为‘1’,反馈到该模块,输入的数据为设置密码),达到能设置密码的状态;

比较模块:对得到的输入密码和设置密码进行比较,输出显示当前密码锁是锁存‘0’还是开锁状态‘1’;

译码器:将得到的数据读取,使其输出的数据能够显示到LED上;

LED:将6位密码显示在LED上;

50m分频:每秒稳定输出一个电平跳变;

输出选择:通过对3进制计数器的数据读取(输入错误三次输出cout为‘1’,否则为‘0’),选择输出是当前密码输入、设置密码输入还是900秒计时;

除法器:将900秒计时的百位、十位和个位拆分出来,使其能通过译码器显示到LED上。(该模块主要通过lpm_divide和lpm_constant 实现,900秒的计时数据分别除常数100和10,再通过对商的后四位数据的读取得到各个位的大小)下图为除法器各模块及接线:

LED第二位显示默认为0模块:将实验没有用到的led第二位显示输出默认为不显示;

LED输出选择模块:选择led是显示倒计时还是此时输入密码

软件设计

软件:QuartusⅡ(CycloneⅡEP2C5T144C8);

1.消抖模块

LIBRARY IEEE;

USE xiaodou IS

PORT( K_IN,CLK:IN STD_LOGIC;

K_OUT:OUT STD_LOGIC);

END;

ARCHITECTURE one OF xiaodou IS

SIGNAL K_PRE:STD_LOGIC;

SIGNAL COUNT:INTEGER RANGE 0 TO 3999999;

BEGIN

PROCESS(CLK,K_IN) BEGIN

IF CLK'EVENT AND CLK='1' THEN

IF K_IN=K_PRE THEN

IF COUNT<3999999 THEN

COUNT<=COUNT+1;

ELSE COUNT<=3999999;

END IF;

ELSE COUNT<=0;

END IF;

K_PRE<=K_IN;

END IF;

IF COUNT=3999999 THEN

K_OUT<=K_IN;

END IF;

END PROCESS;

END;

2.十进制计数器

LIBRARY IEEE;

USE cnt10 IS

PORT (CLK,RST,EN : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

COUT : OUT STD_LOGIC );

END cnt10;

ARCHITECTURE behav OF cnt10 IS

BEGIN

PROCESS(CLK, RST, EN)

VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF RST = '0' THEN CQI := (OTHERS =>'0') ; --计数器异步复位

ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿

IF EN = '1' THEN --检测是否允许计数(同步使能)

IF CQI < 9 THEN CQI := CQI + 1; --允许计数, 检测是否小于9

ELSE CQI := (OTHERS =>'0'); --大于9,计数值清零

END IF;

END IF;

IF CQI = 9 THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';

END IF;

CQ <= CQI; --将计数值向端口输出

END PROCESS;

END behav;

3.六进制计数器

LIBRARY IEEE;

USE CNT6 IS

PORT (CLK,RST,EN : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

COUT : OUT STD_LOGIC );

END CNT6;

ARCHITECTURE behav OF CNT6 IS

BEGIN

PROCESS(CLK, RST, EN)

VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF RST = '0' THEN CQI := (OTHERS =>'0') ; --计数器异步复位

ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿

IF EN = '1' THEN --检测是否允许计数(同步使能)

IF CQI < 5 THEN CQI := CQI + 1; --允许计数, 检测是否小于9

ELSE CQI := (OTHERS =>'0'); --大于9,计数值清零

END IF;

END IF;

IF CQI = 5 THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';

END IF;

CQ <= CQI; --将计数值向端口输出

END PROCESS;

END behav;

4.倒计时的三进制计数器

library ieee;

use cnt3 is

port(c,clk,rst:in std_logic;

y:out std_logic);

end cnt3;

architecture one of cnt3 is

begin

process(clk,c)

variable b:std_logic_vector(1 downto 0);

begin

IF (c = '1'or rst='1') THEN b := (OTHERS =>'0') ;

ELSIF CLK'EVENT AND CLK='0' THEN

IF b < 3 THEN b := b + 1;

ELSE b := (OTHERS =>'0');

END IF;

END IF;

IF b = 3 THEN y <= '1';

ELSE y <= '0';

END IF;

END PROCESS;

end one;

5.输入模块

LIBRARY IEEE;

USE

ENTITY zongxuan IS

PORT(

D: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

code0,code1,code2,code3,code4,code5:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY zongxuan;

ARCHITECTURE behav OF zongxuan IS

BEGIN

PROCESS(B)

BEGIN

IF B="0000" THEN code0<=D;

ELSIF B="0001" THEN code1<=D;

ELSIF B="0010" THEN code2<=D;

ELSIF B="0011" THEN code3<=D;

ELSIF B="0100" THEN code4<=D;

ELSE code5<=D;

END IF;

END PROCESS;

END behav;

6.密码合成及选择模块

LIBRARY IEEE;

USE

USE

ENTITY jicun IS

PORT( P0,P1,P2,P3,P4,P5:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

CHANGE:IN STD_LOGIC;

RCODE,ICODE:OUT STD_LOGIC_VECTOR(23 DOWNTO 0)); END jicun;

ARCHITECTURE bhv OF jicun IS

SIGNAL CODE:STD_LOGIC_VECTOR(23 DOWNTO 0);

BEGIN PROCESS(CHANGE)

BEGIN

CODE<=p0&p1&p2&p3&p4&p5;

IF CHANGE='1' THEN

RCODE <= CODE;

ELSE

ICODE <= CODE;

END IF;

END PROCESS;

END bhv;

7.输出确认模块

LIBRARY IEEE;

USE

ENTITY queren IS

PORT(

INCODE:IN STD_LOGIC_VECTOR(23 DOWNTO 0);

OUTCODE:OUT STD_LOGIC_VECTOR(23 DOWNTO 0);

K:IN STD_LOGIC);

end queren;

ARCHITECTURE bhv OF queren IS

BEGIN PROCESS (k)

BEGIN

IF k='0' THEN

OUTCODE <= INCODE ;

END IF;

END PROCESS;

END bhv;

8.比较模块

LIBRARY IEEE;

USE

ENTITY bijiao IS

PORT(

RCODE,ICODE:IN STD_LOGIC_VECTOR(23 DOWNTO 0);

L:OUT STD_LOGIC);

end bijiao;

ARCHITECTURE bhv OF bijiao IS

BEGIN PROCESS (RCODE,ICODE)

BEGIN

IF ICODE /= RCODE THEN

L <= '0';

ELSE

L <= '1';

END IF;

END PROCESS;

END bhv;

9.译码器

LIBRARY IEEE;

USE yimaqi IS

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

Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END ENTITY yimaqi;

ARCHITECTURE one OF yimaqi IS

BEGIN

Y <="1000000" WHEN A= "0000" ELSE

"1111001" WHEN A= "0001" ELSE

"0100100" WHEN A= "0010" ELSE

"0110000" WHEN A= "0011" ELSE

"0011001" WHEN A= "0100" ELSE

"0010010" WHEN A= "0101" ELSE

"0000010" WHEN A= "0110" ELSE

"1111000" WHEN A= "0111" ELSE

"0000000" WHEN A= "1000" ELSE

"0010000" WHEN A= "1001" ELSE

"0001000" WHEN A= "1010" ELSE

"0000011" WHEN A= "1011" ELSE

"1000110" WHEN A= "1100" ELSE

"0100001" WHEN A= "1101" ELSE

"0000110" WHEN A= "1110" ELSE

"0001110" WHEN A= "1111" ELSE

NULL;

END ARCHITECTURE one;

秒计时

library ieee;

use daojishi is

port ( clk,en :in std_logic;

led0 : out std_logic_vector(9 downto 0);

cout: out std_logic);

end daojishi;

architecture behav of daojishi is

密码锁的操作指南.doc

密码锁的操作指南 (1)管理密码:设置和删除开门密码并开门 (2)开门密码:开门 (3)机械钥匙:应急开门、配管理卡 注:输入密码前先擦摸一下按键面板,背光蓝灯亮起后再输入密码。 1.更改管理密码步骤(出厂初始管理密码为:): A.输入8位初始管理密码后,按“1”键,门锁有转动声,“嘀”一声长鸣,背光蓝灯 中速闪烁; B.按“1”键,“嘀”一声鸣响,背光蓝灯中速闪烁; C.输入8位新的管理密码后,按“#”键,门锁有转动声,“嘀”一声鸣响,背光蓝灯 快速闪烁; D.再次输入相同的8位新的管理密码后,按“#”键,背光蓝灯亮,“嘀”三声鸣响, 管理密码修改成功。如果第二次输入密码与第一次的密码不同,按“#”键后,“嘀” 5声鸣响,之后可重新输入。 E.退出按“*”键。 2.配开门密码步骤 A.输入8位管理密码后,按“8”键,门锁有转动声,“嘀”一声长鸣,背光蓝灯中速 闪烁; B.按“8”键,“嘀”一声鸣响,背光蓝灯中速闪烁; C.输入新的开门密码(6—8位)后,按“#”键,门锁有转动声,“嘀”一声鸣响,面 板背光蓝灯快速闪烁; D.再次输入相同的密码(6—8位)后,按“#”键,背光蓝灯亮,“嘀”二声鸣响, 开门密码修改成功。如果第二次输入密码与第一次的密码不同,按“#”后,“嘀” 5声鸣响,之后可重新输入。 E.重复上述四步操作可以配50个开门密码,如果与前密码相同,则“嘀”4声鸣响。 F.退出按“*”键。 3.删除或修改开门密码步骤 A.删除单个开门密码:输入8位管理密码后,门锁有转动声,按“4”键,“嘀”一声 长鸣,面板背光蓝灯中速闪烁;

B.输入要删除的密码后,按“#”“嘀”一声长鸣,并自动退出该状态,删除成功; C.删除所有开门密码:输入8位开门密码后,按“0”键,“嘀”一声长鸣,面板背光 蓝灯快速闪烁;再按“#”确认,门锁发出“嘀、嘀、嘀”三声长鸣,面板背光蓝灯闪烁,删除完成(即注销原来的所有开门密码)。 D.修改开门密码:输入8位初始管理密码后,按“1”键,“嘀”一声长鸣,面板背光 蓝灯中速闪烁; E.输入新的开门密码(6—8位)后,按“#”,“嘀”二声鸣响,面板背光蓝灯快速闪 烁; F.再次输入相同的密码(6—8位)后,按“#”,面板背光灯亮,“嘀”三声鸣响,并 自动退出该状态,修改成功,原开门密码失效。如果第二次输入密码与第一次的密码不同,按“#”后,“嘀”5声鸣响,之后可重新输入。 G.退出按“*”键。 4.开门: 4.1 管理密码开门 输入管理密码后,按“#”,门锁“嘀”声,面板背光蓝灯慢速闪烁,提示门锁打开,然后,按下门把手开门;5秒钟后门锁未检测到开门动作,面板背光蓝灯熄灭,自动锁门。 4.2 开门密码开门 输入开门密码后,按“#”,门锁“嘀”声,面板背光蓝灯慢速闪烁,提示门锁打开,然后,按下门把手开门;5秒钟后门锁未检测到开门动作,面板背光蓝灯熄灭,自动锁门。 注:1、如果不是有效的开门密码,则门锁“嘀”3声短鸣,面板背光蓝灯立即熄灭,门锁仍然处于闭锁状态。2、如果电池电压不足,则门锁“嘀”3声短鸣,红蓝灯闪烁,第一次低电压提示后,应注意更换电池。 特别提示:安装完成后应立即修改管理密码并删除所有开门密码。本防盗密码锁支持开门乱码功能。比如,开门密码为:159753,可以在开门输入密码时任意添加其它数字,如:1236,但不要超过12位。 感应卡锁的操作指南 (1)管理卡:设置和删除有效开门卡,可直接开门 (2)开门卡:开门及设置通道锁 (3)机械钥匙:应急开门、配管理卡 1.设置、删除管理卡: 1.1设置:门锁初始状态或数据清空状态下,刷的第一张卡,门锁“嘀”1声短鸣再“嘀” 1声长鸣,此卡即为管理卡,最多设置2张管理卡。 1.2删除:转动5下机械钥匙,面板背光蓝灯快速闪烁,“嘀”1声长鸣,清空所有卡和密 码。

VHDL密码锁设计

VHDL语言及应用课程设计论文 ----VHDL平台下 密码锁的设计 学院:电子信息学院 专业: 学号: 姓名: 指导老师: 团队成员: 完成日期: 目录

一. 引言-----------------------------------------------------------1 二. 实验目的-------------------------------------------------------1三. 实验任务与要求-------------------------------------------------1 四. 设计原理及工作流程---------------------------------------------2 密码锁设计原理--------------------------------------------------2 密码锁系统框图--------------------------------------------------2 密码锁设计提示--------------------------------------------------2 五. 密码锁的顶层设计源程序-----------------------------------------3 六. 密码锁各功能模块源程序及其仿真分析-----------------------------5 密码设定锁存器源程序及其仿真分析--------------------------------5 密码输入锁存器源程序及其仿真分析--------------------------------6 开锁控制系统源程序及其仿真分析----------------------------------8 比较器源程序及其仿真分析----------------------------------------9 LED显示源程序及其仿真分析--------------------------------------11 顶层源文件的仿真分析-------------------------------------------12 七. 密码锁设计源程序的下载调试------------------------------------13 电路结构-------------------------------------------------------13 管脚分配-------------------------------------------------------14 程序下载调试过程-----------------------------------------------14 八. 实验分析与总结------------------------------------------------15 九. 组内分工------------------------------------------------------16 十. 参考文献------------------------------------------------------16

密码锁使用说明书(终版修正)

LT-5000-PW 密码锁 韩式风格设计,外观精致大方,时尚典雅,采用先进的微波检查技术,即时卡片放在黑色钱包里也能读取,并杜绝红外检测易受外界光线影响的问题,读写卡距离远可达20~50mm 。 功能操作 密码、M1卡设置 目的步骤现象(操作成功时) 设置管理密码 ⑴进入编程:按“*#”输入出厂初使管理员密码 “123456”再按“#” 键盘灯亮,数码管显示“00” ⑵按键“8#”蜂鸣器“嘀~” ⑶输入新管理密码(6~12位任意数字),再按“#”蜂鸣器“嘀~” ⑷再输入新管理密码,按“#”蜂鸣器“嘀~”长鸣。 增加用户密码 ⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“7#”蜂鸣器“嘀~” ⑶输入新的编号(一组密码对应一个编号,按顺序 编排不可重复,01~99两位数字),再按“#” 数码管显示“当前设置的编 号”,蜂鸣器“嘀~” ⑷输入新用户密码(6~12位数任意组合),按“#”键蜂鸣器“嘀~” ⑸再次输入密码,“#”确认蓝灯亮,蜂鸣器“嘀~”长鸣。 (6)如需再添加密码按“7#”→输入新编号→输入 新密码→再次输入密码→按“#”确认 删除用户密码 ⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“5#”蜂鸣器“嘀~” ⑶输入用户编号(要删除密码的对应编号),按“#”蜂鸣器“嘀~” ⑷再输入用户编号,按“#”确认删除蓝灯亮,蜂鸣器“嘀~”长鸣。 ⑸如需继续删除密码按“5#”→输入编号→再输编 号→按“#”确认删除 增加M1卡 ⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“6#”蜂鸣器“嘀~” ⑶输入用户编号(一张卡对应一个编码,按顺序编 排不可重复00~99两位数字),按“#” 数码管显示“当前设置的编 号”,蜂鸣器“嘀~” 3

电子密码锁报告

基于单片机控制的电子密码锁 设计者:张雪贵 指导老师:李峥 淮北煤炭师范学院物理与电子信息学院 06电子信息工程 2009年6月

基于单片机的电子密码锁 一设计任务 设计一个利用AT89S52单片机控制的电子密码锁,该电子密码功能包括16个密码输入,密码输入过程中清除输入,密码正确和错误分别用蜂鸣器提示,输入错误密码超次锁定,密码修改,12864LCD 显示菜单实现多功能等等。 二总体方案设计与实现 电子密码锁系统核心用AT89S52单片机控制,密码输入按键为4*4矩阵键盘16个按键实现密码输入,外加独立按键实现清除,确定和液晶反白控制。密码存储电路利用AT24C02芯片,该芯片可以实现掉电存储,而且数据可保留时间长,与单片机连接简单。报警电路利用三极管驱动小型蜂鸣器实现,通过给蜂鸣器送不同频率的电平信号实现不同声音报警。LCD用12864字符型液晶实现,通过单行反白实现菜单,加强液晶显示内容及添加系统功能。 另外,电磁锁电路暂时利用发光二极管代替,用发光二极管的亮灭和蜂鸣器的响声来指示电磁锁的开关。 图1 系统原理框图 图2系统总体原理电路图 三硬件电路的功能单元设计 (一)单片机最小系统

其原理图如图1所示 图3 单片机最小系统模块 单片机采用AT89S52单片机, AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令各引脚完全兼容。单片机最小系统主要有两块组成,其一为晶振起振电路,其二为复位电路。在此,我们采用按键手动复位,相对来讲,这种复位方式更加方便人性化,不必要切断电源即可对系统进行复位。 (二)开锁电路 通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图2 所示。 图4 开锁电路原理 当用户输入的密码正确单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。在此为节省成本考虑,我们用二极管代替电磁锁,将一切在LCD上面显示,并且利用蜂鸣器和二极

根据VHDL的电子密码锁的设计

《E D A仿真与实践实习》 学院:信息科学与工程学院 课题名称:硬件描述语言设计 ——基于VHDL的电子密码锁的设计班级: 学生: 学号: 指导教师:

1 引言 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。 基于EDA技术设计的电子密码锁。以其价格便宜、使用方便、安全性高、成本低、功耗低、易操作等优点,受到了人们的普遍关注。而以可编程逻辑器件(FBDA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以QuartusⅡ5.1开发软件等为设计工具设计的电子密码锁,由于其能够实现密码输入、密码校验、密码设置和更改等功能,因此,能够满足社会对安全防盗的需求。 本设计的各个模块由相应的VHDL程序具体实现,并在QuartusⅡ5.1环境下进行了整体电路的模拟仿真,最终实现“密码锁控制器设计”的要求。 2 设计内容和要求 2.1 设计内容: 题目:电子密码锁 内容:设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。否则进入“错误”状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又自动等待下一个开锁状态。 要求: (1)通过查阅相关技术资料,详细描述电子密码锁的基本原理。 (2)编写电子密码锁的Verilog HDL或VHDL程序,并仿真编译下载验证。 (3)给出完整的系统顶层模块图与波形仿真图。

密码锁说明书

820/810密码锁说明书 欢迎您选用电子智能防盗门锁 密码Mifare卡办公连到、家用智能安全门锁是IC一卡通系统组成部分之一,其使用的Mifare 卡可以用在其它一卡通设备上。 本门锁系统功能强大,使用灵活方便,(可加装门铃,本门锁可自行设置多达27种门铃声音;第二代居民身份证也可以成为你开门的钥匙,选配)可实现一卡多门,一门多卡的开门方式,并可将门锁设置成常开状态。房门假锁(门没有锁好)时、门锁会自动报警提示。密码、开门卡全部由用户自已删除和配制,最大限制地减少安漏洞。本系统采用Mifare卡,是一种普及型感应卡(如小区停车车场等)。本门锁适用于现代化办公室、写字楼、高级小区公寓、别墅等。 高级电子智能防盗门锁使用操作 Mifare卡密码办公室、家用门锁系统有以下两种开门模式: ?独立式:单独使用Mifare卡或密码可以开门 ?组合式:Mifare卡和密码同时使用才可以开门 注:1.本系统的门锁出厂初始化后的管理密码为12345678,开门模式为独立式。 1.1从独立式切换到组合式操作如下: 输入8位管理密码按钥匙键后再按6号键蜂鸣器长鸣5声,红蓝灯闪烁,再按钥匙键确认,蜂鸣器“嘀”长鸣一声,切换成功。若退出则按“*”号键; 1.2从组合式切换到独立式操作如下: 刷管理卡后输入8位管理密码按钥匙键,再按6号键蜂鸣器长鸣5声、红蓝灯闪烁,再按钥匙键确认,蜂鸣器:“嘀”长响一声,切换成功。若退出则按“*”号键; Mifare卡锁的操作指南 (1)管理卡 功能:设置和删除有效开门卡;可以开门。 (2)开门卡 功能:开门及设置通道锁 (3)机械钥匙 功能:紧急开门,配管理卡,清除管理卡 一.设置管理卡、删除管理卡 1.1在门锁初始化(按PCB板开关约3秒后长鸣一声,松开手指,绿灯快闪进入配管理卡状态,此时读的卡即为管理卡,成功蜂鸣器“嘀”长响一声。同时注销原来的管理卡。最多可以设管理卡2张。 1.2用机械钥匙开门,并保持机械钥匙在开锁状态红3秒后长鸣一声,绿灯快闪进入配管理卡状态(开锁状态是指锁芯的斜舌和大方舌都缩入锁体内),松开机械钥匙,此时读卡即为管理卡,成功蜂鸣器“嘀”长响一声,同时注销原来的管理卡。最多可以设管理卡2张。 二、配开门卡 2.1.进入配钥匙状态 读管理卡,蜂鸣器“嘀”的响一声,电机转动,蓝灯闪烁,此时可以开门,开门后灯灭。若没有开门就进入配钥匙状态,此时读的卡即为开门卡。5秒内门锁如果没有检测到有效的IC卡,则蜂鸣器“嘀、嘀”两声短鸣。配钥匙结束。 2.2配钥匙操作过程 进入配钥匙状态后,用IC卡接近门锁的感应区,配钥匙成功蜂鸣器“嘀”长响一声。重复此操作可以配其它的开门卡。如果此卡已经存在,则蜂鸣器发出“嘀嘀”的2声短鸣。最多可以配200张卡。

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

密码锁设计报告 摘要: 本系统是由键盘和报警系统所组成的密码锁。系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。 关键字:数字密码锁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

vhdl密码锁

Vhdl短学期实验——密码锁设计 小组成员: 04008230 李黎 04008228 陈宗渊 04008211 周炳宇

一、课题描述: 用于模仿密码锁的工作过程。完成密码锁的核心控制功能。 二、功能要求: 设计一个密码锁,平时处于等待状态。管理员可以设置或更该密码。如果不预置密码,密码缺省为“999999”。用户如果需要开锁,按相应的按键进入输入密码状态,输入6位密码,按下确定键后,若密码正确,锁打开,若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。报警后,只有管理员作相应的处理才能停止报警。用户输入密码时,若输入错误,在按下确定键之前,可以通过按取消键重新输入。正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。系统操作过程中,只要密码锁没有打开,如果60秒没有对系统操作,系统回到等待状态。注意:输入按键信号时必须一个按键一个按键输入,不得6个按键一起输入。 三、设计流程: 1.结构框图:

①按键输入; ②复位(设置缺省密码); ③等待状态 ④工作状态 ⑤修改密码 ⑥提醒错误及报警 ⑦开锁 ⑧恢复等待

2.模块设计: ★控制模块:实现输入输出,实现等待工作的转换,实现开锁及报警; ★比较模块:比较输入密码与正确密码 ★寄存模块:存放密码 ★计数及使能模块:(1)输入个数为6,多于无效自动忽略; (2)60s的空闲时间,无操作返回等待; (3)错误次数为3 (4)进入工作状态,是能段即打开,直到进入等待。 四、具体实现: ★控制模块: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ctrl is port ( change,vers,keysign : in std_logic; ok,cancel : in std_logic; clk : in std_logic; result : in std_logic; wt : in std_logic; enable : out std_logic ); end ctrl; signal sec : integer range 0 to 60; begin process(clk) begin if (clk'event and clk='1') then if (vers='1') then enable<='1'; end if; if (wt='1' and result='1') then

电子密码锁使用说明

基于51单片机的简易电子密码锁 使用说明 一、实现功能: 1、设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。 2、密码可以由用户自己修改设定(只支持6位密码),锁打开后 才能修改密码。修改密码之前必须再次输入密码,在输入新密 码时候需要二次确认,以防止误操作。 3、报警、锁定键盘功能。密码输入错误显示器会出现错误提示, 若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。 4、AT24C02保存密码,支持复位保存,掉电保存功能。 二、按键说明 按键定义图

如图示:采用4X4键盘输入,键盘对应名称如下: 1 2 3 A 4 5 6 B 7 8 9 C * 0 # D 其中,【0—9】为数字键,用于输入相应的密码, 【*】号键为取消当前操作 【#】号键为确认 【D】键为修改密码 其它键无功能及定义 三、作用说明: 密码锁初始密码为:000000. 1、开锁:插上电源后,程序自动调入初始密码,此时依次输 入:000000,然后按【#】(确认)键,此时锁会打开,可以 看到显示open,密码锁打开。(如为自己焊接,请首次使用 输入:131420,对密码进行初始化,当显示出现:initpassword, 证明密码初始化完成,此时初始密码即为:000000)。 2、退出并关锁:按下【*】(取消)键,此时锁关闭,所有输 入清除。 3、修改密码:在开锁状态下,再次输入正确的密码并按下【#】 (确认)键,此时听到两声提示,输入新的六位密码并按【D】 (重设)键,再重复输入一次新密码并按【D】,会听到两

声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。(如两次输入的新密码不一样,则重设密码失败)。 4、报警并锁定键盘:当输入密码错误后,报警并锁定键盘3 秒,如3秒内又有按键,3秒再启动。 5、当重置新密码时,新密码会保存于AT24C02存储器里。 有任何问题请与我联系: QQ:331091810 E_mail:331091810@https://www.360docs.net/doc/8c17230719.html, 旺旺ID:j_yongchao2008 淘宝店址:https://www.360docs.net/doc/8c17230719.html,/

电子密码锁实验报告

电子密码锁实验报告 一,实验目的 1.进一步巩固和加深理论课基本知识的理解,提高综合运用所学知识的能力。 2.能根据需要选择参考书,查阅资料,通过独立思考,深入钻研有关问题。 3.学会自己独立分析问题、解决问题。 4学习定时器时间计时处理、按键扫描及LED数码管显示的设计方法。 5.根据设计任务及要求利用实验平台上单片机及其外围元器件,设计符合 功能的电子密码锁。 二,实验要求 设计要求: 1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。 2:可以自行设定或删除8位密码,能够掉电保存。 3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示; 若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。 三,实验基本原理 1.键盘接口必须具有去抖动、按键识别基本功能。 (1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为5—20mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。 (2)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方

法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。 2.利用键盘扫描原理分别设4×4矩阵键盘组成0-9数字键及确认键和删除键,通过0—9数字键设定8位密码和删除键删除密码,利用存储器的永久存储特性将设定的密码存于存储器中,再次重启程序时,能从存储器中读取出来,从而实现掉电保存。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 Led发光二级管低电平发亮,高电平熄灭的特性实现led提示功能。 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,从而实现led亮1秒或3秒。 四,实验设计分析 针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为按键程序、数码管显示程序、发光二级管程序,存储器程序,密码设定程序、密码删除程序、定时器程序,延时程序等。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。 首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解C语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。最

密码锁使用说明介绍模板(终版修正)之欧阳光明创编

2021.03.07 *欧阳光明*创编 2021.03.07 ● LT-5000-PW 密码锁 欧阳光明(2021.03.07) 韩式风格设计,外观精致大方,时尚典雅,采用先进的微波检查技术,即时卡片放在黑色钱包里也能读取,并杜绝红外检测易受外界光线影响的问题,读写卡距离远可达20~50mm 。 ● 功能操作 ? 密码、M1卡设置

*欧阳光明*创编2021.03.07

●密码权限 ●开门方式 ●常开设置与取消 常开设置:密码或刷卡开门成功,不压把手,直接按斜舌6秒后,蜂鸣器“嘀~”长鸣,蓝指示灯亮,设置成功。 *欧阳光明*创编 2021.03.07

2021.03.07 常开取消:输入密码或刷卡开门成功,就会取消常开设置。 ●注意事项 ●提示音/指示灯说明:每次操作成功 时,蜂鸣器“嘀~”长鸣,蓝色指示灯 闪烁一次;操作失败时,蜂鸣器短 鸣“嘀嘀”,红色指示灯闪烁一次后 退出。 ●用户编号:管理密码编号为00,用 户密码编号01-99,M1卡编号00- 99,编号具有独立性,不可重复。 ●密码构成:由6-12位数字组成,用户 可以任意设置。 *欧阳光明*创编 2021.03.07

2021.03.07 ●常见设置:一般是按*键启动键 盘,也可按*键快速退出,按#键确认,操作过程中~10s内未作出任 何动作,系统自动退出,返回休眠 状态。 ●误操作:连续输入三次密码错误, 系统自动锁住15分钟内不可操作, ●初始说明: ⑴管理员密码初始为:123456。 ⑵软件初始:删除所有开门密码 和M1卡信息,管理员密码保留 ⑶硬件初始:清空锁内所有信息 后按“*”字键输入6—12位数字再按 *欧阳光明*创编 2021.03.07

FPGA根据verilogHDL的密码锁

EDA课程设计 课设名称:密码锁 课设日期: 2014.6.23——7.5 姓名:陈飞 学号:110250101 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6

一. 所用软件与硬件介绍 1.1所用软件介绍 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,QuartusII 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII 的更新支持,QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII 友好的图形界面及简便的使用方法。 1.2所用硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即:FPGA电路设计,数码管显示驱动电路设计,温度传感器电路设计,报警电路设计,键盘矩阵

密码锁使用说明书终版修正

LT-5000-PW密码锁 韩式风格设计,外观精致大方,时尚典雅,采用先进的微波检查技术,即时卡片放在黑色钱包里也能读取,并杜绝红外检测易受外界光线影响的问题,读写卡距离远可达20~50mm。 功能操作 密码、M1卡设置 目的步骤现象(操作成功时) 设置管理密码⑴进入编程:按“*#”输入出厂初使管理员密码 “123456”再按“#” 键盘灯亮,数码管显示“00” ⑵按键“8#”蜂鸣器“嘀~” ⑶输入新管理密码(6~12位任意数字),再按“#”蜂鸣器“嘀~” ⑷再输入新管理密码,按“#”蜂鸣器“嘀~”长鸣。 增加用户密码⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“7#”蜂鸣器“嘀~” ⑶输入新的编号(一组密码对应一个编号,按顺序编排 不可重复,01~99两位数字),再按“#” 数码管显示“当前设置的编号”, 蜂鸣器“嘀~” ⑷输入新用户密码(6~12位数任意组合),按“#”键蜂鸣器“嘀~” ⑸再次输入密码,“#”确认蓝灯亮,蜂鸣器“嘀~”长鸣。 (6)如需再添加密码按“7#”→输入新编号→输入新密 码→再次输入密码→按“#”确认 删除用户密码⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“5#”蜂鸣器“嘀~” ⑶输入用户编号(要删除密码的对应编号),按“#”蜂鸣器“嘀~” ⑷再输入用户编号,按“#”确认删除蓝灯亮,蜂鸣器“嘀~”长鸣。 ⑸如需继续删除密码按“5#”→输入编号→再输编号 →按“#”确认删除 增加M1卡⑴进入编程:按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“6#”蜂鸣器“嘀~” ⑶输入用户编号(一张卡对应一个编码,按顺序编排不 可重复00~99两位数字),按“#” 数码管显示“当前设置的编号”, 蜂鸣器“嘀~” ⑷M1卡放入感应区 数码管显示“00”,蓝灯亮蜂鸣 器“嘀~”长鸣 删除M1卡 ⑴进入编程: 按“*#”输入管理员密码,按“#”键盘灯亮,数码管显示“00” ⑵按键“4#”蜂鸣器“嘀~”

单片机密码锁实验报告

二○一六~二○一七学年第一学期 电子信息工程系 电子综合设计II 报告书 班级:电信(产业)1401班 设计时间:2016/12/29 学生姓名:曹子龙 学号:201404135024 指导教师:赵敏

二○一六年十二月

一、设计要求. 题目内容: 设计一个基于51单片机的电子密码锁: 1.可以使用4*4的矩阵键盘与红外遥控器输入密码。 2.可以通过按特殊组合键重设开锁密码。 3.显示通过1602液晶屏显示电子密码锁界面,输入密码时显示输入个数显 示为‘*’,如果密码正确,进入欢迎界面。 4.密码连续输入3次错误报警,LCD显示报警,倒计时十秒后重新进入密码 输入界面。 5.可以通过特殊的按键组合跳过输入界面直接进入欢迎界面。 实现方法: 1.通过红外接收头,连接单片机的P3.2外部中断INT0口,可以实现单片 机接收遥控器的信号输入。 2.通过矩阵键盘扫描函数,可以实现对键盘输入的响应。 3.通过引脚的高低电平变化频率,控制蜂鸣器的输入占空比和频率(低电 平时间固定,通过输入给函数值的不同改变高电平时间,固定响300个周期),对不同按键实现不同声音响应。 4.1602显示屏有16*2个单元格,每个单元格由5*8个像素点组成,可以很 好的显示数字,符号,英文字符。 功能需求分析: 液晶屏显示: 根据题意,需要设计并显示输入密码界面、修改密码界面、欢迎界面、错误警告界面 密码输入: 根据题意,每次输入一个数字,则显示一个‘*’符号代替,只能看出输入的位数,若输入密码位数达到六位,则与正确密码比较,若正确,进入系统。根据日常的手机使用习惯,默认长度为6位,且第六位输入之后立即判断,正确则进入,错误则清空重输。

保险柜密码锁使用方法

保险柜密码锁使用方法 The document was prepared on January 2, 2021

ATM保险柜开关方法及密码的更改 一、开钥匙锁 插入保险柜钥匙。保险柜钥匙上有一道槽,将其对准钥匙插孔左侧的一道刻痕插入,转动180度。 二、开密码锁 1.新机器出厂密码开法 ?新机器出厂密码使用单数字“50”,先逆时针旋转拨盘使“50”经过“开锁刻度”三次以上,第四次对准“开锁刻度”,然后顺时针旋转至不动为止。此时转动门把,即可打开保险柜。 ?如密码已改动,但仍为单数字,则开密码锁方法同上。 2. 三个数字密码的开法 ?设密码为:N1-N2-N3。 ?先逆时针转动拨盘使N1经过“开锁刻度”三次以上,第四次是N1停在“开锁刻度”上; ?再顺时针转动拨盘使N2经过“开锁刻度”两次,第三次使N2停在“开锁刻度”上; ?再逆时针转动拨盘使N3经过“开锁刻度”一次,第二次使N3停在“开锁刻度”上;再顺时针转动拨盘至不能转动。 三、修改密码锁(三个数字密码的修改方法) 注意: 1、先使用原始密码将保险柜打开后才可进行。 2、将保险柜打开后,将锁栓置于关闭状态。

修改方法: ?将原始密码N1-N2-N3,先逆时针转动拨盘使N1经过“改密码刻度” 三次以上,第四次是N1停在“改密码刻度”上; ?再顺时针转动拨盘使N2经过“改密码刻度”两次,第三次使N2停在“改密码刻度”上; ?再逆时针转动拨盘使N3经过“改密码刻度”一次,第二次使N3停在“改密码刻度”上;此时切记转动拨盘不能转动,插入改密棒,将改密棒旋转90°。 ?设新密码为:W1-W2-W3。 ?先逆时针转动拨盘使W1经过“改密码刻度”三次以上,第四次是W1停在“改密码刻度”上; ?再顺时针转动拨盘使W2经过“改密码刻度”两次,第三次使W2停在“改密码刻度”上; ?再逆时针转动拨盘使W3经过“改密码刻度”一次,第二次使W3停在“改密码刻度”上;拨盘不能转动, ,将改密棒逆向旋转90°,取出改密棒。 ?保险柜置于开启状态,将新密码测试三遍都能正常使用后,改密结束。

基于FPGA的电子密码锁

FPGA电子密码锁 学生姓名: 学生学号: 院(系):电信学院年级专业: 指导教师: 助理指导教师: 二〇一五年五月

摘要 摘要 本次设计是为解决传统锁的安全与方便的问题,设计一个电子密码锁,该密码锁选用现场可编程门阵列FPGA作为电子密码锁的设计,相对于单片机而言FPGA 有一个很大的不同是它采用了硬件电路来实现了所有的算法,这样保证了系统工作时的稳定性,并且由于FPGA的现场可编程特性,对于外部的硬件电路的要求不是很高,这样就使得设计的修改和升级非常的方便,效率也因此增加。 本系统以FPGA为核心,再配以相应的外围电路展开设计,利用EDA技术Quartus II平台和硬件描述语言,实现了一个电子密码锁,并且具有清除密码和修改密码的功能。 关键词FPGA,硬件描述语言,电子密码锁

ABSTRACT This design is to solve the traditional security lock with the convenience of the problem, the design of an electronic password lock, password lock the selected field programmable gate array FPGA as the design of electronic password lock, with respect to the relative to themicrocontroller FPGA there is a big difference is that it uses hardware circuit to achieve all of the algorithm, so that the stability of the system work, and because the FPGA field programmable characteristic, the hardware circuit of the external demand is not very high,which makes the design modification and upgrade is very convenient, thus increasingefficiency. This system uses FPGA as the core, together with the corresponding peripheral circuitdesign, using EDA technology Quartus II platform and hardware description language, to achieve an electronic password lock. Key words FPGA,Hardware Description Languages ,Electronic locks

单片机密码锁实验报告

单片机系统 设计实训报告 专业:生产过程自动化 姓名:李某 班级学号:。。。。。。。。。。。 指导教师:。。。。。。。。 实训期间:。。。。。。。。。。。。。。

目录 一.实验目的: (3) 二.实验要求: (3) 三.实验基本原理: (3) 四.实验设计分析: (4) 1.设计思想: (4) 五.实验要求实现: (5) 1. 电路设计: (5) 2.主流程图: (7) 3.4x4键盘行列式键盘原理电路图: (8) 4. 显示模块 (9) 五.总电路设计如下 (9) 六.程序 (11) 七.实验心得 (16)

一.实验目的: 1.熟悉单片机定时器的编程方法。 2.灵活运用单片机C语言程序中的字符串、数组、指针。 3.熟悉数码显示、LCM1602液晶显示器、YJD12864液晶显示器的编程方法。4.熟悉掌握4x4矩阵键盘的C语言编程。 二.实验要求: 1:用4×4矩阵键盘组成0-f数字键及。 2:可以自行设定或删除8位密码, 3:用8位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则显示PASS,若密码显示错误时,显示ERR. 4:自由发挥其他功能. 5:要求有单片机硬件系统框图,电路原理图,软件流程图。 三.实验基本原理: 这个密码锁的功能是使用矩阵键盘中的十六个键输入密码0到F还有,输入的同时在八位数码管上显示用户所输入的密码,未输入的位置用横杆填补表述未输入。当输入的密码超出设置的位数时,数据溢出,清零。 用8位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码

VHDL四位密码锁课程设计

电子与信息工程学院 EDA课程设计报告(2011 —2012 学年第一学期) 班级:电子0903 学号: 姓名: 指导教师:陈智萍 2011年9 月

课程设计题目:四位密码锁 1.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题; 2.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧; 3.学会应用开发系统实现硬件电路,检验电路的功能。 内容和要求: 用VHDL语言设计一个密码锁,用波形仿真验证其功能后,实现到GW48实验系统。 功能描述:用于模仿密码锁的工作过程。完成密码锁的核心控制功能。 功能要求:设计一个密码锁,平时处于等待状态。管理员可以设置或更改密码。如果不预置密码,密码缺省为“1234”。用户如果需要开锁,按相应的按键进入输入密码状态,输入4位密码,按下确定键后,若密码正确,锁打开;若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。报警后,只有管理员作相应的处理才能停止报警。用户输入密码时,若输入错误,在按下确定键之前,可以通过按取消键重新输入。正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。系统操作过程中,只要密码锁没有打开,如果60秒没有对系统操作,系统回到等待状态。要求密码在输入过程中被依次显示,即先输入的为密码的第一位,总是显示在最左边。用两个发光二极管模拟显示,其中一个显示当前的工作模式,灭表示用户模式,亮表示管理员模式;另外一个指示锁的状态,灭表示锁处于锁定,亮表示锁被开启。注意:用两个按键实现密码输入,Key1选择输入的是第几位密码,KEY2输入密码数字。 功能描述: 初始状态:初次使用密码锁时,要先用Reset键初始化。初始状态下,用户密码为“1234”,管理员密码为“0000”。 用户开锁:默认情况下,密码锁处于用户使用状态。如果当前为管理员状态,则按下user键回到用户状态。用户开锁时,输入四位数用户密码,可以从out_code6的输出状态确定密码输入状态。如输入错误则按下clear清除前一位输入。输入完毕后按enter,如果密码正确,则开锁,否则重新输入密码。开锁后再次按下enter键则关锁,回到等待状态。三次密码输入错误,警报器alarming为1。要管理员输入管理员密码解除警报。此时哪怕用户再输对密码也没用。 管理员解除警报:当用户三次密码输入错误的时候,alarming为1,此时,只要管理员密码输入正确后,按下clear键,alarming为0,报警取消。 管理员修改密码:在非警报和为开锁状态下,任何时候按admin键进入管理员状态。按chgcode 选择修改密码,先选择修改的是用户密码还是管理员密码。修改用户密码则按user键,修改管理员密码则按admin键。然后分别输入旧密码,新密码,新密码要输入两次。旧密码与所要修改的密码对应。如旧密码输入错误,则无法修改;当验证不成功即两次新密码不相同时,修改密码失败。返回等待状态。成功后也返回等待状态。 定时返回:用户在未开锁状态下,60s没有按键输入,则返回等待状态,但不包括alarming状态。

相关文档
最新文档