EDA 课程设计报告 - 电子密码锁设计实验一、设计说明:本实验中说要求设计的电子密码锁密码为 4 位,由三大部分组成,每一部分又包含了若干子电路,将各电路组合起来,就构成了一个整体
1、矩阵键盘接口电路设计由于硬件电路没有提供该矩阵键盘,用开关代替该部分电路
2、密码锁的控制电路设计3、输出七段显示电路的设计4、密码锁功能说明:①、数据输入:每按一个数字键,就输入一个数值,并在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一个数字位置
②、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”
③ 、密码更 改 :按下此键时 将目 前的数字设定 成新 的密码
④ 、激 活 电锁:按下此键可将密码锁上锁
⑤ 、解 除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁
二、硬件说明本设计所需的硬件主要有:矩阵键盘、七段译码器、发光二极管(用来模拟电子锁,红灯亮为加锁,绿灯亮为解 锁)、EPM7128LC84-6 适配器
注:实际使用的为 EDA 试验箱,没有矩阵键盘,没有七段译码器,有发光二极管,仅有红色,芯片为EPM7128LC84-15
三、设计内容程序包括六个逻辑元件,分别为:数字按键输入、控制功能按键输入、时 钟分频器、处理核心、输出处理、七段译码器
1、数字按键输入逻辑 - numinput说明:读取数字键 0~9
高电平表示按键未按下,低电平表示按键按下
按照0~9 顺序读取,只能输出1 位数字
输出 4 位二进制代码,“0000”~“1001”表示 0~9,用“1010”表示无输入
代码:library ieee;use ieee
std_logic_1164
all;entity numinput isport(numin:IN std_logic_vector(9 downto 0);numstate,clk:IN std_lo