数电实验:密码保险箱

article/2025/3/21 0:56:28

1.设计理念
在这里插入图片描述
通过拨动开关输入由四位二进制表示的密码,然后按键确认输入并校验。
如果校验通过,则led不亮,数码led显示0提示开锁。
如果校验失败,则数码led不亮,led全亮,启动报警,直到输入正确密码并再次确认校验成功后,led灭,数码led显示0提示开锁。

安全性:

  • 开锁成功或失败提示明显;
  • 密码组合一共16种供选择。但一旦输入错误便进入报警模式;
  • 需要确认输入,避免意外误触;

视频见附件。

2.代码
(1) my_codelock.v

module my_codelock(seg_led,										//数码led_state,key_confirm,sw_input,		//led,开关,按键clk,rst										//消抖需要的输入);input key_confirm;												//按键=确认input [3:0] sw_input;											//拨动开关=输入密码output [7:0] led_state;reg [7:0] led_state;												//led表示状态reg [8:0] seg_led;output [8:0] seg_led;											//数码管提示正确打开	input clk,rst;	always@(*)beginseg_led=9'h00;if (key_confirm==0)begin										//当按下确认开始校对if (sw_input==4'b0101) beginled_state=8'b1111_1111;										//如果密码正确,那就不亮led亮数码板seg_led=9'h3f;										endelse beginled_state=8'b0000_0000;endendenddebounce  u1 (                               .clk (clk),.rst (rst),.key (key_confirm),.key_pulse ());endmodule

(1) debounce.v

module debounce (clk,rst,key,key_pulse);parameter       N  =  1;                      //要消除的按键的数量input             clk;input             rst;input 	[N-1:0]   key;                        //输入的按键					output  [N-1:0]   key_pulse;                  //按键动作产生的脉冲	reg     [N-1:0]   key_rst_pre;                //定义一个寄存器型变量存储上一个触发时的按键值reg     [N-1:0]   key_rst;                    //定义一个寄存器变量储存储当前时刻触发的按键值wire    [N-1:0]   key_edge;                   //检测到按键由高到低变化是产生一个高脉冲//利用非阻塞赋值特点,将两个时钟触发时按键状态存储在两个寄存器变量中always @(posedge clk  or  negedge rst)beginif (!rst) beginkey_rst <= {N{1'b1}};                //初始化时给key_rst赋值全为1,{}中表示N个1key_rst_pre <= {N{1'b1}};endelse beginkey_rst <= key;                     //第一个时钟上升沿触发之后key的值赋给key_rst,同时key_rst的值赋给key_rst_prekey_rst_pre <= key_rst;             //非阻塞赋值。相当于经过两个时钟触发,key_rst存储的是当前时刻key的值,key_rst_pre存储的是前一个时钟的key的值end    endassign  key_edge = key_rst_pre & (~key_rst);//脉冲边沿检测。当key检测到下降沿时,key_edge产生一个时钟周期的高电平reg	[17:0]	  cnt;                       //产生延时所用的计数器,系统时钟12MHz,要延时20ms左右时间,至少需要18位计数器     //产生20ms延时,当检测到key_edge有效是计数器清零开始计数always @(posedge clk or negedge rst)beginif(!rst)cnt <= 18'h0;else if(key_edge)cnt <= 18'h0;elsecnt <= cnt + 1'h1;end  reg     [N-1:0]   key_sec_pre;                //延时后检测电平寄存器变量reg     [N-1:0]   key_sec;                    //延时后检测key,如果按键状态变低产生一个时钟的高脉冲。如果按键状态是高的话说明按键无效always @(posedge clk  or  negedge rst)beginif (!rst) key_sec <= {N{1'b1}};                else if (cnt==18'h3ffff)key_sec <= key;  endalways @(posedge clk  or  negedge rst)beginif (!rst)key_sec_pre <= {N{1'b1}};else                   key_sec_pre <= key_sec;             end      assign  key_pulse = key_sec_pre & (~key_sec);     endmodule

3.RTL电路
在这里插入图片描述


http://chatgpt.dhexx.cn/article/eCW6V1Dm.shtml

相关文章

数电模电EDA系统实验箱QY-JXSY11

一、装置简介 QY-JXSY11数电模电EDA综合实验系统实验箱采用主板和各模块分离的设计,可编程器件焊接在独立模块上。通过选择模块来达到使用不同的可编程器件,适应不同的教学需要,系统功能和规模扩展方便。实验装置主板上各部分功能模块(功能模块和实验小工具)相互独立的,可…

数电实验箱的入门介绍

数电实验箱介绍 数电实验箱介绍 数码管芯片组LED显示器高低电平输出端模拟开关脉冲输出点阵 本人在刚刚接触实验箱时一脸懵逼&#xff0c;到快最后结束的时候已经可以帮其他人一节课内做完一个学期的有关实验箱的实验了。学期中遇到了一个被实验箱吓倒的师妹&#xff0c;在这…

数字电路实验箱QY-JXSY01C

一、QY-JXSY01C数字电路实验箱简介 1、实验板 (1)母板采用2mm厚印制线路板制成,正面印有连线、字符等,反面是相应的印刷线路及有关元器件等。 (2)母板上设有若干个高可靠的圆脚集成块插座(8P、14P、16P、20P、28P、及40P)及60多根高可靠的镀银长紫铜管,供插电阻、电容…

交换机的基本配置与管理

任务1. 认识Packet Tracer软件 Packet Tracher介绍 Packet Tracer是Cisco公司针对CCNA认证开发的一个用来设计、配置和故障排除网络的模拟软件。Packer Tracer模拟器软件比Boson功能强大&#xff0c;比Dynamips操作简单&#xff0c;非常适合网络设备初学者使用。 学习任务 …

1.思科交换机的基本配置练习题

题目链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1ck0_XHb208h7UY_HaVsJoA?pwdv8dn 提取码&#xff1a;v8dn 目录 交换机的基本配置——2.1.4.8 一、拓扑截图 二、实验内容 第 1 部分&#xff1a;基本连接、访问 CLI 和探索帮助功能 第 2 部分&#xff…

交换机与路由器技术-03-交换机基本配置

目录 一、进入设备的命令行界面 1.1 设备是否支持命令行 1.2 超级终端软件进行连接 二、思科设备命令行基础 2.1 四种模式的作用 2.2 模式之间的切换 三、常见配置 3.1 配置主机名 3.2 查看交换机MAC地址表 3.3 交换机的双工模式 3.4 查看接口信息 3.5 交换机的接口…

二、交换机的基本配置及管理

实验目标&#xff1a; 掌握交换机基本信息的配置管理 技术原理&#xff1a; 交换机管理方式基本分为两种&#xff1a; 1. 带内管理&#xff1a; 通过Telnet、拨号等方式属于带内管理 2. 带外管理&#xff1a; 通过交换机的Console端口管理交换机属于带外管理&#xff0c;这种管…

实验二:交换机基本配置

交换机基本配置 1、实验目的 &#xff08;1&#xff09;掌握使用交换机基本登陆方式 &#xff08;2&#xff09;掌握基本操作命令 2、实验内容 &#xff08;2&#xff09;&#xff08;超级终端&#xff09;控制台、Telnet、WEB方式访问交换机 &#xff08;3&#xff09;交…

117、 交换机的基本配置方法

(一)以太网交换机基础 以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。所以每当某台计算机占有电缆时,其他计算机都只能等待。这种传统的共享以太网极大的受到计算机数量的影响。为了解决上述问题,我们可以做到的是减少冲突域中的主机数…

交换机的基本交换配置

交换机的基本交换配置 ​ 首先用随机带的反转配置线连接交换机的CONSOLE口和PC的串口&#xff0c;用超级终端登陆交换机。 1. 配置交换机的主机名。 设置方法和路由器基本相同。设置主机名为&#xff1a;1900A ​ Switch >enable //进入特权模式&#xff1b; ​ Switch&…

交换机基本配置及VLAN配置

【实验任务】 1. 了解实验室的配置和设备连接方法。 2. 熟练掌握交换机的登录、交换机命令行各种操作模式、区别以及模式之间的切换。 3. 了解、掌握交换机基本命令的操作。 4. 熟练掌握单交换机的VLAN配置。 5. 掌握多交换机的VLAN配置。 【实验须知】 1&#xff0e; 实…

交换机的基本配置和VLAN配置

实验五 交换机的基本配置 1实验目的 (1)了解多种品牌及多种系列的交换机,如Cisco、H3C锐捷(本实验将以锐捷系列交换机为例); (2)熟悉多种交换机的基本命令; (3)掌握交换机的各种参数配置、IP地址配置等;(4)掌握交换机的本地管理、远程管理方法; (5)通过对交换机的管理配置,掌握…

1 交换机的基本配置与管理

借鉴网址&#xff1a;(21条消息) Packet Tracer 思科模拟器入门教程 之二 交换机的基本配置与管理_柚子君.的博客-CSDN博客_packet tracer 交换机 姓 名 彭彭头 实验日期 2022-03-09 学 号 实验序号 2 实验名称 配置交换机 实验目的及要求目标&#xff1a; 掌握交换…

117、交换机的基本配置方法

(一)以太网交换机基础 以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。所以每当某台计算机占有电缆时,其他计算机都只能等待。这种传统的共享以太网极大的受到计算机数量的影响。为了解决上述问题,我们可以做到的是减少冲突域中的主机数量…

交换机的基本配置实验报告

实验三 交换机的基本配置&#xff08;2学时&#xff09; 一、实验目的与要求 学习交换机的配置&#xff0c;熟练进行交换机的配置操作。 二、任务描述 交换机的基本配置主要有&#xff1a;给设备命名、登录信息、设置特权密码、VTY密码及Telnet管理、端口配置等。网络拓扑结果…

交换机基础配置

目录 简述 实验 实验步骤 建立实验拓扑 设置编址 检测链路连通性 交换机双工模式配置 自协商模式 非自协商模式 交换机接口速率配置 自协商模式 非自协商模式 简述 交换机(Switch)也称为交换式集线器&#xff0c;其工作在 OSI第二层(数据储路层)上&#xff0c;基于…

小案例:利用Python实现图片上下、左右翻转

一、前言需求&#xff1a; 对图片进行操作&#xff0c;使图片上下、左右翻转 二、函数库&#xff1a; 使用Pillow模块提供的transpose()方法可以让图像翻转&#xff0c;上下翻转&#xff0c;或者左右翻转 三、操作说明&#xff1a; 原图如下&#xff1a; 图片上下翻转代码…

python图片处理Image和skimage的不同

做cnn的难免要做大量的图片处理。由于接手项目时间不长&#xff0c;且是新项目&#xff0c;前段时间写代码都很赶&#xff0c;现在稍微总结&#xff08;恩&#xff0c;总结是个好习惯&#xff09;。 1,首先安装python-Image和python-skimage、python-matplotlib。 简单代码&am…

python 批量处理图片文件(做到图片不变形)

对此次项目中主要涉及到的内容做以下说明&#xff1a; 1、需要收集大量资料&#xff08;包括收集不同信息和图片&#xff09;&#xff1b; 2、资料太多需要做同样的操作处理&#xff08;包括修改文件名和修改图片尺寸&#xff09;。 一、修改文件名 import os os.listdir …

python图片灰度化处理

今天在学习的时候&#xff0c;发现scipy.misc中的imread提取图片的方法被弃用了。太生气了&#xff01; 只好使用了matplotlib.pyplot中的imread了&#xff0c;可是当我发现他不能直接通过True来提取灰度图片时&#xff0c;我崩溃了 上网查了一下&#xff0c;了解了灰度化处理…