2022年EDA电子密码锁设计报 .pdf

上传人:Che****ry 文档编号:27263785 上传时间:2022-07-23 格式:PDF 页数:17 大小:402.48KB
返回 下载 相关 举报
2022年EDA电子密码锁设计报 .pdf_第1页
第1页 / 共17页
2022年EDA电子密码锁设计报 .pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《2022年EDA电子密码锁设计报 .pdf》由会员分享,可在线阅读,更多相关《2022年EDA电子密码锁设计报 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录摘要: . - 1 - 第一章:系统设计总述 . - 2 - 1.1 设计要求 . - 2 - 1.2 设计方案 . - 2 - 第二章:总体程序设计 . - 2 - 2.1 整体组装设计原理图. - 2 - 2.2 顶层模块程序调用 . - 3 - 2.2.1 程序部分 . - 3 - 2.2.2 整体原理文件 . - 5 - 第三章:单元模块程序设计 . - 5 - 3.1 输入模块 . - 5 - 3.1.1 输入模块程序 . - 5 - 3.1.2 输入模块元件 . - 6 - 3.1.3 输入模块仿真 . - 7 - 3.2 电子密码锁系统控制模块 . - 7 - 3.2.1 控

2、制模块程序 . - 8 - 3.2.2 控制模块元件 . - 10 - 3.2.3 控制模块仿真 . - 10 - 3.3 显示模块 . - 11 - 3.3.1 显示模块元件 . - 13 - 3.3.2 显示模块仿真 . - 14 - 第五章:收获与体验 . - 14 - 参考文献 . - 16 - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 1 - 摘要:随着人们生活水

3、平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。电子电路设计常用的方法是试验设计法,一般都包括设计方案提出、 方案验证、方案修改 3 个阶段。传统的试验设计法通常采用手工搭接实验电路来完成,往往需要经过试验和修改的反复过程,直到设计出正确的电路。随着电子和计算机技术的发展,产生了在计算机平台上的EDA(电子设计自动化 )技术,这种 技术除了具有强大的设计功能外,还具有测试、仿真分析、管理等功能。在EAD 桌面设计环境 下用计算机来完成电路的系统综合设计和仿真。名师资料总结

4、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 设计者:朱坤- 2 - 1 统设计总述1.1 设计要求1、密码输入:每按下一个键,要求在数码管上显示,并依次左移;2、密码删除:每删除一位, 数码管上的显示右移一位, 在左边空出的位补充零 ; 3、密码设置 : 当四位密码输入完毕 , 按下设置功能键进行设置 . 4、密码检验 : 输入密码 , 按下检验键 . 1.2 设计方案在电子密码锁的设计中,我首先考虑的方法:是用密码输入删除控制模块、

5、动态扫描模块、寄存器模块、比较模块、触发模块实现的。在密码输入删除控制模块中,每输入一位数,数码管左移一位,设置删除信号back,每按一次,删除最后输入的数字,密码在数码管显示右移一位,左边空处0。设置密码确认信号set,但四位密码输入完毕后,按下set,则密码被送到寄存器锁存,比较器模块得到数据A,同时密码显示电路清零。设置密码锁状态显示信号lock。Lock=0 表示锁未开, lock=1 表示锁开,设置关锁信号 close,当密码送到寄存器模块锁存后,按下close,则 lock=0. 设置密码检验信号check ,在 lock=0 下从数据开关输入四位开锁数据,按下check,则开锁数

6、码送寄存器锁存,数据比较模块得到数据B,若 A=B,则触发器被置” 1” . 设计成三个模块:开关编码模块、控制模块、动态显示模块设计的总结构图如图1.1 图 1.1 设计总结构图2 总体程序设计 2.1 整体组装设计原理图系统的整体组装设计有密码按键输入模块、密码控制模块、 密码显示模块三部分组成,系统整体组装原理图如图2.1 所示。开关编码输入模块输入、删除、设置、检验控制模块动态显示模块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - -

7、 - - - 武汉理工大学微机原理与接口技术课程设计说明书- 3 - 图 2.1 系统整体组装原理图2.2 顶层模块程序调用2.2.1 程序部分LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY work; ENTITY eleclock IS PORT ( CLK2_1: IN STD_LOGIC; CLK1_1: IN STD_LOGIC; KEY_1: IN STD_LOGIC_VECTOR(9 DOWNTO 0); SET_1: IN STD_LOGIC; CHECK_1: IN STD_LOGIC; CLOSE_1: IN STD_L

8、OGIC; BACK_1: IN STD_LOGIC; LED_1 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SN_1: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); LOCK_1: OUT STD_LOGIC ); END eleclock; ARCHITECTURE bdf_type OF eleclock IS COMPONENT leds PORT( DIN: IN STD_LOGIC_VECTOR(15 DOWNTO 0); CLK: IN STD_LOGIC; CON: OUT STD_LOGIC_VECTOR(1 DOWNTO

9、0); LED7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SN : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) ); END COMPONENT; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 设计者:朱坤- 4 - COMPONENT art PORT(CLK: IN STD_LOGIC; SET: IN STD_LOGIC; CHECK: IN STD_LOGIC; C

10、LOSE: IN STD_LOGIC; BACK: IN STD_LOGIC; DN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); SOUT: OUT STD_LOGIC_VECTOR(15 DOWNTO 0); LOCK : OUT STD_LOGIC ); END COMPONENT; COMPONENT tra PORT(N: IN STD_LOGIC_VECTOR(9 DOWNTO 0); SOUT: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; SIGNAL SYNTHESIZED_WIRE_3 : STD

11、_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL SYNTHESIZED_WIRE_4 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN b2v_inst1 : leds PORT MAP(DIN = SYNTHESIZED_WIRE_3(15 DOWNTO 0), CLK = CLK2_1, LED7 = LED_1(6 DOWNTO 0), SN = SN_1(2 DOWNTO 0) ); b2v_inst2 : art PORT MAP(SET = SET_1, CHECK = CHECK_1, CLOSE = CLOSE_1, BACK =

12、 BACK_1, CLK = CLK1_1, DN = SYNTHESIZED_WIRE_4, SOUT = SYNTHESIZED_WIRE_3(15 DOWNTO 0), LOCK = LOCK_1 ); b2v_inst3 : tra PORT MAP(N =KEY_1(9 DOWNTO 0), SOUT = SYNTHESIZED_WIRE_4 ); END bdf_type; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - -

13、- - 武汉理工大学微机原理与接口技术课程设计说明书- 5 - 2.2.2 顶层模块原理文件顶层模块原理文件如图2.2 图 2.2 顶层模块原理图3 单元模块程序设计3.1 按键输入模块按键输入与对应的编码输出之间的关系如表3-1 所示表 3-1 按键编码按键输入编码输出对应的数字0000000001 0001 1 0000000010 0010 2 0000000100 0011 3 0000001000 0100 4 0000010000 0101 5 0000100000 0110 6 0001000000 0111 7 0010000000 1000 8 0100000000 1001

14、 9 1000000000 0000 0 3.1.1 输入模块程序library ieee; -定义实体名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 设计者:朱坤- 6 - use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity tra is port( n:in std_logic_vector(9 downto 0); -定义按键输入端口s

15、out:out std_logic_vector(3 downto 0); -定义编码输出端口end tra; architecture at of tra is -定义结构体signal temp:std_logic_vector(3 downto 0); begin process(n) begin case n is -输入键编码when 0000000001=temptemptemptemptemptemptemptemptemptemptemp=1111; end case; end process; sout=temp; end at;3.1.2 输入模块元件名师资料总结 - -

16、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 7 - 图 3.1 电子密码锁键盘输入3.1.3 输入模块仿真图 3.2 键盘输入仿真3.2 电子密码锁系统控制模块密码锁的控制电路是整个电路的控制中心。设置 set 为密码设置端口, check 为密码检验端口, close 为关锁端口, back为删除密码端口, clk 时钟输入端口, dn3.0为 3 位数字输入端口, sout15.0为 16 位

17、输出端口, lock 密码锁状态显示端口。在此电路中每输一位数,密码在数码管上左移一位。设置删除密码 back,每按下一次 back,删除最后输入的数字,左边空处补0。设置密码确认信号 set ,当四位密码输入完毕,按下set ,设置的密码被存储。设置密码锁状态信号 lock, lock=0表示锁未开, lock=1 表示锁开。设置关锁信号 close ,按下 close ,则锁关闭。设置密码检验信号 check, 在lock=0 下从数据开关书去四位开锁数字,按下check,若数据等于设置的密码或万能密码,则lock=1 。模块程序流程图如图 3.3 名师资料总结 - - -精品资料欢迎下载

18、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 设计者:朱坤- 8 - 图 3.3 控制模块程序流程图3.2.1控制模块程序密码锁控制电路的VHDL 源程序library ieee; -定义实体use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity art is port( set,check,close,back,clk:in std_logic; -set 密码设置信号, chec

19、k密码检验信号, close 关锁信号 back密码删除信号, clk 时钟信号dn:in std_logic_vector(3 downto 0); 开始输入数据数码管向左移删除右移Back=1Set= 1Close=1校验是否正确是否有判断按键输入check= 1设置密码有关锁,显示为继续输入无结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 9 - sout:out st

20、d_logic_vector(15 downto 0); -16 位输入信号lock:out std_logic); -设置密码锁状态信号end art; architecture at of art is -定义结构体signal ch:std_logic; begin process(clk,dn) -定义进程变量variable lock_1:std_logic; variable acc:std_logic_vector(15 downto 0); variable temp1,temp2,temp3,temp4:std_logic_vector(3 downto 0); begin

21、ch=not(dn(0) and dn(1) and dn(2) and dn(3); -设置按键输入上升沿lock_1:=0; if clkevent and clk=1 then if ch=1 then -密码左移显示temp4:=temp3; temp3:=temp2; temp2:=temp1; temp1:=dn; end if; if back=1 then -密码删除右移显示temp1:=temp2; temp2:=temp3; temp3:=temp4; temp4:=0000; lock_1:=0; end if; if set=1 then -密码设置acc:=temp4

22、&temp3&temp2&temp1; lock_1:=0; end if; if check=1 then -密码校验if acc=temp4&temp3&temp2&temp1 then lock_1:=1; elsif temp4=1000 and temp3=1000 and temp2=1000 and temp1=1000 then lock_1:=1; end if; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - -

23、 - 设计者:朱坤- 10 - end if; if close =1 then lock_1:=0; -密码锁的关闭temp1:=0000; temp2:=0000; temp3:=0000; temp4:=0000; end if; end if; sout=temp4&temp3&temp2&temp1; lock=lock_1; end process; end at; 3.2.2 控制模块元件控制原理封装元件如(图3.3)所示。图 3.3 (电子密码锁控制)3.2.3 控制模块仿真名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

24、 - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 11 - 图 3.4 (控制模块仿真)3.3 显示模块密码显示电路主要将显示数据的BCD 码转换成相对应的编码。 选用七段数码管显示电路将待显示数据的BCD 码转换成数码器的七段显示驱动编码。 七段码显示器外形与笔划如图 3.5:图 3.5 七段码显示器外形与笔划字形与代码的对应关系如表3-2:表3-2 BCD七段译码器真值表输入输出字形D C B A a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0

25、0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 1 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 1 0 1 1 9 a b c g d f e 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

26、- - - 第 12 页,共 17 页 - - - - - - - - - 设计者:朱坤- 12 - 图 11数码管动态显示流程图library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity leds is -定义实体port(din:in std_logic_vector(15 downto 0); -16 输入信号clk:in std_logic; -时钟信号con: buffer std_logic_vector(1 downto 0); led7:out std_logic_vect

27、or(6 downto 0); -七段数码管输入信号sn:out std_logic_vector(2 downto 0); -数码管七段译码信号end leds; architecture he of leds is -定义结构体signal db:std_logic_vector(3 downto 0); begin process(clk,din) begin if clkevent and clk=1 then con=con+1; -数码管的片选计数end if; if(con=00) then -片选为 0, 03位显示db=din(3 downto 0); sn=000; els

28、if(con=01) then -片选为 1, 47 位显示db=din(7 downto 4); sn=001; 开始计数片选为0, 03 位片选为 1,47位显示片选为 2,811位显结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 13 - elsif(con=10) then -片选为 2, 811 位显示db=din(11 downto 8); sn=010; el

29、sif(con=11) then -片选为 3, 1215位显示db=din(15 downto 12); snled7led7led7led7led7led7led7led7led7led7led7=0000000; end case; end process; end he; 3.3.1 显示模块元件图 3.6 电子密码锁显示模块输出显示电路通过一个二进制计数器对数码管进行片选,片选为0,输入的第 03位在第一个数码关上显示;片选为1输入的第 47位在第二个数码关上显示,片选为2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

30、 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 设计者:朱坤- 14 - 输入的第 811位在第三个数码关上显示,片选为3输入的第 1215位在第四个数码关上显示,进而实现数码管的动态显示。3.3.2 显示模块仿真图 3.7 电子密码锁显示模块仿真第五章:收获与体验名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 武汉理工大学微机原理与接口技术课程设计说明书- 15

31、- 这次 EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难 , 想要的结果不能在波形上得到正确的显示: 在设定输入的时钟信号后,数字秒表

32、开始计数,但是始终看不到秒和小时的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在15秒左右比较合适。另外,Endtime 的值需要设置的长一点:10us 左右,这样就可以观察到完整的仿真结果。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。通过这次课程设计使我

33、懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说, 这次设计的电子密码锁还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值, 达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力

34、,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 设计者:朱坤- 16 - 参考文献1 SOPC/EDA 综合课程设计指导书,自编2 谭会生,张昌凡 .EDA 技术及应用(第二版) . 西安:西安电子科技大学出版社,2001 3 徐光军,徐光辉 .CPLD/FPGA 的开发与应用 . 北京:电子工业出版社, 2002 4 李国丽,朱维勇 . EDA 与数字系统设计 . 北京:机械工业出版社, 2004 5 第三届全国大学生电子设计竞赛组委会. 全国大学生电子设计竞赛获奖作品选编(1997). 北京:北京理工大学出版社,1999 6 潘松,黄继业 . EDA 技术实用教程 . 北京:科学出版社, 2002 7 8 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁