基于某VHDL语言地8位数字密码锁设计

上传人:沈*** 文档编号:83447222 上传时间:2022-05-01 格式:DOC 页数:18 大小:1.27MB
返回 下载 相关 举报
基于某VHDL语言地8位数字密码锁设计_第1页
第1页 / 共18页
基于某VHDL语言地8位数字密码锁设计_第2页
第2页 / 共18页
基于某VHDL语言地8位数字密码锁设计_第3页
第3页 / 共18页
点击查看更多>>
资源描述
word2014级学生EDA课程设计 EDA课程设计报告书课题名称基于VHDL语言的8位数字密码锁设计 姓 名学 号院、系、部专 业指导教师 2016年6月20日一、设计任务与要求:设计任务:设计一个具有能够修改、控制、扫描、显示密码的密码锁电路。要 求: 1: 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。2: 数码验证:开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。3 :错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。4 :更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。5: 密码去除:按下REST可去除前面的输入值,去除为“888。指导教师签名: 2016年 月 日 二、指导教师评语:指导教师签名: 2016年 月 日 三、成绩指导教师签名:2016年 月 日 基于VHDL语言的8位数字密码锁设计1 设计目的1熟悉集成电路的引脚安排。2掌握各芯片的逻辑功能与使用方法。3了解面包板结构与其接线方法。4了解电子密码锁的组成与工作原理。5熟悉电子密码锁的设计与制作。2设计方案电子密码锁,主要由三局部组成:密码输入电路、密码锁控制电路和密码锁显示电路。作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。拨码与按键和触摸式4*4键盘相比简单方便而且本钱低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图2.1所示。输入模块存放器与清零信号发生电路数值比拟器拨码与按键单脉冲控制输入译码LED灯扫描电路三选一选择器开/关锁电路控制模块显示模块BCD七段译码显示电路图2.1电子密码锁系统总体框图3功能模块3.1 输入模块功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888作为初始密码。输入模块与仿真图形单脉冲控制如图3.1如如下图图3.1上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。四位串行输入并行输出存放器如如下图3.2图3.2上图为4为串行输入并行输出存放器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位。程序的输入在文本区内输入程序,程序如下: 单脉冲信号控制LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY puls IS PORT (PUL,M:IN STD_LOGIC; Q:OUT STD_LOGIC); END puls;ARCHITECTURE BEHAVE OF puls IS SIGNAL TEMP:STD_LOGIC; BEGIN PROCESS(M) BEGIN IF MEVENT AND M=1 THEN IF PUL=1 THEN TEMP=1; ELSE TEMP=0; END IF; END IF; END PROCESS;Q0);ELSEif clkevent and clk=1 thenq(3):=q(2);q(2):=q(1);q(1):=q(0);q(0):=din;END IF;END IF;qoutq=0000;q1q=0001;q1q=0010;q1q=0011;q1q=0100;q1q=0101;q1q=0110;q1q=0111;q1q=1000;q1q=1001;q1q=0000;q1=0000;END CASE;END IF; END PROCESS;END ARCHITECTURE ART;总功能控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Eleclock ISPORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK:IN STD_LOGIC;CHANGE,RT: IN STD_LOGIC;DB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC);END ENTITY Eleclock;ARCHITECTURE ART OF Eleclock ISPONENT Key ISPORT(CLK:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END PONENT Key;SIGNAL ENABLE,C0,C1,S,ENABLE1:STD_LOGIC;SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINENABLE=CHANGE AND(NOT RT);ENABLE1CLK,DATA=NB,Q=DB,Q1=D_B);U1:KEY PORT MAP(CLK=CLK,DATA=NS,Q=DS,Q1=D_S);U2:KEY PORT MAP(CLK=CLK,DATA=NG,Q=DG,Q1=D_G);PROCESS(CLK,D_B,D_S,D_G) ISBEGINIF CLKEVENT AND CLK=1 THENIF ENABLE=1 THENTB=D_B;TS=D_S;TG=D_G;END IF;IF ENABLE1=1 THENIF ( TB=D_B AND TS=D_S AND TG=D_G) THENLOCKOPEN=1;LOCKCLOSE=0; ELSELOCKOPEN=0;LOCKCLOSE=1;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE ART;4选1选择器与扫描器LIBRARY IEEE;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sel ISPORT(QIN1,QIN2,QIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK,RST:IN STD_LOGIC;QOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END sel;ARCHITECTURE ART OF sel ISBEGINPROCESS(CLK,RST)VARIABLE T:INTEGER RANGE 0 TO 2;BEGINIF (RST=0) THENT:=0;sel =00000000;QOUTQOUT=QIN1;sel QOUT=QIN2;selQOUT=QIN3;selQOUT=0000;sel=11111111;END CASE;END IF;END PROCESS;END ARCHITECTURE ART;3.3 显示模块功能介绍将密码用BCD七段数码管显示显示模块与仿真波形图3.6,如如下图图3.6上图将BCD码转化到七段译码电路上表3-2 BCD-七段数码管的真值表输入 输出D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7 字形0 0 0 0 1 1 1 1 1 1 0 00 0 0 1 0 1 1 0 0 0 0 10 0 1 0 1 1 0 1 1 0 1 20 0 1 1 0 1 1 1 0 0 1 30 1 0 0 0 1 1 0 0 1 1 40 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 0 1 1 1 1 1 60 1 1 1 1 1 1 0 0 0 0 71 0 0 0 1 1 1 1 1 1 1 81 0 0 1 1 1 1 0 0 1 1 9表3-2在文本区内输入程序,程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Seg7 ISPORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END Seg7;ARCHITECTURE ACT OF Seg7 ISBEGINLED=1111110WHEN num=0000ELSE 0110000WHEN num =0001ELSE1101101WHEN num =0010ELSE1111001WHEN num =0011ELSE0110011WHEN num =0100ELSE1011011WHEN num =0101ELSE1011111WHEN num =0110ELSE1110000WHEN num =0111ELSE1111111WHEN num =1000ELSE1111011WHEN num =1001ELSE1110111WHEN num =1010ELSE0011111WHEN num =1011ELSE1001110WHEN num =1100ELSE0111101WHEN num =1101ELSE1001111WHEN num =1110ELSE1000111WHEN num =1111;END ACT;4 总体设计电路图功能介绍将各个模块连接在一起实现。顶层文件如下:波形仿真如下:图41 当change为高电平,rt为低电平时,输入“952验证,当再次输入“952时锁打开,设计正确。5设计体会与建议 5.1设计体会通过这次设计,使我对EDA产生了浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。在编写蜂鸣器模块时,我遇到了很大的困难,一直被定时问题所困扰,解决了这个问题时,我特别的高兴。写控制文件的程序时,也遇到了不少问题,特别是各元件之间的连接,以与信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了。再对控制模块仿真时,虽然语法正确,但连最根本的输入输出都进不去,我们弄了很多遍都不行,后来在教师的指导下我们才解决了这个问题。另一个问题就是三个时钟信号的配合,其中显示模块和控制模块的信号频率要高。其次,在进展引脚连接时一定要细心,有些引脚不能使用,我因为没注意使得开始时一直不能得到正确的结果。这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克制缺点。 总的来说,这次设计的密码锁还是比拟成功的,在设计中遇到了很多问题,最后在同学和教师的辛勤的指导下外加上自己的努力,终于都得到了解决,因此很有成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。5.2对设计的建议我希望教师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以与如何检测电路的方法,还有关于检测芯片的方法。这样会有助于我们进一步的进入状态,完成设计。参考文献1 阎石主编.数字电子技术根底(第五版).高等教等育.,20072 李国丽 朱维勇 何剑春.EDA与数字系统设计第2版.机械工业.,20023 宋武烈,等.EDA技术实用教程. 某某科学技术 ,20064谭会生,等 . EDA技术综合应用实例与分析.某某电子科技 ,200318 / 18
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!