好文档 - 专业文书写作范文服务资料分享网站

(电子行业企业管理)吴超电子密码锁

天下 分享 时间: 加入收藏 我要投稿 点赞

一、设计思想

本设计采用EDA技术和VHDL语言设计了一种按键输入密码并数码管回显,当输入正确密码时轰动绿灯亮、红灯熄灭表示开锁,而当输入错误密码时,红灯亮、绿灯熄灭表示关锁。根据系统设计要求,系统设计采用自顶向下的设计方法。 1.基本原理

在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。密码锁要达到的功能为:

为达到密码锁的以上功能,可将电子密码锁分为以下几个模块:密码锁输入电路、密码锁控制电路、LED输出显示电路。

⑴、密码输入:每按下一个数字键,就输入一个数值,并在显示器上显示出该数值。同时将先前输入的数据依次左移一个数字位置。程序下载后系统进入原始状态(原始密码000000),按下键8发光二极管8(绿灯)亮、法官二极管7(红灯)灭。当要重新设置密码时,直接输入自己想要设置的密码并按下键8,持续5S,数码管8由0变为1,此时7段数码管1、2、3、4、5、6对应显示新设置的密码。当要输入密码时,按下键7,先将密码清零,再随机输入一组6位密码,假如密码正确,发光二极管8(绿灯)立即亮;反之如不正确,等待5S,发光二极管7(红灯)亮并由蜂鸣器发出20S的报警信号。

⑵、密码清除:按下清除键可清除前面所有的输入值,清除成为“0000”。 ⑶、密码更改:按下更改键可将目前数据设定为新的密码。 ⑷、密码上锁:按下上锁键可将密码锁上锁。

1

⑸、密码解除:按下解除键首先检查输入的密码是否正确,密码正确即解锁。 2.设计框图

为达到密码锁的以上功能,可将电子密码锁分为以下几个模块:密码锁输入电路、密码锁控制电路、LED输出显示电路。和报警电路等四部分组成顶层设计采用原理图设计方式,系统的整体组装设计原理图如图1所示。

密 码 模 块 校 对 模 块 5S延时脉冲模块 20延时脉冲模块 红灯灭绿灯亮 关锁 绿灯灭红灯亮 开锁 20S报警 图1 系统整体组装设计原理图

二、设计步骤和调试过程

1、模块设计和相应模块代码 (1)分频

由于要产生5秒、20秒的计时信号,故对系统时钟clk_1k进行分频来得到1Hz的时钟clk。其模块及部分程序如下:

图2 分频模块

process(clk_1k)

2

variable count:std_logic_vector(9 downto 0); begin

if(clk_1k'event and clk_1k='1') then count:=count+1; end if; clk<=count(9); end process;

仿真波形如下:

图3 分频仿真图

(2) 设置密码

本模块主要是将设置的密码锁存到中间变量ram中去,同时控制灯的变化,由于这里的灯并不能作为最终的输出,所以这里先用led_r_temp1、led_r_temp2代替。其模块及部分程序如下:

图4 设置密码模块

process(enter1,set)

begin

3

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

if(set='0') then ram<=datain;

led_r_temp1<='1';led_g_temp1<='0'; else led_r_temp1<='0';led_g_temp1<='0';

end if; end if; end process;

仿真波形如下:

图5 设置密码仿真图

(3) 输入密码时第一个按键判断信号

本模块主要在密码输入下,当第一个按键按下时产生一个judge信号(高电平有效),其模块及部分程序如下:

judge

clk_1ksetdatain[3..0]instjudge图6 判断信号模块

process(set,clk_1k,datain) begin

4

if(clk_1k'event and clk_1k='1') then if(set='0') then judge<='0'; elsif(set='1') then

if((datain(0) or datain(1) or datain(2) or datain(3))='0') then

judge<='0';

els if((datain(0) or datain(1) or datain(2) or datain(3))='1')

then judge<='1'; else judge<='0'; end if; end if; end if; end process;

仿真波形如下:

图7 判断信号仿真图

从仿真波形上看,当按键按下后judge信号由0变为1,但是当按键重新弹回0时,judge信号又回到0,所以需对judge高电平信号进行锁存:

5

(电子行业企业管理)吴超电子密码锁

一、设计思想本设计采用EDA技术和VHDL语言设计了一种按键输入密码并数码管回显,当输入正确密码时轰动绿灯亮、红灯熄灭表示开锁,而当输入错误密码时,红灯亮、绿灯熄灭表示关锁。根据系统设计要求,系统设计采用自顶向下的设计方法。1.基本原理在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。密
推荐度:
点击下载文档文档为doc格式
98d307x5ug81m9s40mcz3j4le87moy00j9o
领取福利

微信扫码领取福利

微信扫码分享