EDA课程电子密码锁的设计Quartus版(2)

2018-11-27 20:03

图5.1.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 M'EVENT 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 q:=(others=>'0'); ELSE

if clk'event and clk='1' then q(3):=q(2); q(2):=q(1); q(1):=q(0); q(0):=din;

END IF;

END IF; qout<=q; END PROCESS; END architecture act;

5.2 控制模块

1)功能介绍

开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。按下REST可清除前面的输入值,清除为“888”。

2)控制模块与仿真图形 输入译码器图5.2.1,如下图

图5.2.2

上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示 0~9。

表5-2输入译码的真值表

输入 输出

D C B A Y1 Y2 Y3 Y4 字形 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 2 0 0 1 1 0 0 1 1 3 0 1 0 0 0 1 0 0 4 0 1 0 1 0 1 0 1 5 0 1 1 0 0 1 1 0 6 0 1 1 1 0 1 1 1 7 1 0 0 0 1 0 0 0 8 1 0 0 1 1 0 0 1 9

表5-2

总功能控制模块图5.2.3,如下图

图5.2.3

当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen为低电平,而lockclose为高电平。

4选1选择器与扫描器图5.2.4,如下图


EDA课程电子密码锁的设计Quartus版(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2023年中国氢氧化铝阻燃剂产业市场运行及产业发展趋势研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: