数字电子密码锁设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字电子密码锁课程设计报告 一、设计要求: 设计一个保险箱用的 4位数字代码锁,该锁有规定的地址代码 A、 B、C、D4个输入端和一个开箱钥匙孔信号 E的输入端, 锁的密码由实验者自编。 当用钥匙开箱时, 如果输入的 4个代码正确, 保险箱被打开;否则,电路将发出警报(可用发光二极管亮表示)。 二、设计内容: 1、设计分析 对输入的地址 A、B、C、D的值与对应的保险箱的 4位密码进行比较,如果输入值与密码相等, 则输出 “Y=1”,此时密码锁打开,否则输出 “Y=0”。且输出 “Y=0”的时候电路发生警报,即二极管发光。对输入与密码 的比较有两种方式,可以直接用异或门进行比较,也可以用数值比较器进行比较,开箱钥匙信号 E作 为使能端,当 E=1时,有正确的输出, E=0时,电路无有效输出。 2、设计原理图及芯片 使用数值比较器 CT74LS85芯片实现 a)芯片资料: CT74LS85,位 4位二进制比较器,其工作原理为:两个输入二进制数和,进行比较时从 高位到低位逐一进行比较,如,当时, AB;当时, AB,以此类推。当且仅当 ,,, 时, A=B。此时输出。 芯片中 I 为使能端控制输出的有效性。 用 74LS85实现密码锁逻辑原理图: 下图为 74LS85的功能表: 3、真值表 设置密码锁的密码为则,由原理图可知,使用异或门逻辑与使用数值比较器 CT74LS85所设计的电路实现相同的功能,故两者真值表均相同,为: E 0 1  A B C D Y W * * * * 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 4、电路图: 5、VHDL仿真 TITLE Top-level file for the 7485 macrofunction. Chooses a device-family optimized implementation.; FUNCTION p7485 (a[3..0], b[3..0], agbi, albi, aebi) RETURNS (agbo, albo, aebo); FUNCTION f7485 (a[3..0], b[3..0], agbi, albi, aebi) RETURNS (agbo, albo, aebo); PARAMETERS ( DEVICE_FAMILY ); INCLUDE aglobal.inc; SUBDESIGN 7485 ( a[3..0] b[3..0] agbi albi aebi agbo albo aebo  : INPUT = VCC; : INPUT = VCC; : INPUT = VCC; : INPUT = VCC; : INPUT = VCC; : OUTPUT; : OUTPUT; : OUTPUT; ) VARIABLE IF (FAMILY_FLEX() == 1) GENERATE sub : f7485; ELSE GENERATE sub : p7485; END GENERATE; BEGIN IF (USED(a0)) GENERATE sub.a0 = a0; END GENERATE; IF (USED(a1)) GENERATE sub.a1 = a1; END GENERATE; IF (USED(a2)) GENERATE sub.a2 = a2; END GENERATE; IF (USED(a3)) GENERATE sub.a3 = a3; END GENERATE; IF (USED(b0)) GENERATE sub.b0 = b0; END GENERATE; IF (USED(b1)) GENERATE sub.b1 = b1; END GENERATE; IF (USED(b2)) GENERATE sub.b2 = b2; END GENERATE; IF (USED(b3)) GENERATE sub.b3 = b3; END GENERATE; IF (USED(agbi)) GENERATE sub.agbi = agbi; END GENERATE; IF (USED(albi)) GENERATE sub.albi = albi; END GENERATE; IF (USED(aebi)) GENERATE sub.aebi = aebi

文档评论(0)

153****3726 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档