电子密码锁EDA课程设计Word格式文档下载.docx

上传人:b****2 文档编号:14953576 上传时间:2022-10-26 格式:DOCX 页数:9 大小:19.30KB
下载 相关 举报
电子密码锁EDA课程设计Word格式文档下载.docx_第1页
第1页 / 共9页
电子密码锁EDA课程设计Word格式文档下载.docx_第2页
第2页 / 共9页
电子密码锁EDA课程设计Word格式文档下载.docx_第3页
第3页 / 共9页
电子密码锁EDA课程设计Word格式文档下载.docx_第4页
第4页 / 共9页
电子密码锁EDA课程设计Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

电子密码锁EDA课程设计Word格式文档下载.docx

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

电子密码锁EDA课程设计Word格式文档下载.docx

(1)、设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;

(2)、在锁的控制电路中储存一个能够修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;

(3)、从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。

2、要解决的关键问题

(1)、该题的主要任务是产生一个开锁信号,而开锁信号的形成条件是,输入代码和已设密码相同。

实现这种功能的电路构思有多种,例如,用两片8位锁存器,一片存入密码,另一片输入开锁的代码,经过比较的方式,若两者相等,则形成开锁信号。

(2)、在产生开锁信号后,要求输出声、光信号,声音的产生由开锁信号触动扬声器工作,光信号由开锁信号点亮LED指示灯;

(3)、用按钮开关的第一个动作信号触发一个5秒定时器,若5秒内无开锁信号产生,让扬声器发出特殊音响,以示警告,并输出一个信号推动LED不断闪烁。

二、设计方案

1、总体设计思想

本设计采用VHDL语言进行编程,把所有的功能都整合到一个程序,采用不同的进程将不同的功能区分开来。

该程序主要由密码输入进程、密码修改进程、密码锁操作进程、报警计时进程和报警动作进程等组成。

这样设计的好处是不用设计顶层文件或者顶层原理图,没有复杂的连线。

当然,仅仅是对于一些功能简单,代码较短的程序采用该种方法编程,而该题目正好符合这个条件。

该功能共有两个时钟信号,一个是键盘扫描和系统时钟,采用的是1Hz的时钟信号,该信号不但能够防止键盘抖动引起的误操作,还有助于系统计时。

因为报警电路中的蜂鸣器为无源蜂鸣器,因此需要一个方波信号来驱动蜂鸣器,使其发出声音。

因此又采用了一个1KHz的信号用于驱动蜂鸣器。

为了编程简单,本设计采用的是八个独立键盘,四个按键用于输入密码,四个按键作为功能键。

四位0000到9999可任意改变的密码,输入密码或者更改密码时,采用的是自加运算,当数字加到10以后,自动清零。

另外四个功能健分别是开锁键、关锁键、修改密码键、清除自锁健。

本设计采用LED显示和数码管显示,LED主要用于表示现在的密码锁的开关状态,数码管用于显示输入的数值。

该种显示清晰明了,能够防止误操作的发生。

另外还采用蜂鸣器和LED闪烁报警,当从输入第一个密码开始计时,如果5秒内没有开锁,密码锁会自动报警20S,并让一个LED灯闪烁,直到自锁信号解除。

2、系统设计实现的基本功能

(1)密码输入:

每按下一个数字键,就输入一个数值,并在显示器相应位置上显示出该数值。

(2)密码清除:

按下开锁键和关锁键进入锁定和开锁状态后,系统自动可清除前面所有的输入值,清除成为“0000”。

(3)密码更改:

当密码锁位于开锁状态下,按下更改键能够设定新的密码

(4)密码上锁:

按下上锁键可将密码锁上锁。

(5)密码解除:

按下解除键首先检查输入的密码是否正确,密码正确即解锁。

(6)密码自锁:

从输入第一个密码开始计时,如果5秒内没有开锁,密码锁会自动报警,并进入自锁状态,此时不允许任何操作。

(7)自锁清除:

经过自锁清除键能够清除自锁状态,使密码锁进入正常工作状态。

3、系统程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYLOCKIS

PORT(CLK,CLK5:

INSTD_LOGIC;

KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8:

Q1,Q2,Q3,Q4:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

LED_G,LED_R,LED,BEEP:

OUTSTD_LOGIC);

ENDLOCK;

ARCHITECTUREBEHAVOFLOCKIS

SIGNALPASSWORD1:

STD_LOGIC_VECTOR(3DOWNTO0):

="

0001"

;

SIGNALPASSWORD2:

SIGNALPASSWORD3:

SIGNALPASSWORD4:

SIGNALJISHI5:

0000"

SIGNALJISHI20:

STD_LOGIC_VECTOR(4DOWNTO0):

00000"

SIGNALZISUO,FLAG,BEEP_FLAG,KAI,LED_TMP:

STD_LOGIC:

='

0'

SIGNALCODE1,CODE2,CODE3,CODE4:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(clk,key1,key2,key3,key4,key6)

IFZISUO='

ANDKEY6='

ANDKAI='

THEN

IFKEY1'

EVENTANDKEY1='

1'

THEN--用来输入代码,在关锁状况下,而且无开锁和设置密码信号下有效

IFCODE1<

9THENCODE1<

=CODE1+1;

ELSECODE1<

=(OTHERS=>

'

);

ENDIF;

IFKEY2'

EVENTANDKEY2='

IFCODE2<

9THENCODE2<

=CODE2+1;

ELSECODE2<

IFKEY3'

EVENTANDKEY3='

IFCODE3<

9THENCODE3<

=CODE3+1;

ELSECODE3<

IFKEY4'

EVENTANDKEY4='

IFCODE4<

9THENCODE4<

=CODE4+1;

ELSECODE4<

ELSIF(ZISUO='

ANDKEY7='

)THEN

CODE1<

CODE2<

CODE3<

CODE4<

--这一步很重要,重新上锁必须将密码值清零,不然会显示上次输入的密码

IFKEY6='

THEN--显示密码

Q1<

=PASSWORD1;

Q2<

=PASSWORD2;

Q3<

=PASSWORD3;

Q4<

=PASSWORD4;

THEN--显示要更改的密码

=CODE1;

=CODE2;

=CODE3;

=CODE4;

THEN--开锁后显示零

ELSIFZISUO='

THEN--按住KEY6设置密码,此时必须是开锁状态

IFPASSWORD1<

9THENPASSWORD1<

=PASSWORD1+1;

ELSEPASSWORD1<

THEN

IFPASSWORD2<

9THENPASSWORD2<

=PASSWORD2+1;

ELSEPASSWORD2<

IFPASSWORD3<

9THENPASSWORD3<

=PASSWORD3+1;

ELSEPASSWORD3<

IFPASSWORD4<

9THENPASSWORD4<

=PASSWORD4+1;

ELSEPASSWORD4<

EndIF;

ENDPROCESS;

PROCESS(CLK,key5,key7)

BEGIN

IFCLK'

EVENTANDCLK='

IFKEY5='

ANDZISUO='

IFPASSWORD1=CODE1ANDPASSWORD2=CODE2ANDPASSWORD3=CODE3ANDPASSWORD4=CODE4

THENKAI<

--按下开锁键后,如果密码正确,开锁

ELSEKAI<

IFKAI='

LED_G<

LED_R<

--开锁后红灯灭绿灯亮,否则红灯亮绿灯灭

ELSELED_G<

IFKEY7='

THEN--关锁按钮按下后关锁

KAI<

;

LED_G<

PROCESS(CLK,KEY1,KEY8)

IF(KEY1'

FLAG<

THEN--按下第一个按键时置位标志位FLAG,开始计时

IF(FLAG='

IFZISUO='

IFJISHI5<

5THENJISHI5<

=JISHI5+1;

ELSEJISHI5<

IF(JISHI5=5ANDKAI='

)THEN--如果5秒后未开锁则进入自锁状态

ZISUO<

1

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

当前位置:首页 > 初中教育 > 科学

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

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