EDA课程设计报告电子密码锁设计Word文档下载推荐.docx

上传人:b****6 文档编号:19633905 上传时间:2023-01-08 格式:DOCX 页数:18 大小:732.53KB
下载 相关 举报
EDA课程设计报告电子密码锁设计Word文档下载推荐.docx_第1页
第1页 / 共18页
EDA课程设计报告电子密码锁设计Word文档下载推荐.docx_第2页
第2页 / 共18页
EDA课程设计报告电子密码锁设计Word文档下载推荐.docx_第3页
第3页 / 共18页
EDA课程设计报告电子密码锁设计Word文档下载推荐.docx_第4页
第4页 / 共18页
EDA课程设计报告电子密码锁设计Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

EDA课程设计报告电子密码锁设计Word文档下载推荐.docx

《EDA课程设计报告电子密码锁设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA课程设计报告电子密码锁设计Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

EDA课程设计报告电子密码锁设计Word文档下载推荐.docx

设置按键还原初始密码。

第3章总体框图

1)设计方案:

电子密码锁,主要由四部分组成:

时序控制电路、密码输入电路、密码锁控制电路和密码锁显示电路。

时序控制电路来控制整个系统的运行时序,使其不会发生混乱。

作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。

拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码来作为该设计的输入设备。

密码锁的输入电路由拨码输入、计数器、译码器组成。

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

数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。

液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。

根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。

整个密码锁系统的总体框图如图所示。

第4章功能模块

4.1输入模块

1)功能介绍

输入时有四个拨码键控制输入,每四个拨码来控制一位密码,再设一个拨码键a,每拨一次此按码键a,表示输入一位密码,在用计数器来计数,每输入一位密码时计数一次,并输出一位密码。

由于是拨码输入,加上消抖电路,使输入更加稳定。

2)输入模块与仿真图形

拨码与按键输入如下图

上图为拨码输入,当a给一个上升沿信号,在qout输出一个密码。

计数器如下图

上图为计数器,没输入一个密码计数一次。

消抖电路如下图

3)程序的输入

在文本区内输入程序,程序如下:

拨码与按键输入

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmimasuoIS

PORT(key0,key1,key2,key3,ret,a:

INSTD_LOGIC;

qout:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYmimasuo;

ARCHITECTUREoneOFmimasuoIS

BEGIN

PROCESS(a)

VARIABLEq:

STD_LOGIC_VECTOR(0TO3);

BEGIN

IFret='

1'

THEN

q:

=(others=>

'

0'

);

ELSE

ifa'

eventanda='

then

q(3):

=key3;

q

(2):

=key2;

q

(1):

=key1;

q(0):

=key0;

ENDIF;

qout<

=q;

ENDPROCESS;

endARCHITECTUREone;

计数器

USEIEEE.STD_LOGIC_unsigned.all;

ENTITYcnt4IS

PORT(a:

Q:

OUTSTD_LOGIC_vector(0to2));

ENDcnt4;

ARCHITECTUREBEHAVEOFcnt4IS

SIGNALq1:

STD_LOGIC_vector(0to2);

PROCESS(a)

ifa'

thenq1<

=q1+1;

ifq1="

110"

thenq1<

="

001"

;

endif;

ENDPROCESS;

Q<

=q1;

ENDBEHAVE;

4.2控制模块

1)功能介绍

开锁时,用四个拨码键来输入密码,计数器来计数密码的个数,将输入的密码与用户密码在比较器里进行比较,当输入的密码与开始时寄存在寄存器B中的密码一样时,则开锁,绿灯亮led1为高电平,红灯灭led2为低电平,当密码输入错时,绿灯灭led1为低电平,红灯亮led2为高电平。

当修改密码时,在寄存器B中,使key6键为高电平,即可在输入端就能输入要修改的密码。

按ret键可清除输入时输错的密码。

初始密码,可以在第一次输入时,按key6键,来存储密码。

2)控制模块与仿真图形

寄存器A如下图:

上图为寄存器A,存储每次输入的密码。

在文本区内输入程序,程序如下:

寄存器A

entitydff1is

port(clk:

instd_logic;

key6:

j:

instd_logic_vector(0to2);

d:

inSTD_LOGIC_vector(0to3);

q0:

outSTD_LOGIC_vector(0to3);

q1:

q2:

q3:

q4:

q5:

outSTD_LOGIC_vector(0to3));

endentitydff1;

ARCHITECTUREoneOFdff1IS

begin

process(j,clk)

ifclk'

eventandclk='

andkey6='

casejis

when"

=>

q0<

=d;

010"

q1<

011"

q2<

100"

q3<

when"

101"

q4<

=>

q5<

whenothers=>

null;

endcase;

endprocess;

endone;

寄存器B如下图:

上图为寄存器B,存储设置的用户密码,当key6为高电平时,可以来修改密码。

寄存器B

entitydff02is

endentitydff02;

ARCHITECTUREoneOFdff02IS

whenothers=>

endprocess;

endone;

比较器如下图:

上图为密码输入正确、错误时的比较器,当ok键为高电平时,进行比较。

比较器

entitybijiaois

port(ok:

n0,n1,n2,n3,n4,n5,b0,b1,b2,b3,b4,b5:

inSTD_LOGIC_vector(0to3);

led1:

outstd_logic;

led2:

outstd_logic);

end;

ARCHITECTUREoneOFbijiaoIS

SIGNALQ1,Q2:

STD_LOGIC;

process(n0,n1,n2,n3,n4,n5,b0,b1,b2,b3,b4,b5,ok)

ifok='

then

ifn0=b0andn1=b1andn2=b2andn3=b3andn4=b4andn5=b5then

Q1<

='

;

Q2<

ELSEQ1<

ENDIF;

led1<

=Q1;

led2<

=Q2;

ENDone;

六选一选择器如下图

上图为六选一选择器

六选一选择器

ENTITYmux61aIS

PORT(q0,q1,q2,q3,q4,q5:

inSTD_LOGIC_vector(0to2);

led:

outstd_logic_vector(5downto0);

y:

ARCHITECTUREoneOFmux61aIS

begin

process(j)

begin

000"

led<

="

011111"

y<

=q0;

101111"

110111"

=q2;

111011"

=q3;

111101"

=q4;

111110"

=q5;

endcase;

endprocess;

endone;

4.3显示模块

将密码用BCD七段数码管显示

2)显示模块与仿真波形图,如下图

上图将BCD码转化到七段译码电路上

七段译码器

ENTITYdecl7sIS

PORT(a:

instd_logic_vector(0to3);

led7s:

outstd_logic_vector(0to6));

ARCHITECTUREoneOFdecl7sIS

caseais

when"

0000"

led7s<

1000000"

0001"

1111001"

0010"

0100100"

0011"

0110000"

0100"

0011001"

0101"

0010010"

0110"

0000010"

0111"

1111000"

1000"

0000000"

1001"

0010000"

whenothers=>

null;

endcase;

第5章总体设计电路图

将各个模块连接在一起实现。

2)顶层文件如下:

3)波形仿真如下:

当key6为高电平时输入密码进如寄存器A,存储密码,当key6为低电平时,输入密码进入寄存器B,当寄存器B中的输入密码与寄存器A相同时为“104205”led1为高电平、led2为低电平,密码锁开锁。

设计正确。

第6章设计心得体会

通过这次设计,使我对EDA产生了浓厚的兴趣。

特别是当每一个子模块编写调试成功时,心里特别的开心。

在当所有子模块都编写好了,连在一起时,运行时,我遇到了很大的麻烦,一直被时序问题所困扰,不能仿真出结果,在试验箱里也不能显示密码。

当解决了这个问题时,我特别的高兴。

当连接到试验箱上显示时,由于没有加消抖电路,所以在试验箱上显示很不稳定,所以在设计时应加上消抖电路,让输入、输出更稳定。

其次,在进行引脚连接时一定要细心,有些引脚不能使用,并且在拨码输入时要注意四个拨码的高地位,我因为没注意使得开始时一直不能得到正确的结果。

这次EDA课程设计历时三个星期,在整整三个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正的学以致用,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。

总的来说,这次设计的密码锁还是比较成功的,在设计中遇到了很多问题,最后在同学和老师的辛勤的指导下外加上自己的努力,终于都得到了解决,因此很有成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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