基于FPGA的数字密码锁电路Verilog代码Quartus仿真

名称:基于FPGA的数字密码锁电路Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

数字密码锁电路的设计

1.设计任务:设计并制作数字密码锁电路

2.设计要求

1.用EDA实训仪的I/设备和PLD志片实现故字密码锁电路的设计  

2.数字码锁具有8只输入数字,用EDA实仪上的电平开关作为8位数字输入的组合

3.当输入的数字符合电路中设定的数字时(和密码对)在EDA实训仪上用一只八段

数码管显示0表示输入整砂正确,如果输入的密码是错误的,则显示F

4.数字码锁又能允许接收三次错误的密码数字输入,超过三次的错误密码数字后电路不再接牧密码数字入,并用喇叭发出报警音响

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Vwf文件

7. 仿真图

部分代码展示:

module mimasuo(
input clk,//时钟
input reset,//复位,按下低电平
input key_0_in,//数字按键0~7
input key_1_in,//数字按键0~7
input key_2_in,//数字按键0~7
input key_3_in,//数字按键0~7
input key_4_in,//数字按键0~7
input key_5_in,//数字按键0~7
input key_6_in,//数字按键0~7
input key_7_in,//数字按键0~7
input confirm_key,//确认按键,代表密码输入完成,按下低电平
output bell,//报警
//结果在数码管中显示
output [3:0] segment//数码管
);
wire key_0;
wire key_1;
wire key_2;
wire key_3;
wire key_4;
wire key_5;
wire key_6;
wire key_7;
wire confirm;
wire pass_or_not;//1表示正确,0表示错误
//输入按键消抖
key_jitter i0_key_jitter(
. clkin(clk),     
. key_in(key_0_in),//输入
. key_negedge(key_0)//消抖后按键
);
key_jitter i1_key_jitter(
. clkin(clk),     
. key_in(key_1_in),//输入
. key_negedge(key_1)//消抖后按键
);
key_jitter i2_key_jitter(
. clkin(clk),     
. key_in(key_2_in),//输入
. key_negedge(key_2)//消抖后按键
);
key_jitter i3_key_jitter(
. clkin(clk),     
. key_in(key_3_in),//输入
. key_negedge(key_3)//消抖后按键
);
key_jitter i4_key_jitter(
. clkin(clk),     
. key_in(key_4_in),//输入
. key_negedge(key_4)//消抖后按键
);
key_jitter i5_key_jitter(
. clkin(clk),     
. key_in(key_5_in),//输入
. key_negedge(key_5)//消抖后按键
);
key_jitter i6_key_jitter(
. clkin(clk),     
. key_in(key_6_in),//输入
. key_negedge(key_6)//消抖后按键
);
源代码

 扫描文章末尾的公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/321125.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上证50etf期权到底该怎么玩?

今天期权懂带你了解上证50etf期权到底该怎么玩?ETF期权是一种股票市场上的金融衍生品,它是在交易所上市交易的期权合约,其标的资产是某个特定的交易所交易基金(ETF),如上证50指数ETF或沪深300指数ETF等。 上…

Docker搭建LNMP+Wordpress

目录 一.项目模拟 1.项目环境 2.服务器环境 3.任务需求 (1)使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台 (2)限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap (3)限制 Mysql 容器写 /d…

期权买方要保证金吗?期权交易保证金怎么计算?

今天期权懂带你了解期权买方要保证金吗?期权交易保证金怎么计算?期权保证金其实就是你在购买期权合约时,作为卖方要付出的那一小笔钱。简单说,就是为了防止你违约,给交易双方一个保障的“小押金”。 期权买方要保证金吗…

渗透测试流程

一、攻击流程 信息收集阶段→漏洞分析阶段→攻击阶段→后渗透阶段 二、信息收集 1、收集内容: IP资源:真实IP获取、旁站信息收集、C段主机信息收集域名发现:子域名信息收集、子域名枚举发现子域名、搜索引擎发现子域名、第三方聚合服务器发…

TCP经典异常问题探讨与解决

作者:kernelxing TCP的经典异常问题无非就是丢包和连接中断,在这里我打算与各位聊一聊TCP的RST到底是什么?现网中的RST问题有哪些模样?我们如何去应对、解决?本文将从RST原理、排查手段、现网痛难点案例三个板块自上而…

sprig 项目启动时报错:MybatisDependsonDatabaseInitializationDetector

问题 使用application.yml启动项目报错: 解决方案 修改pom.xml: 修改这两处的版本

Linux提示:mount: 未知的文件系统类型“ntfs”

mount: 未知的文件系统类型“ntfs” 在Linux系统中,如果遇到“mount: 未知的文件系统类型‘ntfs’”的错误,这通常意味着您的系统没有安装支持NTFS文件系统的软件。为了挂载NTFS文件系统,您需要安装ntfs-3g软件包。以下是如何在不同Linux发行…

28.leetcode---前K个高频单词(Java版)

题目链接: https://leetcode.cn/problems/top-k-frequent-words/description/ 题解: 代码: 测试:

自动化运维管理工具----------Ansible模块详细解读

目录 一、自动化运维工具有哪些? 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …

shell脚本编写-测试同一网段内主机是否在线

除了可以使用ansible自动化运维工具判断主机是否在线以外,还可以通过编写Shell脚本来实现。 1、编写脚本 #! /bin/bash #测试192.168.81.0/24网段中哪些主机处于开机状态,哪些主机处于关机状态# #方法一:使用for循环判断 # for i in {1..25…

golang for经典练习 金字塔打印 示例 支持控制台输入要打印的层数

go语言中最经典的for练习程序 金字塔打印 &#xff0c;这也是其他语言中学习循环和条件算法最为经典的联系题。 其核心算法是如何控制内层循环变量j 每行打印的*号数量 j<i*2-1 和空格数量 j1 || j i*2-1 golang中实现实心金字塔 Solid Pyramid和空心金字塔 Hollow Pyram…

如何根据IP获取国家省份城市名称PHP免费版

最近项目遇到需要根据IP获取用户国家功能需求&#xff0c;网上找了一下&#xff0c;很多API接口都需要付费&#xff0c;考虑为公司节约成本&#xff0c;就取找找有没有开源的 github 上面那个包含多种语言&#xff0c;下面这个只有php&#xff0c;用法很简单 $ip 114.114.114…

华为eNSP中型企业局域网网络规划设计(下)

→b站传送门&#xff0c;感谢大佬← →华为eNSP中型企业局域网网络规划设计&#xff08;上&#xff09;← →拓扑图传送门&#xff0c;可以自己配置着玩← 配置ospf AR3 [AR3]ospf 1 router-id 3.3.3.3 //出口默认路由 [AR3-ospf-1]default-route-advertise always #area…

CVE-2019-19945漏洞复现 Openwrt针对uhttpd漏洞利用

根据官方漏洞的文档&#xff0c;该漏洞的复现工作我会基于openwrt的18.06.4这个版本进行测试。我选取的环境是渗透测试常用的kali-Linux系统&#xff0c;然后在其中搭建docker环境来完成相应的实验环境的部署。我通过这个核心命令获取docker环境&#xff1a; sudo docker impo…

GDPU 天码行空11

&#xff08;一&#xff09;实验目的 1、掌握JAVA中IO中各种类及其构造方法&#xff1b; 2、重点掌握IO中类所具有的IO操作方法&#xff1b; 3、熟悉软件中登录模块的开发方法&#xff1b; 4、掌握IO中读写常用方法。 5、进一步熟悉正则规则的使用方法。 &#xff08;二&…

Git可视化工具tortoisegit 的下载与使用

一、tortoisegit 介绍 TortoiseGit 是一个非常实用的版本控制工具&#xff0c;主要用于与 Git 版本控制系统配合使用。 它的主要特点包括&#xff1a; 图形化界面&#xff1a;提供了直观、方便的操作界面&#xff0c;让用户更易于理解和管理版本控制。与 Windows 资源管理器…

纯血鸿蒙APP实战开发——折叠屏扫描二维码方案

折叠屏扫描二维码方案 介绍 本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan&#xff0c;其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusCha…

嵌入式C语言教程:实现声音监测系统

声音监测在许多应用中都十分重要&#xff0c;如噪声控制、安全系统、和智能家居控制。 本教程将介绍如何在STM32微控制器上使用模数转换器&#xff08;ADC&#xff09;和声音传感器实现实时声音监测系统。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32F746NG&…

ECHARTS学习

坐标轴 option {xAxis: {type: category,data: [A, B, C]},yAxis: {type: value},series: [{data: [120, 200, 150],type: line}] }; 1、坐标轴的默认类型type是数值型&#xff0c;而xAxis指定了类目型的data&#xff0c;所以Echarts也能识别出这是类目型的坐标轴&#xff0c;…

使用Matplotlib库绘制了一个图形

前言 本文学习的用Matplotlib绘制一个正弦函数曲线&#xff0c;大家跟我来 第一步&#xff1a;编辑代码 import numpy as np import matplotlib.pyplot as plt xnp.linspace(0,10,1000) #用NumPy中的linspace函数生成一个包含1000个在0到10之间均匀分布的数值的数组&#xf…