77范文网 - 专业文章范例文档资料分享平台

EDA4位密码锁的课程设计

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

完整版的EDA课程设计

信息技术学院

综合设计报告书

姓 名: 景显冬 班 级: B1106 学 号: 04 时 间: 2013.12.31 指导教师: 李海成

《可编程逻辑器件原理及应用》课程

完整版的EDA课程设计

设计密码锁设计

题目数据输入:每按一个数字键,就输入一个数值,并在显示器上的最右方显示出该 数值,并将先前已经输入的数据依序左移一个数字位置。 数码清除:按下此键可清除前面所有的输入值,清除成为“0000” 。 密码更改:按下此键时将目前的数字设定成新的密码。 激活电锁:按下此键可将密码锁上锁。 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。

设 计 要 求 和 任 务

完整版的EDA课程设计

设计方案本系统采用模块化的设计, 整个系统分为数字按键输入、 时钟输入、 功能按键输入、数字译码块、功能译码模块、核心处理模块、输出处理 模块、显示译码电路八个模块。整体电路如图1.1所示。数 字 按 键 输 入 时 钟 模 块 功 能 按 键 输 入

设

数 字 译 码 模 块 功 能 译 码 模 块

核 心 处 理 模 块

输 出 处 理 模 块

显 示 译 码 电 路

计

过

图1.1 数字密码锁总方框图

程

硬件电路的设计4 位数字密码锁包括五个基本逻辑模块,分别为:数字按键输入模 块(numinput) 、功能按键输入模块(funcinput) 、核心处理模块(core) 、 输出处理模块(allout) 、七段译码器模块(dataout) 。

数字按键输入--numinput说明: 读取数字键 0~9。 按键为矩阵形式, 高电平表示按键未按下, 低电平表示按键按下。 经数字按键输入模块处理后输出 4 位二进制代码, “0000”~“1001”分别表示 0~9,用“1010”表示其他无效输入。如 表 2.1 所示。

完整版的EDA课程设计

表 2.1 数字按键输入模块(numinput)的数据输入输出 按键数字 0 1 2 3 4 5 按键扫描输出 11011110 01111101 01111110 10110111 10111011 10111101 10111110 11010111 11011011 11011101 其他 Numinput 二进制输出 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 对应十进制数字 0 1 2 3 4 5 6 7 8 9 10

设

6 7 8 9

计

其他按键

(1)numinput--数字按键输入模块程序: library ieee; use ieee.std_logic_1164.all;

过

entity numinput is port(numin numstate,clk numout :IN std_logic_vector(7 downto 0); :IN std_logic; :OUT std_logic_vector(3 downto 0));

程

end numinput; architecture one of numinput is signal state signal mem begin process(clk) begin if clk'event and clk='1' then :std_logic; :std_logic_vector(7 downto 0);

完整版的EDA课程设计

if state/=numstate then if mem/=numin then case numin is when "11011110" => numout<="0000";---"0" when "01111101" => numout<="0001";---"1" when "01111110" => numout<="0010";---"2" when "10110111" => numout<="0011";---"3" when "10111011" => numout<="0100";---"4"

设

when "10111101" => numout<="0101";---"5" when "10111110" => numout<="0110";---"

6" when "11010111" => numout<="0111";---"7" when "11011011" => numout<="1000";---"8"

计

when "11011101" => numout<="1001";---"9" when others => numout<="1010"; end case; state<=numstate;

过end if;

else numout<="1010";

mem<=numin; end if;

程

end if; end process; end one; (2)数字按键输入模块仿真图:

完整版的EDA课程设计

设图 2.1 数字按键输入模块仿真图

由 图 可 知 , 当 数 字 按 键 输 入 模 块 的 输 入 依 次 为 "11011110" 、

计

"01111101" 、 "01111110" 、 "10110111" 、 "10111011" 、 "10111101" 、 "10111110"、"11010111"、"11011011"、"11011101"时,numout 输出依次 输出 “0000” 、 “0001” 、 “0010” 、 “0011” 、 “0100” 、 “0101” 、 “0110” 、 “0111” 、 “1000”“1001” 、 ;当为其他按键输入时,numout 输出均为“1010” 。

过(3)数字按键输入--numinput 符号文件:

程

图 2.2 数字按键输入--numinput 符号文件

功能按键输入模块 -- funcinput读取矩阵按键区控制功能按键 -— 清除键、改密键、上锁键、解锁键。 高电平表示按键未按下,低电平表示按键按下。按照“清除,改

完整版的EDA课程设计

密,上锁,解锁”顺序读取按键时,只能输出一位控制信号。输出 的信号为 3 位二进制代码, “001”~“100” ,依次表示“清除按键、改 密按键、上锁,解锁” ,用“000”表示输入不为功能按键信号。表 2.2 控制功能按键输入模块(funcinput)的输出输入数据 功能按键 功能按键扫描输出 Funcinput 二进制输 出 清除键 改密键 对应十进制数字

11100111 11101101 11101110 11101011其他

001 010 011 100 000

1 2 3 4 0

设

上锁键 解锁键 其他按键

计

(1)Funcinput--功能按键输入模块程序: library ieee; use ieee.std_logic_1164.all; entity funcinput is

过

port( funcin: constate,clk:

IN std_logic_vector(7 downto 0); IN std_logic;

conout:OUT std_logic_vector(2 downto 0)); end funcinput;

程

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说公务员考试EDA4位密码锁的课程设计在线全文阅读。

EDA4位密码锁的课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/gongwuyuan/1247880.html(转载请注明文章来源)

相关推荐:

Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: