基于CPLD数字锁.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CPLD设计的数字锁 EDA技术作为现代电子技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试。 一、总体设计思路 关于这个课题,我们把逻辑功能划分为两个大的模块:控制部分和处理部分。控制模块是整个系统的控制核心 ,负责接收其模块传来的输入信号 ,再根据系统的功能产生相应的控制信号送到相关的模块。密码预先存入寄存器中,开锁时,输入密码存入另一寄存器中,当按下“确定”键时,启动比较器,比较两个寄存器中的内容,当结果相同时=1,LT绿灯亮,并开锁;当结果不同时=0,LF红灯亮,不开锁。用户需要修改密码时,先开锁,再按“设定密码”,清除预先存入的密码,通过键盘输入新的2位十进制, 二、单元模块设计 2.1 消除抖动模块 我们使用的按键机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,。这是一个很重要的时间参数,在很多场合都要用到。 程序如下: LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; USE ieee.std_logic_unsigned.ALL; LIBRARY altera; USE altera.maxplus2.ALL; ENTITY xiaodou IS PORT ( CLK,B_IN : IN STD_LOGIC; B_OUT : OUT STD_LOGIC ); END ; ARCHITECTURE a OF xiaodou IS signal Vcc, INV_B : std_logic ; signal A0, A1 : std_logic ; signal B0, B1 : std_logic ; BEGIN Vcc = 1 ; INV_B = not B_IN ; dff1 : dff PORT MAP (d =Vcc , q = A0 , clk = CLK, prn = Vcc, clrn = INV_B ); dff2 : dff PORT MAP (d =Vcc , q = A1 , clk = CLK, prn = Vcc, clrn = INV_B ); process (CLK) begin if CLKEVENT and CLK=1 then B0 = not A1; B1 = B0; end if ; end process ; B_OUT = not (B1 and not B0); END ; 消抖电路的仿真波形图: 2.2 键盘扫描模块 我们在键盘的四列输入口中输入一个低电平时钟扫描,当有按键被打下时,对应的行被键接通也呈现低电平状态,然后将此输入输出信号输出到键盘编码就可以进行键盘按键识别了。键盘扫描封装图如下: 该模块程序如下: LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY SAOMIAO IS PORT ( CLK : IN STD_LOGIC ; CLK_SAOMIAO : OUT STD_LOGIC_VECTOR (4 downto 1) ); END ; ARCHITECTURE a OF SAOMIAO IS Signal M : STD_LOGIC_VECTOR(2 DOWNTO 1); SIGNAL N: STD_LOGIC_VECTOR(4 DOWNTO 1); Begin PROCESS (CLK) Begin IF C

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档