电子密码锁EDA课程设计(共7页).doc
《电子密码锁EDA课程设计(共7页).doc》由会员分享,可在线阅读,更多相关《电子密码锁EDA课程设计(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上青岛农业大学电子设计自动化课程设计报告20122013学年 第2学期 实习题目: 电子密码锁 姓 名 :_ _ 学 号 :_ _ _ _ 专业班级:_电自化1003_ 指导老师:_ _ _ 2013年6月8日EDA课程设计一、设计任务 1、基本要求(1)、设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;(2)、在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;(3)、从第一个按钮触动后的5秒内
2、若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。2、要解决的关键问题(1)、该题的主要任务是产生一个开锁信号,而开锁信号的形成条件是,输入代码和已设密码相同。实现这种功能的电路构思有多种,例如,用两片8位锁存器,一片存入密码,另一片输入开锁的代码,通过比较的方式,若两者相等,则形成开锁信号。(2)、在产生开锁信号后,要求输出声、光信号,声音的产生由开锁信号触动扬声器工作,光信号由开锁信号点亮LED指示灯;(3)、用按钮开关的第一个动作信号触发一个5秒定时器,若5秒内无开锁信号产生,让扬声器发出特殊音响,以示警告,并输出一个信号推动LED不断闪烁。
3、二、设计方案1、总体设计思想本设计采用VHDL语言进行编程,把所有的功能都整合到一个程序,采用不同的进程将不同的功能区分开来。该程序主要由密码输入进程、密码修改进程、密码锁操作进程、报警计时进程和报警动作进程等组成。这样设计的好处是不用设计顶层文件或者顶层原理图,没有复杂的连线。当然,仅仅是对于一些功能简单,代码较短的程序采用该种方法编程,而该题目正好符合这个条件。该功能共有两个时钟信号,一个是键盘扫描和系统时钟,采用的是1Hz的时钟信号,该信号不仅可以防止键盘抖动引起的误操作,还有助于系统计时。因为报警电路中的蜂鸣器为无源蜂鸣器,所以需要一个方波信号来驱动蜂鸣器,使其发出声音。因此又采用了一
4、个1KHz的信号用于驱动蜂鸣器。为了编程简单,本设计采用的是八个独立键盘,四个按键用于输入密码,四个按键作为功能键。四位0000到9999可任意改变的密码,输入密码或者更改密码时,采用的是自加运算,当数字加到10以后,自动清零。另外四个功能健分别是开锁键、关锁键、修改密码键、清除自锁健。本设计采用LED显示和数码管显示,LED主要用于表示现在的密码锁的开关状态,数码管用于显示输入的数值。该种显示清晰明了,可以防止误操作的发生。另外还采用蜂鸣器和LED闪烁报警,当从输入第一个密码开始计时,如果5秒内没有开锁,密码锁会自动报警20S,并让一个LED灯闪烁,直到自锁信号解除。2、系统设计实现的基本功
5、能(1) 密码输入:每按下一个数字键,就输入一个数值,并在显示器相应位置上显示出该数值。(2) 密码清除:按下开锁键和关锁键进入锁定和开锁状态后,系统自动可清除前面所有的输入值,清除成为“0000”。(3) 密码更改:当密码锁位于开锁状态下,按下更改键可以设定新的密码(4) 密码上锁:按下上锁键可将密码锁上锁。(5) 密码解除:按下解除键首先检查输入的密码是否正确,密码正确即解锁。(6) 密码自锁:从输入第一个密码开始计时,如果5秒内没有开锁,密码锁会自动报警,并进入自锁状态,此时不允许任何操作。(7) 自锁清除:通过自锁清除键可以清除自锁状态,使密码锁进入正常工作状态。3、系统程序LIBRA
6、RY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY LOCK ISPORT(CLK,CLK5:IN STD_LOGIC; KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8:IN STD_LOGIC; Q1,Q2,Q3,Q4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); LED_G,LED_R,LED,BEEP:OUT STD_LOGIC);END LOCK;ARCHITECTURE BEHAV OF LOCK IS SIGNAL PASSWORD
7、1:STD_LOGIC_VECTOR(3 DOWNTO 0):=0001; SIGNAL PASSWORD2:STD_LOGIC_VECTOR(3 DOWNTO 0):=0001; SIGNAL PASSWORD3:STD_LOGIC_VECTOR(3 DOWNTO 0):=0001; SIGNAL PASSWORD4:STD_LOGIC_VECTOR(3 DOWNTO 0):=0001; SIGNAL JISHI5:STD_LOGIC_VECTOR(3 DOWNTO 0):=0000; SIGNAL JISHI20:STD_LOGIC_VECTOR(4 DOWNTO 0):=00000; S
8、IGNAL ZISUO,FLAG,BEEP_FLAG,KAI,LED_TMP:STD_LOGIC:=0; SIGNAL CODE1,CODE2,CODE3,CODE4:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(clk,key1,key2,key3,key4,key6)BEGINIF ZISUO=0 AND KEY6=0 AND KAI=0 THEN IF KEY1EVENT AND KEY1=1 THEN -用来输入代码,在关锁状况下,并且无开锁和设置密码信号下有效 IF CODE19 THEN CODE1=CODE1+1; ELSE CODE10
9、); END IF; END IF; IF KEY2EVENT AND KEY2=1 THEN IF CODE29 THEN CODE2=CODE2+1; ELSE CODE20); END IF; END IF; IF KEY3EVENT AND KEY3=1 THEN IF CODE39 THEN CODE3=CODE3+1; ELSE CODE30); END IF; END IF; IF KEY4EVENT AND KEY4=1 THEN IF CODE49 THEN CODE4=CODE4+1; ELSE CODE40); END IF; END IF; ELSIF(ZISUO=0
10、AND KEY7=1 AND KAI=1)THEN CODE1=0000;CODE2=0000;CODE3=0000;CODE4=0000; -这一步很重要,重新上锁必须将密码值清零,不然会显示上次输入的密码 IF KEY6=1 AND KAI=1 THEN -显示密码 Q1=PASSWORD1; Q2=PASSWORD2; Q3=PASSWORD3; Q4=PASSWORD4; END IF; IF KEY6=0 AND KAI=0 THEN -显示要更改的密码 Q1=CODE1; Q2=CODE2; Q3=CODE3; Q4=CODE4; END IF; IF KEY6=0 AND KAI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 EDA 课程设计
限制150内