基于VHDL4位电子密码锁的设计Word文档下载推荐.docx

上传人:b****4 文档编号:15984379 上传时间:2022-11-17 格式:DOCX 页数:17 大小:179.60KB
下载 相关 举报
基于VHDL4位电子密码锁的设计Word文档下载推荐.docx_第1页
第1页 / 共17页
基于VHDL4位电子密码锁的设计Word文档下载推荐.docx_第2页
第2页 / 共17页
基于VHDL4位电子密码锁的设计Word文档下载推荐.docx_第3页
第3页 / 共17页
基于VHDL4位电子密码锁的设计Word文档下载推荐.docx_第4页
第4页 / 共17页
基于VHDL4位电子密码锁的设计Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于VHDL4位电子密码锁的设计Word文档下载推荐.docx

《基于VHDL4位电子密码锁的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于VHDL4位电子密码锁的设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

基于VHDL4位电子密码锁的设计Word文档下载推荐.docx

密码比较模块:

当按下确定键(yes)键,则将输入的密码和置密码进行比较。

密码输入模块:

当输入密码正确时,再输入密码,利用重置密码键(set_psw)直接将其赋值给置的密码psw即可实现。

LED显示模块,用来显示密码输入的正确与否。

若输入密码与置密码一致,则锁打开,输出一个高电平给LEDG,绿灯亮,密码错误则输出一个高电平给LEDR,红灯亮。

综合上述分析,本系统的硬件部分主要由密码锁输入译码模块、密码锁显示模块、密码锁控制模块、密码比较和重置模块和LED显示模块五个部分组成。

3系统以及模块硬件电路设计

说明:

1.密码锁显示模块:

段数码管是电子开发过程中常用的输出显示设备。

在本设计中使用的是4个四位一体、共阳极型七段数码管。

其单个静态数码管如右图所示。

2.密码输入和译码模块:

用switch[9]~[0]实现数字9到0的输入。

clkClk_in

yes

Out_q(15downto0)

Psw(15downto0)

Set_psw

DE2开发板上使用的元件的管脚编号如下:

端口名

FPGA管脚

说明

alarm

pin_af23

报警信号,红灯亮

cancel

pin_v1

取消密码输入

clk

pin_n2

50MHz时钟

correct

pin_ae22

密码正确,绿灯亮

num[0]

pin_n25

输入数字0到9

num[1]

pin_n26

num[2]

pin_p25

num[3]

pin_ae14

num[4]

pin_af14

num[5]

pin_ad13

num[6]

pin_ac13

num[7]

pin_c13

num[8]

pin_b13

num[9]

pin_a13

out0[0]

pin_af10

u0数码管

out0[1]

pin_ab12

out0[2]

pin_ac12

out0[3]

pin_ad11

out0[4]

pin_ae11

out0[5]

pin_v14

out0[6]

pin_v13

out1[0]

pin_v20

u1数码管

out1[1]

pin_v21

out1[2]

pin_w21

out1[3]

pin_y22

out1[4]

pin_aa24

out1[5]

pin_aa23

out1[6]

pin_ab24

out2[0]

pin_ab23

u2数码管

out2[1]

pin_v22

out2[2]

pin_ac25

out2[3]

pin_ac26

out2[4]

pin_ab26

out2[5]

pin_ab25

out2[6]

pin_y24

out3[0]

pin_y23

u3数码管

out3[1]

pin_aa25

out3[2]

pin_aa26

out3[3]

pin_y26

out3[4]

pin_y25

out3[5]

pin_u22

out3[6]

pin_w24

out_error

pin_ae23

密码错,红灯亮

reset

pin_v2

管理员权限,为0时取消报警信号

set_psw

pin_n23

设置密码

start

pin_u4

开始输入密码信号

pin_g26

确定信号

4系统的VHDL设计

1.分频模块,即做一个模5000的计数器,从而将50MHz的时钟转化为10000Hz的时钟。

2.密码锁输入和译码,显示模块。

switch[9]~switch[0]模拟数字9~0的输入,例如switch[9]为高电平,而其他为低电平,则通过程序译码为9,同时产生一个clock时钟上升沿,由于人操作的时间必定大于0.00001s(即10000Hz的时钟周期),所以在下次按键是,clock已经回到低电平,此后再按键clock又产生一个上升沿。

由此构造的clock时钟可以为左移寄存器当时钟。

3.密码显示模块:

switch改变一次,即每输入一个数,译码产生一个四位的BCD码,来驱动数码管。

并随着clock上升沿,依次左移显示。

4.密码比较和重置模块:

在输入了4位密码后,16位BCD码已经保存在out_q里,通过与置密码比较即可。

数码管的真值表(0代表亮,1代表不亮)

1

2

3

4

5

6

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

VHDL源代码

.主程序coded_lock代码:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycoded_lockis

port(clk:

instd_logic;

start:

instd_logic;

reset:

num:

instd_logic_vector(9downto0);

out3,out2,out1,out0:

outstd_logic_vector(6downto0);

correct:

bufferstd_logic;

yes:

--admin:

set_psw:

std_logic;

alarm:

outstd_logic;

cancel:

out_error:

bufferstd_logic);

end;

architecturebehaveofcoded_lockis

--*******************************************************************

ponentdecoderis--显示译码器的元件例化

port(qq:

instd_logic_vector(3downto0);

result:

outstd_logic_vector(6downto0));

endponent;

signalout_q:

std_logic_vector(15downto0):

="

11111"

;

--out_q为4位密码锁的8421BCD码

signalq:

std_logic_vector(3downto0);

--输入一个9~0的数字,q为其8421BCD码

signalclock:

std_logic:

='

0'

--每按一次键,clock输出一个上升沿

signalcounter:

integerrange0to2:

=0;

--模为3的计数器

signalt4:

integerrange0to4:

--模为5的计数器

signalenable:

1'

--当输错3次密码,则此使能端为0,使无法译码

signalpsw:

std_logic_vector(15downto0):

10110"

--默认密码为9876

signalclk_in:

std_logic;

--5000分频之后的时钟

begin

--*******************************************************************process(clk_in,start,reset,enable)

begin

ifreset='

then

clock<

elsifrising_edge(clk_in)then

ifstart='

andenable='

casenumis--按个键,clock来一个上升沿

when"

1000000000"

=>

q<

1001"

clock<

when"

0100000000"

1000"

0010000000"

0111"

0001000000"

0110"

0000100000"

0101"

0000010000"

0100"

0000001000"

0011"

0000000100"

0010"

0000000010"

0001"

0000000001"

0000"

whenothers=>

1111"

endcase;

elsenull;

endif;

endif;

endprocess;

--************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1