ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:623.78KB ,
资源ID:5063019      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5063019.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA综合课程设计电子密码锁的设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA综合课程设计电子密码锁的设计.docx

1、EDA综合课程设计电子密码锁的设计SOPC/EDA综合课程设计报告设计题目: 电子密码锁的设计 设 计 者: 学 号: 班 级: 指导老师: 完成时间: 设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)目录目录 1第一章 设计目的及要求 21.1 设计要求 2第二章 原理与模块介绍 42.1 原理介绍 42.2 模块介绍 4第三章 模块设计 53.1 输入模块 53.1.1 输入模块程序 53.2 控制模块 83.2.1 控制模块程序 83.3 显示模块 113.3.1显示模块程序 113.4 顶层模块 12第四章 模块元件及其仿真 164.1 输入模块元件及其

2、仿真 164.1.1 输入模块元件 164.1.2 输入模块仿真 16图4.1.2 174.2 控制模块元件及其仿真 174.2.1 控制模块元件 17图4.2.1 174.2.2 控制模块仿真 18图4.2.2 184.3 显示模块元件及其仿真 184.3.1 显示模块元件 18图4.3.1 184.3.2 显示模块仿真 19图4.3.2 19第五章 总程序设计 205.1整体组装设计原理图 205.1 全局模块连接图 205.2 整体组合元件 20图5.2 整体模块 205.3 顶层模块仿真 21第六章 结论和问题讨论 226.1 完成实验程度 226.2 遇到的问题。 226.3 存在的

3、不足和改进思路 226.4 心得体会 22参考文献 24第一章 设计目的及要求1.1 设计要求设计一个具有较高安全性和较低成本的通用电子密码锁,其具体功能要求如下:(1) 数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。(2) 数码清除:按下此键可清除前面所有的输入值,清除成为“0000”。(3) 密码更改:按下此键时会将目前的数字设定成新的密码。(4) 激活电锁:按下此键可将密码锁上锁。(5) 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。图1.1 设计方框图第二章 原理与模块介绍2.1 原理介绍 根据设计

4、要求,可以确定所需要的功能,可以分为三个方面,一是输入方面,二是控制方面,三是显示方面的需求。所以初步决定利用三个模块完成相关功能。同时,模块化的编程方式利于后期调试。2.2 模块介绍输入模块:根据设计要求,使用到时序产生电路,弹跳消除电路,及键盘扫描电路来共同组成。控制模块:包括按键数据的缓冲存储,密码的清除、更改、存储、激活电锁电路(产生寄存器清除信号),密码核对(数值比较),解锁电路(开/关门锁)等几个功能。显示模块:主要是实现七段数码管显示电路,将待显示数据的BCD码转换成数码器的七段显示驱动编码。第三章 模块设计3.1 输入模块1.时序产生电路 本时序产生电路中使用了三种不同频率的工

5、作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、键盘扫描信号。2.键盘扫描电路扫描电路的作用是用来提供键盘扫描信号(表4.1中的KY3KY0)的,扫描信号变化的顺序依次为11101101101101111110.依序地周而复始。 3.1.1 输入模块程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SR ISPORT(CLK_1K: IN STD_LOGIC; KEY_IN: IN STD_LOG

6、IC_VECTOR(2 DOWNTO 0); DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_M: OUT STD_LOGIC; DATA_B: OUT STD_LOGIC; CQD: OUT STD_LOGIC; KSEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CSR: OUT STD_LOGIC_VECTOR(1 DOWNTO 0);END ENTITY SR;ARCHITECTURE ART OF SR IS SIGNAL C_

7、QD: STD_LOGIC; SIGNAL C_SR: STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL N,F: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL FN,FF: STD_LOGIC; SIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL Q: STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN DATA_N=N; DATA_F=F; DATA_M=FN; DATA_B=FF; CQD=C_

8、QD; CSR=C_SR; KSEL=SEL; C(0)=KEY_IN(0); C(1)=KEY_IN(1); C(2)=KEY_IN(2);COUNTIER:BLOCK IS BEGIN PROCESS(CLK_1K) IS BEGIN IF(CLK_1KEVENT AND CLK_1K=1)THEN Q=Q+1; END IF; C_QD=Q(3); C_SR=Q(5 DOWNTO 4); END PROCESS; SEL=1110WHEN C_SR=0 ELSE 1101WHEN C_SR=1 ELSE 1011WHEN C_SR=2 ELSE 0111WHEN C_SR=3 ELSE

9、1111;END BLOCK COUNTIER;KEY_DECODER: BLOCK SIGNAL Z : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS(C_QD) BEGIN ZNNNNNNNNNNNFFF=1000; END CASE; END IF; END PROCESS; FN=NOT(N(3) AND N(2) AND N(1) AND N(0); FF=F(2) OR F(0); END BLOCK KEY_DECODER; END ARCHITECTURE;3.2 控制模块密码锁的控制模块是其整个设计的核心部分,依靠其进行密码锁的基本功

10、能。如,设置密码,重置密码,开锁,上锁等等。1数字按键输入的响应控制(1) 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。(2) 假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。(3) 由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。2功能按键输入的响应控制 (1) 清除键:清除所有的输入数字,即做归零动作。(2) 激活电锁键:按下此键时可将密码锁的门上锁。(上锁前必须预先设定一个四位的数

11、字密码。)(3) 解除电锁键:按下此键会检查输入的密码是否正确,若密码正确无误则开门。 3.2.1 控制模块程序密码锁控制电路的VHDL源程序-CTRL.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRL ISPORT(DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_F: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_M: IN STD_LO

12、GIC; DATA_B: IN STD_LOGIC; MIMAIN: BUFFER STD_LOGIC; SETIN: BUFFER STD_LOGIC; OLD: BUFFER STD_LOGIC; CQD: IN STD_LOGIC; ENLOCK: OUT STD_LOGIC; DATA_BCD: OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY CTRL;ARCHITECTURE ART OF CTRL IS SIGNAL ACC,REG:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(CQD,DATA_

13、M) IS BEGIN IF CQDEVENT AND CQD=0 THEN IF DATA_M=1 THEN IF(DATA_F=0100)THEN ACC=1111111111111111; MIMAIN=0;SETIN=0;OLDENLOCKMIMAIN=1; ACCSETIN=1; ACC=1111111111111111; OLDNULL; END CASE; ELSIF(MIMAIN=1)THEN IF ACC=REG THEN ENLOCK=0; MIMAIN=0; ELSE MIMAIN=0; END IF; ELSIF(SETIN=1)THEN IF(OLD=1)THEN I

14、F(ACC=REG)THEN OLD=0; ELSE SETIN=0; OLD=0; END IF; ELSE IF(ACC1001100110011001)THEN REG=ACC; SETIN=0; END IF; END IF; END IF; END IF; ELSIF DATA_B=1 THEN ACCDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7 DATA_BCD(3 DOWNTO 0), DOUT7 = SEG_SM1);b2v_inst2 : srPORT MAP(CLK_1K = CLK, KEY_IN = KE

15、Y, DATA_M = SYNTHESIZED_WIRE_0, DATA_B = SYNTHESIZED_WIRE_1, CQD = SYNTHESIZED_WIRE_2, CSR = CRS, DATA_F = SYNTHESIZED_WIRE_3, DATA_N = SYNTHESIZED_WIRE_4, KSEL = SEL);b2v_inst3 : ctrlPORT MAP(DATA_M = SYNTHESIZED_WIRE_0, DATA_B = SYNTHESIZED_WIRE_1, CQD = SYNTHESIZED_WIRE_2, DATA_F = SYNTHESIZED_WI

16、RE_3, DATA_N = SYNTHESIZED_WIRE_4, MIMAIN = MIMAIN, SETIN = SETIN, OLD = OLD, ENLOCK = ENLOCK, DATA_BCD = DATA_BCD);b2v_inst4 : ymPORT MAP(DATA_BCD = DATA_BCD(15 DOWNTO 12), DOUT7 = SEG_SM4);b2v_inst5 : ymPORT MAP(DATA_BCD = DATA_BCD(11 DOWNTO 8), DOUT7 = SEG_SM3);b2v_inst6 : ymPORT MAP(DATA_BCD = D

17、ATA_BCD(7 DOWNTO 4), DOUT7 = SEG_SM2);END bdf_type;第四章 模块元件及其仿真4.1 输入模块元件及其仿真4.1.1 输入模块元件图4.1.14.1.2 输入模块仿真图4.1.2分析:图4.2 CLK是在下降沿有效,当KRY有信号输入时,在下降沿有五个信号输出作为下一个元件的输入信号,其中有两个将直接输出。4.2 控制模块元件及其仿真 4.2.1 控制模块元件图4.2.14.2.2 控制模块仿真图4.2.2分析:以输入模块的输出信号作为输入信号实现控制功能。4.3 显示模块元件及其仿真 4.3.1 显示模块元件图4.3.14.3.2 显示模块仿真

18、图4.3.2分析:输入“0110”时,输出1111101,即数码管显示数字6。当输入“1010”(即大于9)时,数码管无显示。模块工作正常。第五章 总程序设计5.1整体组装设计原理图5.1 全局模块连接图5.2 整体组合元件图5.2 整体模块5.3 顶层模块仿真仿真说明:此组合模块基本实现了密码锁的设计要求,具有数码输入、数码显示、数码存储、密码锁定、密码重设和密码清除的功能。基本达到了最初要达到的要求。第六章 结论和问题讨论6.1 完成实验程度本次试验基本达到预期目标,完成了密码锁的基本功能。6.2 遇到的问题。 本次课程设计,遇到了很多问题,首先是自己对软件方面的不熟悉,造成了很多的误操作

19、,修改这些误操作引起的错误耗费了大量时间和精力。其次,基础知识掌握的不够牢靠,很多好的设想,没办法在自己手中一一加入本次课程设计,颇为遗憾。在往后,当对这样的课程设计了解更深入以后,我会重新再做一次,将自己的设想一一加入,不再以只是为了做一个简单的密码锁为目标,要做一个真正具有使用价值的密码锁。最后印象最深的就是关于开发系统版本不同所造成的问题了,由于本人经常往返于不同计算机,各台计算机的Quarters版本不尽相同,有的时候无法运行已经通过编译的程序。6.3 存在的不足和改进思路 本次课程设计做的锁,有几点不是很满意。一是没有设计报警系统,譬如输错三次自己报警。或者语音提示,提示错误,或者密码设置相关的语音等等。用扬声器,计数器等等经过调试就可以实现。6.4 心得体会经过这两个星期系统的学习,初步了解了EDA工程设计的步骤,初步了解了QuartusII软件的应用。经过这次课程设计,我充分的了解到了自主学习的重要性,进一步加深了对于所学知识对于在实际工作中的重要作用。实际动手操作起来,

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

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