2011年数字逻辑课程设计报告new_第1页
2011年数字逻辑课程设计报告new_第2页
2011年数字逻辑课程设计报告new_第3页
2011年数字逻辑课程设计报告new_第4页
2011年数字逻辑课程设计报告new_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、石家庄经济学院信息工程学院数字逻辑课程设计报告题 目 数字锁的设计 姓 名 学 号 班 号 指导老师 成 绩 2011年6月目 录1. 功能描述32. 开发工具选择33. 设计方案 34 模块描述45. VHDL实现56. 调试仿真137. 课程设计回顾总结 15参 考 文 献 15附录 15一 功能描述数字锁即电子密码锁,锁内有若干密码,所用密码可由用户自己选定。如果输入代码与锁内密码一致,锁被打开;否则,应封闭开锁电路,并发出警告信号。设计的八位并行数码锁:(1) 开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯LT。否则,

2、系统进行错误状态,并发出警报信号。(2) 开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。(3) 数字锁的报警方式是点亮指示灯LF,并使喇叭鸣叫来报警,直到按下复位开关,警报才停止。此时,数字锁又自动进入等待下一次开锁的状态。二开发工具选择 (1)硬件描述语言电子密码锁的设计采用了功能强大的VHDL语言,它具有很强的行为能力描述,设计方法灵活,可以支持库和模块设计方法。 (2)QuartusII软见开发工具 本设计采用的软见开发工具是美国的Altera公司的QuartusII,它支持多种设计输入方法,包括原理图输入、文本输入。 (3)EDA实验开发系统 本设计采用的E

3、DA实验开发系统,主要用于提供可编程逻辑器件的下载电路及EDA实验开发的外围资源,供硬件验证用。三设计方案 本文所设计的电子密码锁,使用模块设计的思想:开始输入八位密码数字,然后进行选择,若选择开关S=0时,进行改密码并存入寄存器中;S-1时,进行开锁。若开锁成功,灯LT=1,开锁失败,灯LF=1且喇叭LB=1进行鸣笛。流程图如下: 4 模块描述1.模块一:简单选择 输入密码后,进行选择,S=0就改密码,S=1就进行下一步开锁。2. 模块二:寄存器 若进行改密码,则所改密码存入寄存器等待下一次比较;若进行开锁,则输出存在寄存器中原有的密码。3.模块三:比较器 若寄存器中存入的密码与进行开锁比较

4、的密码相等,则开锁成功,指示灯LT=1;否则开锁失败,指示灯LF=1,喇叭LB=1进行鸣笛。4. 模块四:复位开锁成功指示灯LT亮,按下复位键CLK=0,灯灭返回待选择状态。5. 模块五:复位与门开锁失败指示灯LF亮,按下复位CLK=0,灯灭返回。6.模块六:与门开锁失败喇叭LB鸣笛,按下复位CLK=0,停止鸣笛。五:VHDL实现1.模块一:简单选择library ieee;use ieee.std_logic_1164.all; entity add is port(D:in std_logic_vector(7 downto 0); EN:in std_logic; Z0:out std_

5、logic_vector(7 downto 0);Z1:out std_logic_vector(7 downto 0); end ; architecture one of add is begin process(D,EN) begin if EN=0 then Z0=D; Z1 QM=D; end case; end if; Q=M;end process;end; 4. 模块三:比较器library ieee;use ieee.std_logic_1164.all;entity compare is port(S:in std_logic; D1:in std_logic_vector

6、(7 downto 0); D2:in std_logic_vector(7 downto 0); LT:out std_logic; LF:out std_logic; LB:out std_logic);end;architecture ONE of compare is begin process(S,D1) begin if S=0 then LF=0; LB=0; LT=0; elsif( D1=D2) then LT=1; LF=0; LB=0; else LF=1; LB=1; LT=0; end if; end process;end;5. 模块四:复位library ieee

7、; use ieee.std_logic_1164.all; entity return1 is port(a0,a1:in std_logic; z0,z1:out std_logic); end return1; architecture one of return1 is begin z0= a0 and a1; z1= a0 and a1; end; 6. 模块五:复位与门library ieee;use ieee.std_logic_1164.all; entity yu2 is port(a0,a1:in std_logic; Z0:out std_logic); end yu2;

8、 architecture behave of yu2 is begin z0=a0 and a1; end behave; 7. 模块六:与门library ieee;use ieee.std_logic_1164.all; entity yu2 is port(a0,a1:in std_logic; Z0:out std_logic); end yu2; architecture behave of yu2 is begin z0D,EN=temp7,Z0=temp1,Z1=temp2);U2:REG8B port map(S=S,D=temp1,CLK=CLK,Q=temp3); U3:

9、compare port map(S=S,D1=temp3,D2=temp2,LT=temp4,LF=temp5,LB=temp6); U4:return1 port map(a0=CLR,a1=temp4,Z0=LT,Z1=temp7);U5:yu2 port map(a0=CLR,a1=temp5,Z0=LF);U6:yu2 port map(a0=CLR,a1=temp6,Z0=LB);end;六调试仿真:调试成功波形图如下:1.说明:上升沿有效,输入密码为00000000时,S选1进行开锁,开锁成功输出LT=1。2.说明:上升沿有效,输入密码01100000,选择S=0进行修改密码。3.说明:上升沿有效,输入修改后的密码01100000,选择开锁,开锁成功LT=1.4.说明:输入密码00001100进行开锁,00001100不等于01100000,开锁失败LF=1,LB=1。5.说明:开锁成功后进行复位,成功。数据流描述显示图如下:7 课程设计回顾总结:这次的设计密码锁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论