资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.wd.VHDL语言及应用课程设计论文-VHDL平台下密码锁的设计学院:电子信息学院专业:学号:姓名:指导教师:团队成员:完成日期:目录一. 引言-1二. 实验目的-1三. 实验任务与要求-1四. 设计原理及工作流程-24.1 密码锁设计原理-24.2 密码锁系统框图-24.3 密码锁设计提示-2五. 密码锁的顶层设计源程序-3六. 密码锁各功能模块源程序及其仿真分析-56.1 密码设定锁存器源程序及其仿真分析-56.2 密码输入锁存器源程序及其仿真分析-66.3 开锁控制系统源程序及其仿真分析-86.4 对比器源程序及其仿真分析-96.5 LED显示源程序及其仿真分析-116.6 顶层源文件的仿真分析-12七. 密码锁设计源程序的下载调试-137.1 电路构造-137.2 管脚分配-147.3 程序下载调试过程-14八. 实验分析与总结-15九. 组内分工-16十. 参考文献-16一. 引言随着社会物质财富的日益增长和人们生活水平的提高.安全成为现代居民最关心的问题之一。因此人们对锁要求甚高.既要求可靠地防盗.又要使用方便.这也是制锁者长期以来研制的主题。传统的门锁既要备有大量的钥匙.又要担忧钥匙丧失后的麻烦。数字密码锁是二十一世纪制锁业的一次革命.锁的特点是不用钥匙、无锁孔、机械传动、不易损坏、不磨损、不易被破译、可屡次更换密码、换号不换锁、一把锁多个密码.具有防拨、防砸、防撬、防堵等功能。安装门锁时不破坏原门的构造.防止用钥匙开启旋芯式锁具的一切烦恼如丢、落、拆、堵门被反锁等。数字密码锁是利用数字密码来开启的锁具.其重复概率极低.有着很高的安全性;而旋芯式锁具使用不够安全。通过对社会各阶层千余人的调查.百分之百的人对目前身上挂着的串串钥匙无可奈何.都愿意一身轻松没有任何顾虑的出入家门.都愿意用上一种既安全方便又不用钥匙的锁具。因此.数字密码锁产品的市场开展前景极为广阔。而EDA 技术设计电子系统具有用软件的方式设计硬件.设计过程中可用有关软件进展各种仿真.系统可现场编程、在线升级.整个系统可集成在一个芯片上等特点;不但设计周期短、设计成本低.而且将提高产品或设备的性能.缩小产品体积、提高产品的技术含量.提高产品的附加值。可见.用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁.优于其他设计方法,使设计过程到达高度自动化。本设计的各个模块由相应的VHDL程序具体实现.并在Quartus9.0环境下进展了整体电路的模拟仿真.最终实现“密码锁设计的要求。二. 实验目的1. 掌握VHDL语言的使用.学会用VHDL语言来编程解决实际问题;2. 学会使用EDA开发软件设计小型综合电路.掌握仿真的技巧;3. 学会应用开发系统实现硬件电路.检验电路的功能;4. 设计一个八位二进制密码锁.实现所要求的功能。三. 实验任务与要求1、安锁状态。 按下开关键SETUP.密码设置灯亮时.方可进展密码设置操作。设置初始密码09或二进制8位数.必要时可以更换。再按SETUP键.密码有效。2、 开锁过程。(1) 、按启动键START启动开锁程序.此时系统内部应处于初始状态。(2) 、依次键入09或二进制8位数。(3) 、按开门键OPEN准备开门。假设按上述程序执行且拨号正确.那么开门指示灯A亮.假设按错密码或未按上述程序执行.那么按动开门键OPEN后.报警装置鸣叫、灯B亮。4、开锁处理事务完毕后.应将门关上.按SETUP键使系统重新进入安锁状态。假设在报警状态.按SETUP键或START键应不起作用.应另用一按键RESET才能使系统进入安锁状态。3、 使用者如按错号码可在按OPEN键之前.按START键重新启动开锁程序。4、 设计符合上述功能的密码锁.并用层次化方法设计该电路。5、 用功能仿真方法验证.通过观察有关波形确认电路设计是否正确。6、 完成电路设计后.通过在实验系统中下载.验证设计的正确性。四. 设计原理及工作流程4.1 密码锁设计原理如下示框图.密码锁系统主要由开锁控制.设置密码的锁存器.输入密码的锁存器.对比器.LED显示和报警系统几个局部组成。每一个模块功能的实现都是通过VHDL语言实现的.并通过顶层电路与例化语句将功能模块整合起来.之后对整个系统进展模拟仿真和硬件实现。4.2 密码锁系统框图4.3 密码锁设计提示(1) 锁存器:用于实现设定密码和输入密码的锁存。(2) 对比器:用于将设定密码与输入密码相对比。其中.CLK为外部输入的时钟信号。假设输入密码正确.那么A灯亮;否那么B灯亮.同时对比器输出与CLK一样的信号.驱动蜂鸣器发出报警声。(3) 开锁控制:当反响信号下降沿来到时.开锁控制输出低电平.用于在输入错误密码后制止再次安锁;当RESET脚为高电平时.开锁控制输出高电平.翻开与门.这时锁存器1使能端的变化受控于SETUP键.重新进入安锁状态。(4) LED显示:用于设定密码或输入密码的显示。此项设计的目的是为了在下载演示时.能清楚地看到设置和输入的密码值。五. 密码锁的顶层设计源程序调用各模块形成元件例化语句:LIBRARY IEEE;USE IEEE.std_logic_1164.All;ENTITY topfile ISPORT(SETUP,RESET,START,OPN,CLK:IN STD_LOGIC;setpassword:IN STD_LOGIC_VECTOR(7 DOWNTO 0);inputpassword:IN STD_LOGIC_VECTOR(7 DOWNTO 0);led_A,led_B,warner:OUT STD_LOGIC;DOUT11,DOUT12,DOUT21,DOUT22:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY topfile;ARCHITECTURE brf OF topfile ISCOMPONENT lockcontrolPORT (RESET,FEEDBACK:IN STD_LOGIC;Y:OUT STD_LOGIC);END COMPONENT;COMPONENT codesetPORT (ENABLE:IN STD_LOGIC;PASEWORD:IN STD_LOGIC_VECTOR(7 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT codeinputPORT (ENABLE:IN STD_LOGIC;PASEWORD:IN STD_LOGIC_VECTOR(7 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT comparatorPORT (OPN,CLK,RESET:IN STD_LOGIC;rightpassword,password:IN STD_LOGIC_VECTOR(7 DOWNTO 0);A,B,warner:OUT STD_LOGIC;D11,D12,D21,D22:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT AND2PORT (a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;COMPONENT NOR2PORT (e,d:IN STD_LOGIC;f:OUT STD_LOGIC);END COMPONENT;COMPONENT LEDPORT (DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL net1,net2:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL net8,net9,net10,net11:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL net3,net4,net5,net6,net7:STD_LOGIC;BEGINU0:lockcontrol PORT MAP(RESET=RESET,feedback=net3,y=net4);U1:AND2 PORT MAP(a=net3,b=START,c=net5);U2:AND2 PORT MAP(a=SETUP,b=net4,c=net6);U3:CODEINPUT PORT MAP(PASEWORD=inputpassword,ENABLE=net5,Q=net1);U4:codeset PORT MAP(PASEWORD=setpassword,ENABLE=net6,Q=net2);U5:comparator PORT MAP(rightpassword=net2,passw
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号