密码锁--EDA课程设计.docVIP

  • 60
  • 0
  • 约5.28千字
  • 约 14页
  • 2017-12-03 发布于湖北
  • 举报
密码锁--EDA课程设计

课 程 设 计 课程设计名称: EDA课程设计 专 业 班 级 电科1201班 学 生 姓 名 : XXXXXX 学 号 : 201216030116 指 导 教 师 : XXXXXX 课程设计时间: 2015-6-15~2015-6-27 电子信息科学与技术 专业课程设计任务书 学生姓名 王洪亮 专业班级 电科1201 学号 题 目 密码锁的设计 课题性质 工程设计 课题来源 自拟课题 指导教师 焦素敏 同组姓名 主要内容 设计一个密码锁,要求开锁代码为2位十进制的并行码,当输入的密码与锁内的密码一致时,绿灯亮,开锁;当输入的密码与锁内的密码不一致时,红灯亮,不能开锁。密码可由用户自行设置。可选用的器件有FLEX10K10、共阴极7段数码管、发光二极管、按键开关、电阻、电容。 任务要求 (1)根据设计题目要求编写相应程序代码 (2)对编写的VHDL程序代码进行编译和仿真 (3)利用实验箱完成硬件验证 (4)总结设计内容,完成课程设计说明书 参考文献 [1] 焦素敏.EDA课程设计指导书.郑州:河南工业大学,2008 [2] 潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002 [3] 王国栋,潘松等.VHDL实用教程.成都:电子科技大学出版社,2000 [4] 张亦华,延明.数字电路EDA入门.北京:电子工业出版社,2003 [5] / 中国电子制作网 网站 本设计的总体原理图 C、D输入端口是密码锁设置密码的输入,两者均是脉冲输入,由内部十进制的计数器进行计数,数码管实时显示当前输入的密码。当设置好密码后按下确定键QUEDING2,便可把要设置的密码输送到设置密码存储当中。 A,B输入端口是密码锁开锁密码的端口,其特性跟C、D输入端形同,童谣能用数码管显示当前输入数据。当输入认为正确的数据后,再按下确定键QUEDING1,可把输入的开锁密码输送到到输入开锁密码存储当中,再由检测模块进行对比。 CLR1、CLR2输入端口分别是密码设置清零端和开锁密码输入清零端,当输入数据错误时,可以用这两个键进行清零,然后重新输入。 当密码锁的密码设置好确认之后,便通过设置密码存储器输送到数据检测器当中,等待着开锁密码的输入。在开锁密码输入确认后,也是通过输入密码存储器输送到数据检测器当中,经过八个时钟CLK周期执行后便可检测出所输入的密码是否与所设置的密码一致。若一致,则输出端口E输出高电平,相应的指示灯亮,表示密码正确,锁打开。反之,输出端口F输出高电平,相应指示灯亮,表示密码不正确,锁不开。 3 程序设计 本设计采用模块化设计,把不同功能的程序做成单独的模块,最终在顶层设计中将个模块用导线连接起来。 (1)输入密码和设置密码模块程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY shuru IS PORT(A,B,CLR:IN STD_LOGIC; AIN,BIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END shuru; ARCHITECTURE one OF shuru IS SIGNAL CIN,DIN:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(A,CLR) BEGIN IF CLR=1THEN CIN=0000; ELSIF AEVENT AND A=1THEN IF CIN=1001THEN CIN=0000; ELSE CIN=CIN+1; END IF; END IF; AIN=CIN; END PROCESS; PROCESS(B,CLR) BEGIN IF CLR=1THEN DIN=0000; ELSIF BEVENT AND B=1THEN IF DIN=1001THEN DIN=0000; ELSE DIN=DIN+1; END IF; END IF; BIN=DIN; END PROCESS; C=CINDIN; END one; 该模块有两个输入端,分别对应十进制密码高低位,而且输出端分为两部分,一部分接数码管,显示当前输入的密码,另一部分接检测模块,且接入检测模块之前已把所输入密码译为8位二进制代码,便于比较。 (2)密码存储部分的

文档评论(0)

1亿VIP精品文档

相关文档