EDA课程设计报告_子密码锁.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计报告_子密码锁

目录 第1章 概述 2 第2章 设计要求 2 第3章 总体框图 3 第4章 功能模块 5 4.1 输入模块 5 4.2 控制模块 8 4.3 显示模块 16 第5章 总体设计电路图 18 第6章 设计心得体会 21 参考文献 23 第1章 概述 电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。 第2章 设计要求 本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。 设计所要实现的功能为: 1 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。 2 数码验证:开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。 3 错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。 4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。 5 密码清除:按下REST可清除前面的输入值,清除为“888”。 第3章 总体框图 1)设计方案: 电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。 作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。 数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。 根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图1.1所示。 图3.1电子密码锁系统总体框图 第4章 功能模块 4.1 输入模块 1)功能介绍 输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。 2)输入模块与仿真图形 单脉冲控制如图5.1如下图 图5.1 上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。 四位串行输入并行输出寄存器如下图5.2 图5.2 上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位 3)程序的输入 在文本区内输入程序,程序如下: 单脉冲信号控制 puls.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY puls IS PORT (PUL,M:IN STD_LOGIC; Q:OUT STD_LOGIC); END puls; ARCHITECTURE BEHAVE OF puls IS SIGNAL TEMP:STD_LOGIC; BEGIN PROCESS(M) BEGIN IF MEVENT AND M=1 THEN IF PUL=1 THEN TEMP=1; ELSE TEMP=0; END IF; END IF; END PROCESS; Q=TEMP; END BEHAVE; 4位串行输入并行输出寄存器 shifter.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY shifter IS PORT (din:IN STD_LOGIC; reset,CLK: IN STD_LOGIC; qout: buffer STD_LOGIC_VECTOR(0 TO 3) ); END shifter; ARCHITECTURE act OF shifter IS BEGIN PROCESS(CLK) VARIABLE q:STD_LOGIC_VECTOR(0 TO 3); BEGIN IF reset=0 THEN

文档评论(0)

xciqshic + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档